![]() |
F´ Flight Software - C/C++ Documentation
devel
A framework for building embedded system applications to NASA flight quality standards.
|
AMPCSSequence
is a derived class of CmdSequencer::Sequence
. It loads, validates, and runs AMPCS-compatible sequence files.
A sequence file consists of a 32-bit sequence header followed by up to 32,768 bytes of record data.
The record data consists of zero or more records. Each record has the following format:
Record Field | Size in Bytes | Description |
---|---|---|
Time Flag | 1 | Either 0x0 denoting absolute time or 0xFF denoting relative time |
Time | 4 | The time in seconds |
CMD Length | 2 | The size in bytes of the Command field |
Command | < 1017 | A serialized command in F Prime format, with a 16-bit opcode |
The AMPCSSequence
class implements the virtual functions of CmdSequencer::Sequence
as follows.
.CRC32
.m_header
as follows:m_fileSize
: The size of the command record data, computed in item 2 above.m_numRecords
: Count the records when validating them.m_timeBase
: Use 0xFFFF (don't care).m_timeContext
: Use 0xFF (don't care).Return true
if and only if B has more data.
Deserialize and return the next record stored in the serial buffer. The deserialized record contains the following binary data in its argument field:
Field | Size in Bytes | Value |
---|---|---|
Packet Descriptor | 4 | Fw::ComPacket::FW_PACKET_COMMAND |
Opcode | 4 | The opcode stored in bytes 0-1 of the serial record, zero-extended to four bytes |
Arguments | Variable | Bytes 2-end of the serial record |
Reset B for deserialization.
Reset B for serialization.