2 Run states - ExpressLink

2 Run states

Although an ExpressLink module operates as a state machine that moves through a number of internal states (see figure 1 for a partial representation), its user interface is designed to abstract these details entirely. This removes all the complexity from the concern of an application or host processor.

Figure 1 - ExpressLink internal states diagram (partial)

Figure 1 - ExpressLink internal states diagram (partial)

The application or host processor is presented with a small command set that is independent from the connectivity solution offered by the specific module (Ethernet, cellular, Wi-Fi, ...).

The command interface is designed to be stateless, with all interactions initiated exclusively from the host side. When an asynchronous event occurs (a message is received or an internal error condition occurs), the ExpressLink module queues the event and flags its availability to the host. A host can choose to ignore most event notifications and only periodically poll the receive queue if desired. (See 6.1 Event handling commands.)