A quick orientation to the C API. The full reference — every file, struct, function and macro — is under Files and Data Structures.
The application is deliberately tiny: it wires the ESP32-S3 HAL port into the finite state machine and then ticks it forever.
{
while (1) {
}
}
SPP_RetVal_t FSM_init(const FSM_Transition_t *p_transitionTable, const spp_uint8_t tableSize)
Initialize the FSM.
void FSM_tick(void)
Evaluate the transition table and advance the FSM if a guard passes. Call this once per superloop tic...
const SPP_HalPort_t * SPP_PORTS_ESP32S3_getHalPorts(void)
Returns a pointer to the ESP32-S3 HAL port descriptor.
Ports struct that contains all the pointers to the Ports functions.
Everything else — sensor sampling, packet routing, logging, downlink — is driven from the FSM (fsm.h) through the publish/subscribe core (pubsub.h).