7 #ifndef MOTORCORTEX_CORE_UP_BASE_H
8 #define MOTORCORTEX_CORE_UP_BASE_H
10 #include "nlohmann/json.hpp"
11 #include "ps_setparam.h"
12 #include "up_userparams.h"
17 namespace mcx::user_parameters {
22 mcx::parameter_server::DataType datatype;
25 mcx::parameter_server::ParameterType param_type;
29 using BranchParams = std::map<std::string, std::vector<Parameter>>;
30 using DefaultValues = std::vector<mcx::parameter_server::SetParam>;
33 Status status{Status::DISABLED};
34 std::unique_ptr<uint8_t[]> data;
35 BranchParams branch_params;
36 DefaultValues default_values;
46 static mcx::parameter_server::ParameterType getParameterType(std::string param_type_string) {
47 utils::trim(param_type_string);
48 std::transform(param_type_string.begin(), param_type_string.end(), param_type_string.begin(), ::toupper);
49 if (param_type_string ==
"INPUT") {
50 return mcx::parameter_server::ParameterType::INPUT;
51 }
else if (param_type_string ==
"OUTPUT") {
52 return mcx::parameter_server::ParameterType::OUTPUT;
53 }
else if (param_type_string ==
"PARAMETER") {
54 return mcx::parameter_server::ParameterType::PARAMETER;
55 }
else if (param_type_string ==
"PARAMETER_VOLATILE") {
56 return mcx::parameter_server::ParameterType::PARAMETER_VOLATILE;
57 }
else if (param_type_string ==
"PARAMETER_PERSISTENT") {
58 return mcx::parameter_server::ParameterType::PARAMETER_PERSISTENT;
60 return mcx::parameter_server::ParameterType::UNDEFINED;
63 static std::tuple<Parameter, bool> createParameter(std::string type,
const std::string& path,
size_t total_bytes,
64 const std::string& err);
69 #endif // MOTORCORTEX_CORE_UP_BASE_H