STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
test_sensor_state_machine.cpp File Reference
#include <unity.h>
#include <cstring>
#include <vector>
#include "DiabloEnums.h"
#include "DiabloPacketUtils.cpp"
#include "DiabloPacketUtils.h"
#include "DiabloPackets.h"
Include dependency graph for test_sensor_state_machine.cpp:

Go to the source code of this file.

Classes

struct  SensorSM::StoredConfig

Namespaces

namespace  SensorSM
 Sensor state machine unit tests.

Enumerations

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

Functions

static State SensorSM::applyPacketTransition (State state, IncomingPacketKind kind, bool necessary_for_abort, bool run_self_test)
static IncomingPacketKind SensorSM::readPacketHeader (const uint8_t *buf, size_t len)
static IncomingPacketKind SensorSM::processIncomingPacket (StoredConfig &stored_config, const uint8_t *buf, size_t len)
static daq::BoardState SensorSM::getBoardStateForHeartbeat (State state)
void test_sensor_initial_state ()
void test_sensor_config_transitions_to_active ()
void test_sensor_config_transitions_to_selftest ()
void test_sensor_heartbeat_stays_waiting ()
void test_sensor_noconn_abort_with_necessary ()
void test_sensor_noconn_abort_without_necessary ()
void test_sensor_clear_abort_returns_to_active ()
void test_sensor_clear_abort_in_active_stays ()
void test_sensor_none_packet_doesnt_transition ()
void test_sensor_process_server_heartbeat_packet ()
void test_sensor_process_sensor_config_packet ()
void test_sensor_process_sensor_config_with_abort ()
void test_sensor_process_clear_abort_packet ()
void test_sensor_process_too_short_returns_none ()
void test_sensor_heartbeat_state_mapping_table ()
void setUp ()
void tearDown ()
int main (int argc, char **argv)

Function Documentation

◆ main()

◆ setUp()

void setUp ( void )

Definition at line 346 of file test_sensor_state_machine.cpp.

◆ tearDown()

void tearDown ( void )

Definition at line 348 of file test_sensor_state_machine.cpp.

◆ test_sensor_clear_abort_in_active_stays()

void test_sensor_clear_abort_in_active_stays ( )

◆ test_sensor_clear_abort_returns_to_active()

void test_sensor_clear_abort_returns_to_active ( )

◆ test_sensor_config_transitions_to_active()

void test_sensor_config_transitions_to_active ( )

◆ test_sensor_config_transitions_to_selftest()

void test_sensor_config_transitions_to_selftest ( )

◆ test_sensor_heartbeat_state_mapping_table()

◆ test_sensor_heartbeat_stays_waiting()

void test_sensor_heartbeat_stays_waiting ( )

◆ test_sensor_initial_state()

void test_sensor_initial_state ( )

Definition at line 156 of file test_sensor_state_machine.cpp.

References SensorSM::WaitingForServer.

Referenced by main().

◆ test_sensor_noconn_abort_with_necessary()

void test_sensor_noconn_abort_with_necessary ( )

◆ test_sensor_noconn_abort_without_necessary()

void test_sensor_noconn_abort_without_necessary ( )

◆ test_sensor_none_packet_doesnt_transition()

void test_sensor_none_packet_doesnt_transition ( )

Definition at line 210 of file test_sensor_state_machine.cpp.

References SensorSM::Active, SensorSM::applyPacketTransition(), and SensorSM::None.

Referenced by main().

◆ test_sensor_process_clear_abort_packet()

void test_sensor_process_clear_abort_packet ( )

◆ test_sensor_process_sensor_config_packet()

void test_sensor_process_sensor_config_packet ( )

◆ test_sensor_process_sensor_config_with_abort()

void test_sensor_process_sensor_config_with_abort ( )

◆ test_sensor_process_server_heartbeat_packet()

void test_sensor_process_server_heartbeat_packet ( )

◆ test_sensor_process_too_short_returns_none()

void test_sensor_process_too_short_returns_none ( )

Definition at line 292 of file test_sensor_state_machine.cpp.

References SensorSM::None, and SensorSM::processIncomingPacket().

Referenced by main().