|
template<typename T1 , typename T2 > |
using | pairs_t = std::vector< std::pair< T1, T2 > > |
|
|
Packet & | getPacket () |
|
void | newPacket (const uint8_t versionNumber, const uint8_t appIdSource, const uint8_t appIdDestination, const Packet::SequenceFlags sequenceControlFlags, const uint16_t sequenceControlCount) |
| reset current construction with a new fresh packet
|
|
void | setDataFieldHeader (const Packet::Bool8Enum ack, const uint8_t serviceType, const uint8_t serviceSubtype) |
|
void | addCommandVerificationAppData (const uint8_t appIdSource, const uint8_t appIdDestination, const Packet::SequenceFlags sequenceFlags, const uint16_t sequenceCount) |
|
void | addCommandVerificationAppData (const uint8_t appIdSource, const uint8_t appIdDestination, const Packet::SequenceFlags sequenceFlags, const uint16_t sequenceCount, const uint8_t code) |
|
void | addCommandVerificationAppData (const uint8_t appIdSource, const uint8_t appIdDestination, const Packet::SequenceFlags sequenceFlags, const uint16_t sequenceCount, const uint8_t code, const std::vector< std::byte > ¶meters) |
|
void | addCommandDistributionAppData (const std::vector< uint8_t > &addAppData) |
|
template<typename T > |
void | addCommandDistributionAppData (const pairs_t< uint8_t, T > &addressAndData) |
|
void | addCommandDistributionAppData (const pairs_t< int, std::byte > &lineIDAndDuration) |
|
void | addHousekeepingReportAppData (uint16_t structureId, PacketExtendedHousekeeping25::GenerationMode mode, const std::vector< std::byte > ¶meters) |
| Housekeeping parameter report with an Structure Identifier (SID), a generation mode and then the content of the report.
|
|
◆ addCommandDistributionAppData() [1/3]
void PacketBuilder::addCommandDistributionAppData |
( |
const pairs_t< int, std::byte > & |
lineIDAndDuration | ) |
|
CPDU It represents a sequence of pulses on certain output line.
Unline register load, this does not add a length as first byte if higher than one, thus a it is different method than the register load one.
I use int here because I am not sure about how many lines there will be
- Precondition
- lineIDAndDuration.size() <= Packet::APP_DATA_SIZE
◆ addCommandDistributionAppData() [2/3]
template<typename T >
void PacketBuilder::addCommandDistributionAppData |
( |
const pairs_t< uint8_t, T > & |
addressAndData | ) |
|
register load It represents a setter; register[pair.first] = pair.second.
Note: In the ECSS-70-E-41A standard, register load data has as type "any" (as long as it is defined in clause 23), But because I have not read the exact types allowed, I set the type as std::byte but it may change after I have read the clause 23.
- Precondition
- addressAAppData.size() <= Packet::APP_DATA_SIZE
◆ addCommandDistributionAppData() [3/3]
void PacketBuilder::addCommandDistributionAppData |
( |
const std::vector< uint8_t > & |
addAppData | ) |
|
******** Device command Distribution Service headers. ******** on-off register
◆ addCommandVerificationAppData() [1/3]
void PacketBuilder::addCommandVerificationAppData |
( |
const uint8_t |
appIdSource, |
|
|
const uint8_t |
appIdDestination, |
|
|
const Packet::SequenceFlags |
sequenceFlags, |
|
|
const uint16_t |
sequenceCount |
|
) |
| |
******** Telecommand Verification Service headers. ********
◆ addCommandVerificationAppData() [2/3]
void PacketBuilder::addCommandVerificationAppData |
( |
const uint8_t |
appIdSource, |
|
|
const uint8_t |
appIdDestination, |
|
|
const Packet::SequenceFlags |
sequenceFlags, |
|
|
const uint16_t |
sequenceCount, |
|
|
const uint8_t |
code |
|
) |
| |
- Parameters
-
appIdSource | |
sequenceFlags | |
sequenceCount | |
code | error code |
◆ addCommandVerificationAppData() [3/3]
void PacketBuilder::addCommandVerificationAppData |
( |
const uint8_t |
appIdSource, |
|
|
const uint8_t |
appIdDestination, |
|
|
const Packet::SequenceFlags |
sequenceFlags, |
|
|
const uint16_t |
sequenceCount, |
|
|
const uint8_t |
code, |
|
|
const std::vector< std::byte > & |
parameters |
|
) |
| |
- Parameters
-
appIdSource | |
sequenceFlags | |
sequenceCount | |
code | error code |
parameters | |
◆ addHousekeepingReportAppData()
void PacketBuilder::addHousekeepingReportAppData |
( |
uint16_t |
structureId, |
|
|
PacketExtendedHousekeeping25::GenerationMode |
mode, |
|
|
const std::vector< std::byte > & |
parameters |
|
) |
| |
Housekeeping parameter report with an Structure Identifier (SID), a generation mode and then the content of the report.
******** Housekeeping & diagnostic data reporting service headers ********
- Parameters
-
structureID | int16_t for not because I don't know how many we need. |
mode | |
◆ newPacket()
void PacketBuilder::newPacket |
( |
const uint8_t |
versionNumber, |
|
|
const uint8_t |
appIdSource, |
|
|
const uint8_t |
appIdDestination, |
|
|
const Packet::SequenceFlags |
sequenceControlFlags, |
|
|
const uint16_t |
sequenceControlCount |
|
) |
| |
reset current construction with a new fresh packet
dataFieldHeader is true by default.
- Parameters
-
versionNumber | |
appIdSource | |
appIdDestination | |
sequenceControlFlags | |
sequenceControlCount | |
The documentation for this class was generated from the following files: