fixed setAppData function

This commit is contained in:
Robin Müller 2020-05-19 19:05:17 +02:00
parent 730c715120
commit 331b36fe18
2 changed files with 12 additions and 10 deletions

View File

@ -51,11 +51,10 @@ void TcPacketBase::setData(const uint8_t* pData) {
tcData = (TcPacketPointer*) pData;
}
void TcPacketBase::setApplicationData(const uint8_t * pData, uint16_t dataLen) {
setData(pData);
// packet data length is actual size of data field minus 1
void TcPacketBase::setAppData(uint8_t * appData, uint16_t dataLen) {
memcpy(&tcData->appData, appData, dataLen);
SpacePacketBase::setPacketDataLength(dataLen +
sizeof(PUSTcDataFieldHeader) + TcPacketBase::CRC_SIZE - 1);
sizeof(PUSTcDataFieldHeader) + TcPacketBase::CRC_SIZE - 1);
}
uint8_t TcPacketBase::getSecondaryHeaderFlag() {

View File

@ -168,6 +168,14 @@ public:
* current content of the packet.
*/
void setErrorControl();
/**
* Copies the supplied data to the internal TC application data field.
* @param pData
* @param dataLen
*/
void setAppData(uint8_t * appData, uint16_t dataLen);
/**
* With this method, the packet data pointer can be redirected to another
* location.
@ -178,12 +186,7 @@ public:
* @param p_data A pointer to another PUS Telecommand Packet.
*/
void setData( const uint8_t* pData );
/**
* Set application data and corresponding length field.
* @param pData
* @param dataLen
*/
void setApplicationData(const uint8_t * pData, uint16_t dataLen);
/**
* This is a debugging helper method that prints the whole packet content
* to the screen.