STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
SensorSM Namespace Reference

Sensor state machine unit tests. More...

Classes

struct  StoredConfig

Enumerations

enum class  State : uint8_t { WaitingForServer = 1 , Active = 2 , StandaloneAbort = 9 , SelfTest = 10 }
enum class  IncomingPacketKind {
  None , ServerHeartbeat , SensorConfig , NoConnAbort ,
  ClearAbort
}

Functions

static State applyPacketTransition (State state, IncomingPacketKind kind, bool necessary_for_abort, bool run_self_test)
static IncomingPacketKind readPacketHeader (const uint8_t *buf, size_t len)
static IncomingPacketKind processIncomingPacket (StoredConfig &stored_config, const uint8_t *buf, size_t len)
static daq::BoardState getBoardStateForHeartbeat (State state)

Detailed Description

Sensor state machine unit tests.

Tests the sensor state machine transitions, packet processing, and heartbeat state encoding.

Rather than including SensorHotfireCore.h directly (which pulls in heavy ESP32 dependencies), we extract the testable pure-logic functions here. This mirrors the approach used for the actuator tests.

Enumeration Type Documentation

◆ IncomingPacketKind

enum class SensorSM::IncomingPacketKind
strong
Enumerator
None 
ServerHeartbeat 
SensorConfig 
NoConnAbort 
ClearAbort 

Definition at line 36 of file test_sensor_state_machine.cpp.

◆ State

enum class SensorSM::State : uint8_t
strong
Enumerator
WaitingForServer 
Active 
StandaloneAbort 
SelfTest 

Definition at line 29 of file test_sensor_state_machine.cpp.

Function Documentation

◆ applyPacketTransition()

◆ getBoardStateForHeartbeat()

daq::BoardState SensorSM::getBoardStateForHeartbeat ( State state)
static

◆ processIncomingPacket()

◆ readPacketHeader()

IncomingPacketKind SensorSM::readPacketHeader ( const uint8_t * buf,
size_t len )
static