Files
fprime/FppTest/state_machine/SmTest.cpp
M Starch a049743e07 Removing component init() functions where unneeded (#2893)
* Removing component init() functions where unneeded

* Removing spurious assert
2024-09-23 18:39:00 -07:00

102 lines
3.2 KiB
C++

// ======================================================================
// \title SmTest.cpp
// \author watney
// \brief hpp file for SmTest component implementation class
// ======================================================================
#include <cstdio>
#include "FppTest/state_machine/SmTest.hpp"
#include "Fw/Types/Assert.hpp"
namespace FppTest {
// ----------------------------------------------------------------------
// Construction, initialization, and destruction
// ----------------------------------------------------------------------
SmTest::SmTest(const char* const compName):
SmTestComponentBase(compName) {}
SmTest ::~SmTest() {}
// ----------------------------------------------------------------------
// Handler implementations for user-defined typed input ports
// ----------------------------------------------------------------------
void SmTest::schedIn_handler(const NATIVE_INT_TYPE portNum, U32 context) {
Fw::SmSignalBuffer data;
device1_stateMachineInvoke(DeviceSm_Interface::DeviceSm_Signals::RTI_SIG, data);
device2_stateMachineInvoke(DeviceSm_Interface::DeviceSm_Signals::RTI_SIG, data);
device3_stateMachineInvoke(HackSm_Interface::HackSm_Signals::RTI_SIG, data);
device4_stateMachineInvoke(HackSm_Interface::HackSm_Signals::RTI_SIG, data);
device5_stateMachineInvoke(HackSm_Interface::HackSm_Signals::RTI_SIG, data);
}
//! Overflow hook for state machine device4
void SmTest::device4_stateMachineOverflowHook(
const HackSm_Interface::HackSm_Signals signal, //!< The state machine signal
const Fw::SmSignalBuffer& data //!< The state machine data
) {
}
void SmTest::DeviceSm_turnOn(const FwEnumStoreType stateMachineId) {
printf("DeviceSm turnOn for state machine %d\n", stateMachineId);
}
void SmTest::DeviceSm_turnOff(const FwEnumStoreType stateMachineId) {
printf("DeviceSm turnOff for state machine %d\n", stateMachineId);
}
void SmTest::DeviceSm_a1(
const FwEnumStoreType stateMachineId,
const DeviceSm_Signals signal,
const Fw::SmSignalBuffer& data
) {
printf("Action 1, stateMachineId = %d, signal = %d\n", stateMachineId, signal);
}
bool SmTest::DeviceSm_g1(const FwEnumStoreType stateMachineId) {
return true;
}
bool SmTest::DeviceSm_g2(
const FwEnumStoreType stateMachineId,
const DeviceSm_Signals signal,
const Fw::SmSignalBuffer& data
) {
return true;
}
void SmTest::DeviceSm_a2(const FwEnumStoreType stateMachineId) {
printf("Action 2\n");
}
void SmTest::HackSm_turnOn(const FwEnumStoreType stateMachineId) {
printf("HackSm turn on\n");
}
void SmTest::HackSm_turnOff(const FwEnumStoreType stateMachineId) {
printf("HackSm turn off\n");
}
void SmTest::HackSm_doDiag(const FwEnumStoreType stateMachineId) {
printf("HackSm do diag\n");
}
// ----------------------------------------------------------------------
// Data product handler implementations
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
// Private helper functions
// ----------------------------------------------------------------------
} // end namespace FppTest