11 #ifndef Svc_CmdSequencerImpl_HPP
12 #define Svc_CmdSequencerImpl_HPP
92 const U32 recordNumber,
310 INITIAL_COMPUTED_VALUE = 0xFFFFFFFFU
393 bool deserializeHeader();
397 bool readRecordsAndCRC();
440 bool validateRecords();
483 this->expirationTime = time;
488 this->m_state = CLEAR;
496 if (this->m_state == CLEAR) {
573 void cmdResponseIn_handler(
581 void schedIn_handler(
587 void seqRunIn_handler(
600 void seqCancelIn_handler(
612 void CS_AUTO_cmdHandler(
619 void CS_CANCEL_cmdHandler(
626 void CS_MANUAL_cmdHandler(
632 void CS_RUN_cmdHandler(
641 void CS_START_cmdHandler(
649 void CS_STEP_cmdHandler(
656 void CS_VALIDATE_cmdHandler(
666 void CS_JOIN_WAIT_cmdHandler(
684 void performCmd_Cancel();
687 void performCmd_Step();
690 void performCmd_Step_RELATIVE(
695 void performCmd_Step_ABSOLUTE(
700 void commandComplete(
705 void sequenceComplete();
735 FPrimeSequence m_FPrimeSequence;
738 Sequence *m_sequence;
744 U32 m_cancelCmdCount;
756 Sequence::Record m_record;
765 U32 m_totalExecutedCount;
768 U32 m_sequencesCompletedCount;
774 Timer m_cmdTimeoutTimer;
PlatformIntType NATIVE_INT_TYPE
PlatformUIntType NATIVE_UINT_TYPE
U8 FwTimeContextStoreType
Defines a base class for a memory allocator for classes.
Defines a file class to validate files or generate a file validator file.
Enum representing a command response.
External serialize buffer with no copy semantics.
static Comparison compare(const Time &time1, const Time &time2)
Sequencer blocking state.
Auto-generated base for CmdSequencer component.
A sequence that uses the F Prime binary format.
FPrimeSequence(CmdSequencerComponentImpl &component)
Construct an FPrimeSequence.
bool loadFile(const Fw::StringBase &fileName)
void nextRecord(Record &record)
bool hasMoreRecords() const
Sequence event reporting.
void recordMismatch(const U32 numRecords, const U32 extraBytes)
Record mismatch.
void fileNotFound()
File not found.
void timeBaseMismatch(const TimeBase currTimeBase, const TimeBase seqTimeBase)
Time base mismatch.
void fileSizeError(const U32 size)
File size error.
void fileReadError()
File read error.
void fileCRCFailure(const U32 storedCRC, const U32 computedCRC)
File CRC failure.
Events(Sequence &sequence)
Construct an Events object.
void timeContextMismatch(const FwTimeContextStoreType currTimeContext, const FwTimeContextStoreType seqTimeContext)
Time context mismatch.
void recordInvalid(const U32 recordNumber, const I32 error)
Record invalid.
void fileInvalid(const CmdSequencer_FileReadStage::t stage, const I32 error)
File invalid.
@ END_OF_SEQUENCE
end of sequence
Fw::ComBuffer m_command
The command.
Descriptor m_descriptor
The descriptor.
Record()
Construct a Record object.
Fw::Time m_timeTag
The time tag. NOTE: timeBase and context not filled in.
A sequence with unspecified binary format.
Events m_events
Event reporting.
void allocateBuffer(NATIVE_INT_TYPE identifier, Fw::MemAllocator &allocator, NATIVE_UINT_TYPE bytes)
Give the sequence representation a memory buffer.
Header m_header
The sequence header.
Fw::String & getStringFileName()
virtual bool loadFile(const Fw::StringBase &fileName)=0
Fw::CmdStringArg & getFileName()
Fw::LogStringArg m_logFileName
Copy of file name for events.
virtual void nextRecord(Record &record)=0
Fw::ExternalSerializeBuffer m_buffer
Serialize buffer to hold the binary sequence data.
void deallocateBuffer(Fw::MemAllocator &allocator)
Deallocate the buffer.
virtual bool hasMoreRecords() const =0
void setFileName(const Fw::StringBase &fileName)
Set the file name. Also sets the log file name.
CmdSequencerComponentImpl & m_component
The enclosing component.
NATIVE_INT_TYPE m_allocatorId
The allocator ID.
const Header & getHeader() const
Get the sequence header.
Fw::String m_stringFileName
Copy of file name for ports.
Fw::LogStringArg & getLogFileName()
Sequence(CmdSequencerComponentImpl &component)
Construct a Sequence object.
virtual ~Sequence()
Destroy a Sequence object.
Fw::CmdStringArg m_fileName
The sequence file name.
~CmdSequencerComponentImpl()
Destroy a CmdDispatcherComponentBase.
void deallocateBuffer(Fw::MemAllocator &allocator)
Return allocated buffer. Call during shutdown.
CmdSequencerComponentImpl(const char *compName)
Construct a CmdSequencer.
void setTimeout(const NATIVE_UINT_TYPE seconds)
void loadSequence(const Fw::StringBase &fileName)
void setSequenceFormat(Sequence &sequence)
void allocateBuffer(const NATIVE_INT_TYPE identifier, Fw::MemAllocator &allocator, const NATIVE_UINT_TYPE bytes)
SerializeStatus
forward declaration for string
Container for computed and stored CRC values.
void finalize()
Finalize computed CRC.
void init()
Initialize computed CRC.
U32 m_computed
Computed CRC.
void update(const BYTE *buffer, NATIVE_UINT_TYPE bufferSize)
Update computed CRC.