2022-07-26 10:21:16 +02:00
|
|
|
#include "TmStoreAndSendHelper.h"
|
2022-07-26 11:14:40 +02:00
|
|
|
|
2022-07-26 11:09:57 +02:00
|
|
|
#include "tmHelpers.h"
|
2022-07-26 10:21:16 +02:00
|
|
|
|
2022-07-26 11:14:40 +02:00
|
|
|
TmStoreAndSendWrapper::TmStoreAndSendWrapper(uint8_t defaultService, TmStoreHelper& storeHelper,
|
|
|
|
TmSendHelper& sendHelper)
|
|
|
|
: storeHelper(storeHelper), sendHelper(sendHelper), defaultService(defaultService) {}
|
2022-07-26 11:09:57 +02:00
|
|
|
|
|
|
|
ReturnValue_t TmStoreAndSendWrapper::storeAndSendTmPacket() {
|
|
|
|
ReturnValue_t result = storeHelper.addPacketToStore();
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
result = sendHelper.sendPacket(storeHelper.getCurrentAddr());
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
if (delOnFailure) {
|
|
|
|
storeHelper.deletePacket();
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
2022-07-26 11:14:40 +02:00
|
|
|
if (incrementSendCounter) {
|
2022-07-26 11:09:57 +02:00
|
|
|
sendCounter++;
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
2022-07-26 13:59:09 +02:00
|
|
|
ReturnValue_t TmStoreAndSendWrapper::prepareTmPacket(uint8_t subservice, const uint8_t* sourceData,
|
|
|
|
size_t sourceDataLen) {
|
|
|
|
ReturnValue_t result = storeHelper.preparePacket(defaultService, subservice, sendCounter);
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return storeHelper.setSourceDataRaw(sourceData, sourceDataLen);
|
2022-07-26 11:09:57 +02:00
|
|
|
}
|
|
|
|
|
2022-07-26 13:59:09 +02:00
|
|
|
ReturnValue_t TmStoreAndSendWrapper::prepareTmPacket(
|
|
|
|
uint8_t subservice, telemetry::DataWithObjectIdPrefix& dataWithObjectId) {
|
|
|
|
ReturnValue_t result = storeHelper.preparePacket(defaultService, subservice, sendCounter);
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return storeHelper.setSourceDataSerializable(dataWithObjectId);
|
2022-07-26 11:09:57 +02:00
|
|
|
}
|
|
|
|
|
2022-07-26 13:59:09 +02:00
|
|
|
ReturnValue_t TmStoreAndSendWrapper::prepareTmPacket(uint8_t subservice, SerializeIF& sourceData) {
|
|
|
|
ReturnValue_t result = storeHelper.preparePacket(defaultService, subservice, sendCounter);
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return storeHelper.setSourceDataSerializable(sourceData);
|
2022-07-26 11:09:57 +02:00
|
|
|
}
|
|
|
|
|
2022-07-26 13:59:09 +02:00
|
|
|
ReturnValue_t TmStoreAndSendWrapper::prepareTmPacket(uint8_t subservice) {
|
|
|
|
ReturnValue_t result = storeHelper.preparePacket(defaultService, subservice, sendCounter);
|
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return storeHelper.setSourceDataRaw(nullptr, 0);
|
2022-07-26 11:09:57 +02:00
|
|
|
}
|