Three decades of control software, distilled into a pattern any engineer can learn in few hours — and run anywhere from firmware to cloud.
The sensor latches for 10–20 ms. Windows can't catch it. So the team buys RTX, QNX, or VxWorks — a six-figure commitment — just to poll faster.
A three-dollar flip-flop holds the signal for 500 ms. Deterministic. Free. No kernel upgrade required — and no specialist on staff.
A sensor fired, a packet arrived, a timer expired, a user clicked, xyz motor arrived at taught location. The world pokes the program.
Wait for vacuum to build up, mechanical vibration to settle own
Move an actuator. Write a register. Publish a message. Return a value. The system acts.
Event → Delay → Action → Then Loop
— firmware.c, ViewModel.c#, or embedded.c++ Event, delay, then act while (running)
{ if (TimeOut(StepN)) break;
switch (MState)
{
case 0: // 1.EventCheck
int evnt = ModuleSteps[StepN].Event;
if (EventCheck(ModuleSteps[StepN], evnt) == true)
MState += 1;
else
Thread.Sleep(10);
break;
case 1: // 2.Delay
if ((DateTime.Now - lastRunTime).TotalSeconds >= deLay)
MState += 1;
else
Thread.Sleep(10);
break;
case 2: // 3.Action
ProcessActions(StationSteps[StepN]);
MState += 1;
break;
case 3: // Loop Back
if (Actions[actionKey].Status == ProcessStatus.Done )
MState = 0;
break;
} }
— service.py# Event, delay (normally 0), then act async def service(): while running: msg = await asyncio.wait_for( queue.get(), timeout=50) # 1. event if msg is None: await publish_heartbeat() # timeout else: { await delay(msg.dwell) # 2. delay
await dispatch(msg) # 3. action/command
}
C, C++, C#, Python, Rust, Go, TypeScript — the shape is the same. Always.
If your architecture requires a niche specialist, every departure is a crisis.
An engineer reads the model, scans the codebase, and starts working the same day. C, C++, C#, Python — same shape, same vocabulary. No six-month onboarding.
Codex DNA printer. LRAD controller. Wafer Handler. Leadframe Handler. IC packaging handler. Hardware-software integration
Same architecture. Same shape. Different domains.
"Every control problem is the same three things: an event, a wait, and an action. Make those obvious — and the rest of the system explains itself." — The Easy Real-Time Architecture
If a new engineer can read it in a single afternoon — and it still meets the timing budget — you've got the architecture.