Skip to content
Snippets Groups Projects
Unverified Commit f1a3c389 authored by Grigoris Pavlakis's avatar Grigoris Pavlakis
Browse files

Remove all code references to PTC and PFC values

parent a7bf4302
No related branches found
No related tags found
No related merge requests found
......@@ -21,15 +21,10 @@
*/
typedef uint16_t ParamId;
typedef etl::bitset<ECSS_ST_20_NUMBER_OF_FLAGS> Flags;
typedef enum {STRING = 0,
INT32 = 1,
} TypesList;
/**
* Parameter class - Breakdown of fields
*
* @private ptc: The Packet field type code (PTC) as defined in ECSS-E-ST-70-41C, chapter 7.3.
* @private pfc: The Packet field format code (PfC) as defined in the same standard
* @private ptr: Pointer of the function that will update the parameter
* @private currentValue: The current (as in last good) value of the parameter
*
......@@ -44,30 +39,23 @@ typedef enum {STRING = 0,
*
*
* Methods:
* @public Parameter(uint8_t newPtc, uint8_t newPfc, uint32_t initialValue = 0, UpdatePtr newPtr = nullptr):
* Create a new Parameter object with newPtc PTC, newPfc PFC, initialValue as its starting value and newPtr
* @public Parameter(uint32_t initialValue = 0, UpdatePtr newPtr = nullptr):
* Create a new Parameter object with initialValue as its starting value and newPtr
* as its update function pointer. Arguments initialValue and newPtr are optional, and have default values of
* 0 and nullptr respectively.
*
* @public setCurrentValue(): Changes the current value of the parameter
* @public getCurrentValue(): Gets the current value of the parameter
* @public getPTC(), getPFC(): Returns the PFC and PTC of the parameter
*/
class ParameterBase {
protected:
uint8_t ptc;
uint8_t pfc;
uint8_t sizeInBytes;
void* valuePtr;
Flags flags;
public:
uint8_t getPTC();
void setFlags(const char* flags);
uint8_t getPFC();
virtual String<ECSS_ST_20_MAX_STRING_LENGTH> getValueAsString() = 0;
template <typename ValueType>
......@@ -85,9 +73,7 @@ class Parameter : public ParameterBase {
ValueType currentValue;
public:
Parameter(uint8_t newPtc, uint8_t newPfc, ValueType initialValue = 0, void(* newPtr)(ValueType*) = nullptr) {
ptc = newPtc;
pfc = newPfc;
Parameter(ValueType initialValue = 0, void(* newPtr)(ValueType*) = nullptr) {
ptr = newPtr;
sizeInBytes = sizeof(initialValue);
valuePtr = static_cast<void*>(&currentValue);
......
......@@ -21,7 +21,7 @@
* for parameter reporting and modification.
*
* The parameter list is stored in a map with the parameter IDs as keys and values
* corresponding Parameter classes containing the PTC, PFC and the parameter's value.
* corresponding Parameter classes containing the parameter's value.
*/
......
#include "Services/Parameter.hpp"
uint8_t ParameterBase::getPTC() {
return ptc;
}
uint8_t ParameterBase::getPFC() {
return pfc;
}
void ParameterBase::setFlags(const char* flags) {
this->flags = Flags(flags);
}
......@@ -8,13 +8,13 @@ ParameterService& pserv = Services.parameterManagement;
TEST_CASE("Parameter Service - General") {
SECTION("Addition to full map") {
Parameter<int> param0 = Parameter<int>(3, 14);
Parameter<int> param1 = Parameter<int>(1, 7, 12);
Parameter<int> param2 = Parameter<int>(4, 12, 3, nullptr);
Parameter<int> param3 = Parameter<int>(12, 3, 6);
Parameter<int> param4 = Parameter<int>(15, 7, 3);
Parameter<int> param0 = Parameter<int>();
Parameter<int> param1 = Parameter<int>(12);
Parameter<int> param2 = Parameter<int>(3, nullptr);
Parameter<int> param3 = Parameter<int>(6);
Parameter<int> param4 = Parameter<int>(3);
Parameter<int> param5 = Parameter<int>(15, 5, 4);
Parameter<int> param5 = Parameter<int>(4);
pserv.addNewParameter(0, static_cast<ParameterBase*>(&param0));
pserv.addNewParameter(1, static_cast<ParameterBase*>(&param1));
......@@ -29,7 +29,7 @@ TEST_CASE("Parameter Service - General") {
}
SECTION("Addition of already existing parameter") {
Parameter<int> param0 = Parameter<int>(1, 3);
Parameter<int> param0 = Parameter<int>();
pserv.addNewParameter(0, static_cast<ParameterBase*>(&param0));
pserv.addNewParameter(0, static_cast<ParameterBase*>(&param0));
......@@ -65,9 +65,9 @@ TEST_CASE("Parameter Report Subservice") {
}
SECTION("Faulty instruction handling") {
Parameter<int> param0 = Parameter<int>(3, 14);
Parameter<int> param1 = Parameter<int>(1, 7, 12);
Parameter<int> param2 = Parameter<int>(4, 12, 3, nullptr);
Parameter<int> param0 = Parameter<int>();
Parameter<int> param1 = Parameter<int>(12);
Parameter<int> param2 = Parameter<int>(3, nullptr);
pserv.addNewParameter(0, static_cast<ParameterBase*>(&param0));
pserv.addNewParameter(1, static_cast<ParameterBase*>(&param1));
pserv.addNewParameter(2, static_cast<ParameterBase*>(&param2));
......@@ -116,9 +116,9 @@ TEST_CASE("Parameter Report Subservice") {
TEST_CASE("Parameter Setting Subservice") {
SECTION("Faulty Instruction Handling Test") {
Parameter<int> param0 = Parameter<int>(3, 14);
Parameter<int> param1 = Parameter<int>(1, 7, 12);
Parameter<int> param2 = Parameter<int>(4, 12, 3, nullptr);
Parameter<int> param0 = Parameter<int>();
Parameter<int> param1 = Parameter<int>(12);
Parameter<int> param2 = Parameter<int>(3, nullptr);
pserv.addNewParameter(0, static_cast<ParameterBase*>(&param0));
pserv.addNewParameter(1, static_cast<ParameterBase*>(&param1));
pserv.addNewParameter(2, static_cast<ParameterBase*>(&param2));
......@@ -157,7 +157,7 @@ TEST_CASE("Parameter Setting Subservice") {
}
SECTION("Attempt to set parameter with no manual update availability") {
Parameter<int> param1 = Parameter<int>(1, 7, 12);
Parameter<int> param1 = Parameter<int>(12);
pserv.addNewParameter(1, static_cast<ParameterBase*>(&param1), "100");
Message setRequest = Message(20, 3, Message::TC, 1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment