class to generate pdec config words
This commit is contained in:
@ -37,9 +37,11 @@ public:
|
||||
* @param tcDestinationId Object ID of object responsible for processing TCs.
|
||||
* @param gpioComIF Pointer to GPIO interace responsible for driving GPIOs.
|
||||
* @param pdecReset GPIO ID of GPIO connected to the reset signal of the PDEC.
|
||||
* @param uioMemory String of uio device file same mapped to the PDEC memory space
|
||||
* @param uioregsiters String of uio device file same mapped to the PDEC register space
|
||||
*/
|
||||
PdecHandler(object_id_t objectId, object_id_t tcDestinationId, LinuxLibgpioIF* gpioComIF,
|
||||
gpioId_t pdecReset);
|
||||
gpioId_t pdecReset, std::string uioMemory, std::string uioRegisters);
|
||||
|
||||
virtual ~PdecHandler();
|
||||
|
||||
@ -148,25 +150,6 @@ private:
|
||||
INCORRECT_BC_CC
|
||||
};
|
||||
|
||||
typedef struct PdecParams {
|
||||
uint8_t versionId : 2 ;
|
||||
uint8_t bypassFlag : 1;
|
||||
uint8_t controlCommandFlag : 1;
|
||||
uint8_t reservedFieldA : 2;
|
||||
uint16_t spacecraftId : 10;
|
||||
uint8_t virtualChannelId : 6;
|
||||
uint8_t dummy : 2;
|
||||
uint8_t positiveWindow;
|
||||
uint8_t negativeWindow;
|
||||
//Authentication unit not used for EIVE
|
||||
uint8_t auMapIdPointer = 0;
|
||||
// De-randomizing enabled
|
||||
uint8_t derandomiserConfig = 1;
|
||||
// Only used when AU is enabled. Enables the use of an external recovery lac counter.
|
||||
// The AU requires a lac counter to generate the signature.
|
||||
uint8_t recoveryLacConfig = 0;
|
||||
} PdecParams_t;
|
||||
|
||||
enum class State: uint8_t {
|
||||
INIT,
|
||||
RUNNING,
|
||||
@ -269,10 +252,6 @@ private:
|
||||
|
||||
LinuxLibgpioIF* gpioComIF = nullptr;
|
||||
|
||||
StorageManagerIF* tcStore = nullptr;
|
||||
|
||||
State state = State::INIT;
|
||||
|
||||
/**
|
||||
* Reset signal is required to hold PDEC in reset state until the configuration has been
|
||||
* written to the appropriate memory space.
|
||||
@ -280,6 +259,16 @@ private:
|
||||
*/
|
||||
gpioId_t pdecReset = gpio::NO_GPIO;
|
||||
|
||||
// UIO device file giving access to the PDEC memory space
|
||||
std::string uioMemory;
|
||||
|
||||
// UIO device file giving access to the PDEC register space
|
||||
std::string uioRegisters;
|
||||
|
||||
StorageManagerIF* tcStore = nullptr;
|
||||
|
||||
State state = State::INIT;
|
||||
|
||||
/**
|
||||
* Pointer pointing to base address of the PDEC memory space.
|
||||
* This address is equivalent with the base address of the section named configuration area in
|
||||
|
Reference in New Issue
Block a user