44 .stateFunction = NULL,
90 if (registered ==
false)
104 if (initCheck ==
false)
117 if (p_commonBit == NULL)
const SPP_SERVICE_ProducerContract_t * SPP_SERVICES_BMP390_getProducerContract(void)
BMP390 barometric pressure sensor driver and service.
CommonBitErrors_t * SPP_CORE_COMMONBIT_getBit(void)
Get the pointer to the common bit.
SPP_RetVal_t SPP_CORE_init()
Initialise the core software stack. Must be called before any other SPP function. It starts the datab...
SPP core initialisation and port registration API.
static spp_uint32_t s_busyTimeUs
static const SPP_SERVICE_ProducerContract_t * s_p_bmpProducerContract
static FsmErrors_t s_fsmErrors
static spp_bool_t guard_startInitializationOfModules(void)
static spp_bool_t CUSTOM_registerConsumerProducer(void)
Register consumers and producers.
static spp_bool_t CUSTOM_initCheck(void)
const FSM_Transition_t * CUSTOM_getFsmTable(void)
static FSM_Transition_t s_transitionTable[]
static void statefunction_bmpPerformanceLoop(void)
spp_uint16_t CUSTOM_getProcessedSamples(void)
spp_uint32_t CUSTOM_getBusyTimeUs(void)
static void action_emitTelemetry(void)
static spp_uint16_t s_processedSamples
Finite State Machine (FSM) module for the SPP core.
SPP_Packet_t * SPP_SERVICES_DATABANK_getPacket(void)
Acquire a free packet from the pool.
SPP_RetVal_t SPP_SERVICES_DATABANK_packetData(SPP_Packet_t *p_packet, spp_uint16_t apid, spp_uint16_t seq, const void *p_data, spp_uint16_t dataLen)
Fill a packet with data and compute its CRC.
Static packet pool manager.
ESP32-S3 HAL port descriptor for SPP.
This file contains the structs that contain all the pointers to the functions that are used by the SP...
APID bitmask assignments for every SPP producer.
void SPP_SERVICES_PUBSUB_callConsumers(void)
Routes all buffered packets to matching consumer mailboxes, then clears the buffer.
spp_uint8_t SPP_SERVICES_PUBSUB_queueDepth(void)
Returns the number of packets currently held in the internal FIFO buffer.
void SPP_SERVICES_PUBSUB_callProducers(void)
Calls acquireData on every registered producer.
SPP_RetVal_t SPP_SERVICES_PUBSUB_getProducerInitResult(const SPP_SERVICE_ProducerContract_t *p_producerData, SPP_RetVal_t *p_initResult)
SPP_RetVal_t SPP_SERVICES_PUBSUB_registerProducer(const SPP_SERVICE_ProducerContract_t *p_producerData, SPP_Kpid_t *p_assignedKpid)
SPP_RetVal_t SPP_SERVICES_PUBSUB_publish(SPP_Packet_t *p_pkt)
Copies a packet into the internal buffer and returns it to the databank.
Publish-subscribe packet router.
SPP_RetVal_t
Unified return type for all SPP API functions.
@ K_SPP_ERROR_NOT_INITIALIZED
SPP module descriptor and registry API.
A single row in the FSM transition table.
Describes the contract of a producer module. This module needs to have:
spp_uint32_t SPP_HAL_TIME_getTimeUs(void)
Return the current hardware time in microseconds.
SPP HAL time API — dispatches through the registered HAL port.