static STORE renamed
This commit is contained in:
parent
d0fc360697
commit
dac700b80a
@ -6,20 +6,20 @@
|
|||||||
#include "fsfw/objectmanager/frameworkObjects.h"
|
#include "fsfw/objectmanager/frameworkObjects.h"
|
||||||
#include "fsfw/serviceinterface/ServiceInterface.h"
|
#include "fsfw/serviceinterface/ServiceInterface.h"
|
||||||
|
|
||||||
StorageManagerIF* TcPacketStoredBase::store = nullptr;
|
StorageManagerIF* TcPacketStoredBase::STORE = nullptr;
|
||||||
|
|
||||||
TcPacketStoredBase::TcPacketStoredBase() {
|
TcPacketStoredBase::TcPacketStoredBase() {
|
||||||
this->storeAddress.raw = StorageManagerIF::INVALID_ADDRESS;
|
this->storeAddress.raw = StorageManagerIF::INVALID_ADDRESS;
|
||||||
this->checkAndSetStore();
|
TcPacketStoredBase::checkAndSetStore();
|
||||||
}
|
}
|
||||||
|
|
||||||
TcPacketStoredBase::~TcPacketStoredBase() {}
|
TcPacketStoredBase::~TcPacketStoredBase() = default;
|
||||||
|
|
||||||
ReturnValue_t TcPacketStoredBase::getData(const uint8_t** dataPtr, size_t* dataSize) {
|
ReturnValue_t TcPacketStoredBase::getData(const uint8_t** dataPtr, size_t* dataSize) {
|
||||||
auto result = this->store->getData(storeAddress, dataPtr, dataSize);
|
auto result = TcPacketStoredBase::STORE->getData(storeAddress, dataPtr, dataSize);
|
||||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
sif::warning << "TcPacketStoredBase: Could not get data!" << std::endl;
|
sif::warning << "TcPacketStoredBase: Could not get data" << std::endl;
|
||||||
#else
|
#else
|
||||||
sif::printWarning("TcPacketStoredBase: Could not get data!\n");
|
sif::printWarning("TcPacketStoredBase: Could not get data!\n");
|
||||||
#endif
|
#endif
|
||||||
@ -28,11 +28,13 @@ ReturnValue_t TcPacketStoredBase::getData(const uint8_t** dataPtr, size_t* dataS
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool TcPacketStoredBase::checkAndSetStore() {
|
bool TcPacketStoredBase::checkAndSetStore() {
|
||||||
if (this->store == nullptr) {
|
if (TcPacketStoredBase::STORE == nullptr) {
|
||||||
this->store = ObjectManager::instance()->get<StorageManagerIF>(objects::TC_STORE);
|
TcPacketStoredBase::STORE = ObjectManager::instance()->get<StorageManagerIF>(objects::TC_STORE);
|
||||||
if (this->store == nullptr) {
|
if (TcPacketStoredBase::STORE == nullptr) {
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
sif::error << "TcPacketStoredBase::TcPacketStoredBase: TC Store not found!" << std::endl;
|
sif::error << "TcPacketStoredBase::TcPacketStoredBase: TC Store not found" << std::endl;
|
||||||
|
#else
|
||||||
|
sif::printError("TcPacketStoredBase::TcPacketStoredBase: TC Store not found\n");
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -47,7 +49,7 @@ void TcPacketStoredBase::setStoreAddress(store_address_t setAddress,
|
|||||||
size_t tempSize;
|
size_t tempSize;
|
||||||
ReturnValue_t status = StorageManagerIF::RETURN_FAILED;
|
ReturnValue_t status = StorageManagerIF::RETURN_FAILED;
|
||||||
if (this->checkAndSetStore()) {
|
if (this->checkAndSetStore()) {
|
||||||
status = this->store->getData(this->storeAddress, &tempData, &tempSize);
|
status = TcPacketStoredBase::STORE->getData(this->storeAddress, &tempData, &tempSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status == StorageManagerIF::RETURN_OK) {
|
if (status == StorageManagerIF::RETURN_OK) {
|
||||||
|
@ -65,7 +65,7 @@ class TcPacketStoredBase : public TcPacketStoredIF {
|
|||||||
* call tries to set it and throws an error message in case of failures.
|
* call tries to set it and throws an error message in case of failures.
|
||||||
* The default store is objects::TC_STORE.
|
* The default store is objects::TC_STORE.
|
||||||
*/
|
*/
|
||||||
static StorageManagerIF* store;
|
static StorageManagerIF* STORE;
|
||||||
/**
|
/**
|
||||||
* The address where the packet data of the object instance is stored.
|
* The address where the packet data of the object instance is stored.
|
||||||
*/
|
*/
|
||||||
@ -77,7 +77,7 @@ class TcPacketStoredBase : public TcPacketStoredIF {
|
|||||||
* @return @li @c true if the store is linked or could be created.
|
* @return @li @c true if the store is linked or could be created.
|
||||||
* @li @c false otherwise.
|
* @li @c false otherwise.
|
||||||
*/
|
*/
|
||||||
bool checkAndSetStore();
|
static bool checkAndSetStore();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* TMTCPACKET_PUS_TcPacketStoredBase_H_ */
|
#endif /* TMTCPACKET_PUS_TCPACKETSTORED_H_ */
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
class TcPacketStoredIF {
|
class TcPacketStoredIF {
|
||||||
public:
|
public:
|
||||||
virtual ~TcPacketStoredIF(){};
|
virtual ~TcPacketStoredIF()= default;;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* With this call, the stored packet can be set to another packet in a store. This is useful
|
* With this call, the stored packet can be set to another packet in a store. This is useful
|
||||||
|
@ -14,8 +14,8 @@ TcPacketStoredPus::TcPacketStoredPus(uint16_t apid, uint8_t service, uint8_t sub
|
|||||||
}
|
}
|
||||||
uint8_t* pData = nullptr;
|
uint8_t* pData = nullptr;
|
||||||
ReturnValue_t returnValue =
|
ReturnValue_t returnValue =
|
||||||
this->store->getFreeElement(&this->storeAddress, (TC_PACKET_MIN_SIZE + size), &pData);
|
this->STORE->getFreeElement(&this->storeAddress, (TC_PACKET_MIN_SIZE + size), &pData);
|
||||||
if (returnValue != this->store->RETURN_OK) {
|
if (returnValue != this->STORE->RETURN_OK) {
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
sif::warning << "TcPacketStoredBase: Could not get free element from store!" << std::endl;
|
sif::warning << "TcPacketStoredBase: Could not get free element from store!" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
@ -44,19 +44,19 @@ TcPacketStoredPus::TcPacketStoredPus(const uint8_t* data, size_t size) : TcPacke
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this->checkAndSetStore()) {
|
if (this->checkAndSetStore()) {
|
||||||
ReturnValue_t status = store->addData(&storeAddress, data, size);
|
ReturnValue_t status = STORE->addData(&storeAddress, data, size);
|
||||||
if (status != HasReturnvaluesIF::RETURN_OK) {
|
if (status != HasReturnvaluesIF::RETURN_OK) {
|
||||||
this->setData(nullptr, size);
|
this->setData(nullptr, size);
|
||||||
}
|
}
|
||||||
const uint8_t* storePtr = nullptr;
|
const uint8_t* storePtr = nullptr;
|
||||||
// Repoint base data pointer to the data in the store.
|
// Repoint base data pointer to the data in the store.
|
||||||
store->getData(storeAddress, &storePtr, &size);
|
STORE->getData(storeAddress, &storePtr, &size);
|
||||||
this->setData(const_cast<uint8_t*>(storePtr), size);
|
this->setData(const_cast<uint8_t*>(storePtr), size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t TcPacketStoredPus::deletePacket() {
|
ReturnValue_t TcPacketStoredPus::deletePacket() {
|
||||||
ReturnValue_t result = this->store->deleteData(this->storeAddress);
|
ReturnValue_t result = this->STORE->deleteData(this->storeAddress);
|
||||||
this->storeAddress.raw = StorageManagerIF::INVALID_ADDRESS;
|
this->storeAddress.raw = StorageManagerIF::INVALID_ADDRESS;
|
||||||
// To circumvent size checks
|
// To circumvent size checks
|
||||||
this->setData(nullptr, -1);
|
this->setData(nullptr, -1);
|
||||||
@ -68,7 +68,7 @@ TcPacketPusBase* TcPacketStoredPus::getPacketBase() { return this; }
|
|||||||
bool TcPacketStoredPus::isSizeCorrect() {
|
bool TcPacketStoredPus::isSizeCorrect() {
|
||||||
const uint8_t* temp_data = nullptr;
|
const uint8_t* temp_data = nullptr;
|
||||||
size_t temp_size;
|
size_t temp_size;
|
||||||
ReturnValue_t status = this->store->getData(this->storeAddress, &temp_data, &temp_size);
|
ReturnValue_t status = this->STORE->getData(this->storeAddress, &temp_data, &temp_size);
|
||||||
if (status == StorageManagerIF::RETURN_OK) {
|
if (status == StorageManagerIF::RETURN_OK) {
|
||||||
if (this->getFullSize() == temp_size) {
|
if (this->getFullSize() == temp_size) {
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user