added way to set source ID
This commit is contained in:
parent
0a0c5592f3
commit
105a498b93
@ -8,7 +8,7 @@ TcPacketPus::TcPacketPus(const uint8_t *setData): TcPacketBase(setData) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TcPacketPus::initializeTcPacket(uint16_t apid, uint16_t sequenceCount,
|
void TcPacketPus::initializeTcPacket(uint16_t apid, uint16_t sequenceCount,
|
||||||
uint8_t ack, uint8_t service, uint8_t subservice) {
|
uint8_t ack, uint8_t service, uint8_t subservice, uint16_t sourceId) {
|
||||||
initSpacePacketHeader(true, true, apid, sequenceCount);
|
initSpacePacketHeader(true, true, apid, sequenceCount);
|
||||||
std::memset(&tcData->dataField, 0, sizeof(tcData->dataField));
|
std::memset(&tcData->dataField, 0, sizeof(tcData->dataField));
|
||||||
setPacketDataLength(sizeof(PUSTcDataFieldHeader) + CRC_SIZE - 1);
|
setPacketDataLength(sizeof(PUSTcDataFieldHeader) + CRC_SIZE - 1);
|
||||||
@ -18,6 +18,12 @@ void TcPacketPus::initializeTcPacket(uint16_t apid, uint16_t sequenceCount,
|
|||||||
tcData->dataField.versionTypeAck |= (ack & 0x0F);
|
tcData->dataField.versionTypeAck |= (ack & 0x0F);
|
||||||
tcData->dataField.serviceType = service;
|
tcData->dataField.serviceType = service;
|
||||||
tcData->dataField.serviceSubtype = subservice;
|
tcData->dataField.serviceSubtype = subservice;
|
||||||
|
#if FSFW_USE_PUS_C_TELECOMMANDS == 1
|
||||||
|
tcData->dataField.sourceIdH = (sourceId >> 8) | 0xff;
|
||||||
|
tcData->dataField.sourceIdL = sourceId & 0xff;
|
||||||
|
#else
|
||||||
|
tcData->dataField.sourceId = sourceId;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t TcPacketPus::getService() const {
|
uint8_t TcPacketPus::getService() const {
|
||||||
|
@ -75,7 +75,7 @@ protected:
|
|||||||
* @param subservice PUS Subservice
|
* @param subservice PUS Subservice
|
||||||
*/
|
*/
|
||||||
void initializeTcPacket(uint16_t apid, uint16_t sequenceCount, uint8_t ack,
|
void initializeTcPacket(uint16_t apid, uint16_t sequenceCount, uint8_t ack,
|
||||||
uint8_t service, uint8_t subservice);
|
uint8_t service, uint8_t subservice, uint16_t sourceId = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A pointer to a structure which defines the data structure of
|
* A pointer to a structure which defines the data structure of
|
||||||
|
Loading…
Reference in New Issue
Block a user