11 #ifndef Svc_CmdSequencerImpl_HPP 12 #define Svc_CmdSequencerImpl_HPP 92 const U32 recordNumber,
267 virtual void reset() = 0;
271 virtual void clear() = 0;
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;
void setTimeout(const NATIVE_UINT_TYPE seconds)
PlatformUIntType NATIVE_UINT_TYPE
void recordMismatch(const U32 numRecords, const U32 extraBytes)
Record mismatch.
Header m_header
The sequence header.
void setSequenceFormat(Sequence &sequence)
NATIVE_INT_TYPE m_allocatorId
The allocator ID.
bool hasMoreRecords() const
Events(Sequence &sequence)
Construct an Events object.
CmdSequencerComponentImpl(const char *compName)
Construct a CmdSequencer.
bool loadFile(const Fw::StringBase &fileName)
PlatformIntType NATIVE_INT_TYPE
Fw::Time m_timeTag
The time tag. NOTE: timeBase and context not filled in.
void fileReadError()
File read error.
Enum representing a command response.
void allocateBuffer(NATIVE_INT_TYPE identifier, Fw::MemAllocator &allocator, NATIVE_UINT_TYPE bytes)
Give the sequence representation a memory buffer.
void recordInvalid(const U32 recordNumber, const I32 error)
Record invalid.
void allocateBuffer(const NATIVE_INT_TYPE identifier, Fw::MemAllocator &allocator, const NATIVE_UINT_TYPE bytes)
void setFileName(const Fw::StringBase &fileName)
Set the file name. Also sets the log file name.
SerializeStatus
forward declaration for string
U8 FwTimeContextStoreType
void timeContextMismatch(const FwTimeContextStoreType currTimeContext, const FwTimeContextStoreType seqTimeContext)
Time context mismatch.
virtual bool hasMoreRecords() const =0
Fw::ExternalSerializeBuffer m_buffer
Serialize buffer to hold the binary sequence data.
~CmdSequencerComponentImpl()
Destroy a CmdDispatcherComponentBase.
Fw::ComBuffer m_command
The command.
Fw::CmdStringArg m_fileName
The sequence file name.
Container for computed and stored CRC values.
Fw::LogStringArg m_logFileName
Copy of file name for events.
A sequence with unspecified binary format.
void timeBaseMismatch(const TimeBase currTimeBase, const TimeBase seqTimeBase)
Time base mismatch.
void deallocateBuffer(Fw::MemAllocator &allocator)
Deallocate the buffer.
void fileInvalid(const CmdSequencer_FileReadStage::t stage, const I32 error)
File invalid.
External serialize buffer with no copy semantics.
U32 m_computed
Computed CRC.
void nextRecord(Record &record)
FPrimeSequence(CmdSequencerComponentImpl &component)
Construct an FPrimeSequence.
Sequence event reporting.
void fileSizeError(const U32 size)
File size error.
Sequence(CmdSequencerComponentImpl &component)
Construct a Sequence object.
Events m_events
Event reporting.
void deallocateBuffer(Fw::MemAllocator &allocator)
Return allocated buffer. Call during shutdown.
Record()
Construct a Record object.
void init()
Initialize computed CRC.
A sequence that uses the F Prime binary format.
virtual bool loadFile(const Fw::StringBase &fileName)=0
virtual ~Sequence()
Destroy a Sequence object.
Fw::LogStringArg & getLogFileName()
Defines a file class to validate files or generate a file validator file.
void fileCRCFailure(const U32 storedCRC, const U32 computedCRC)
File CRC failure.
CmdSequencerComponentImpl & m_component
The enclosing component.
Auto-generated base for CmdSequencer component.
static Comparison compare(const Time &time1, const Time &time2)
Descriptor m_descriptor
The descriptor.
Fw::CmdStringArg & getFileName()
virtual void nextRecord(Record &record)=0
void fileNotFound()
File not found.
Defines a base class for a memory allocator for classes.
void loadSequence(const Fw::StringBase &fileName)
void update(const BYTE *buffer, NATIVE_UINT_TYPE bufferSize)
Update computed CRC.
Sequencer blocking state.
void finalize()
Finalize computed CRC.
Fw::String m_stringFileName
Copy of file name for ports.
Fw::String & getStringFileName()
const Header & getHeader() const
Get the sequence header.