Compare commits

..

1 Commits

Author SHA1 Message Date
7de56f189b install etl library in ci/cd 2022-07-04 10:13:48 +02:00
6 changed files with 16 additions and 98 deletions

View File

@ -12,3 +12,9 @@ RUN git clone https://github.com/catchorg/Catch2.git && \
git checkout v3.0.0-preview5 && \
cmake -Bbuild -H. -DBUILD_TESTING=OFF && \
cmake --build build/ --target install
RUN git clone https://github.com/ETLCPP/etl.git && \
cd etl && \
git checkout 20.28.0 && \
cmake -B build . && \
cmake --install build/

View File

@ -46,14 +46,18 @@ class ExtendedControllerBase : public ControllerBase,
*/
virtual void performControlOperation() = 0;
// Handle the four messages mentioned above
/* Handle the four messages mentioned above */
void handleQueue() override;
// HasActionsIF overrides
/* HasActionsIF overrides */
virtual ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size) override;
// HasLocalDatapoolIF overrides
/* HasLocalDatapoolIF overrides */
virtual LocalDataPoolManager* getHkManagerHandle() override;
virtual object_id_t getObjectId() const override;
virtual uint32_t getPeriodicOperationFrequency() const override;
virtual ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) override = 0;
virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override = 0;
@ -61,12 +65,6 @@ class ExtendedControllerBase : public ControllerBase,
// Mode abstract functions
virtual ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t* msToReachTheMode) override = 0;
virtual LocalDataPoolManager* getHkManagerHandle() override;
virtual object_id_t getObjectId() const override;
virtual uint32_t getPeriodicOperationFrequency() const override;
};
#endif /* FSFW_CONTROLLER_EXTENDEDCONTROLLERBASE_H_ */

View File

@ -1,4 +1,3 @@
target_sources(
${LIB_FSFW_NAME}
PRIVATE TcPacketPusBase.cpp TcPacketPus.cpp TcPacketStoredBase.cpp
TcPacketStoredPus.cpp TcPacketSerializer.cpp)
${LIB_FSFW_NAME} PRIVATE TcPacketPusBase.cpp TcPacketPus.cpp
TcPacketStoredBase.cpp TcPacketStoredPus.cpp)

View File

@ -22,7 +22,7 @@ class TcPacketPusBase : public SpacePacketBase, virtual public RedirectableDataP
friend class TcPacketStoredBase;
public:
enum AckField : uint8_t {
enum AckField {
//! No acknowledgements are expected.
ACK_NONE = 0b0000,
//! Acknowledgements on acceptance are expected.

View File

@ -1,42 +0,0 @@
#include "TcPacketSerializer.h"
#include <cstring>
TcPacketSerializer::TcPacketSerializer(uint8_t* store, size_t maxSize, PusConfig& cfg)
: TcPacketPus(nullptr), store(store), maxSize(maxSize), cfg(cfg) {}
ReturnValue_t TcPacketSerializer::serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const {
if (*size + getSerializedSize() > maxSize) {
return BUFFER_TOO_SHORT;
}
std::memcpy(*buffer, store, getSerializedSize());
*buffer += getSerializedSize();
*size += getSerializedSize();
return RETURN_OK;
}
size_t TcPacketSerializer::getSerializedSize() const { return TC_PACKET_MIN_SIZE + cfg.appDataLen; }
ReturnValue_t TcPacketSerializer::initialize() {
if (getSerializedSize() > maxSize) {
return SerializeIF::BUFFER_TOO_SHORT;
}
ReturnValue_t result = setData(store, maxSize);
if (result != RETURN_OK) {
return result;
}
initializeTcPacket(cfg.apid, cfg.sequenceCount, cfg.ack, cfg.service, cfg.subservice,
PusConfig::PUS_VERSION, cfg.sourceId);
if (cfg.appData != nullptr and cfg.appDataLen > 0) {
std::memcpy(&tcData->appData, cfg.appData, cfg.appDataLen);
}
setPacketDataLength(calculateFullPacketLength(cfg.appDataLen) - sizeof(CCSDSPrimaryHeader) - 1);
setErrorControl();
return RETURN_OK;
}
ReturnValue_t TcPacketSerializer::deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) {
return RETURN_FAILED;
}

View File

@ -1,43 +0,0 @@
#ifndef FSFW_SRC_FSFW_TMTCPACKET_PUS_TC_TCPACKETPUSINTOBUF_H_
#define FSFW_SRC_FSFW_TMTCPACKET_PUS_TC_TCPACKETPUSINTOBUF_H_
#include <cstdint>
#include "TcPacketPus.h"
#include "fsfw/serialize/SerializeIF.h"
struct PusConfig {
uint16_t apid = 0;
uint8_t service = 0;
uint8_t subservice = 0;
uint16_t sequenceCount = 0;
uint16_t sourceId = 0;
uint8_t* appData = nullptr;
size_t appDataLen = 0;
#if FSFW_USE_PUS_C_TELECOMMANDS == 1
static constexpr pus::PusVersion PUS_VERSION = pus::PusVersion::PUS_C_VERSION;
#else
static constexpr pus::PusVersion PUS_VERSION = pus::PusVersion::PUS_A_VERSION;
#endif
uint8_t ack = TcPacketPus::ACK_ALL;
};
class TcPacketSerializer : public TcPacketPus, public SerializeIF, public HasReturnvaluesIF {
public:
TcPacketSerializer(uint8_t* store, size_t maxSize, PusConfig& cfg);
ReturnValue_t initialize();
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const override;
size_t getSerializedSize() const override;
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
Endianness streamEndianness) override;
private:
uint8_t* store;
size_t maxSize;
PusConfig& cfg;
};
#endif /* FSFW_SRC_FSFW_TMTCPACKET_PUS_TC_TCPACKETPUSINTOBUF_H_ */