{\r
return id_;\r
}\r
- \r
+\r
void signal::id(const std::string& id)\r
{\r
id_ = id;\r
}\r
- \r
+\r
void id(const std::string& id);\r
- \r
+\r
std::string signal::generic_name() const\r
{\r
return generic_name_;\r
}\r
- \r
+\r
std::uint32_t signal::bit_position() const\r
{\r
return bit_position_;\r
}\r
- \r
+\r
std::uint32_t signal::bit_size() const\r
{\r
return bit_size_;\r
}\r
- \r
+\r
float signal::factor() const\r
{\r
return factor_;\r
}\r
- \r
+\r
float signal::offset() const\r
{\r
return offset_;\r
}\r
- \r
+\r
std::string signal::decoder() const\r
{\r
return decoder_;\r
}\r
- \r
+\r
bool signal::ignore() const\r
{\r
return ignore_;\r
}\r
- \r
+\r
bool signal::enabled() const\r
{\r
return enabled_;\r
}\r
- \r
+\r
const std::map<std::string, std::vector<std::uint32_t>>& signal::states() const\r
{\r
return states_;\r
}\r
- \r
+\r
float signal::max_frequency() const\r
{\r
return max_frequency_;\r
}\r
- \r
+\r
bool signal::send_same() const\r
{\r
return send_same_;\r
}\r
- \r
+\r
bool signal::force_send_changed() const\r
{\r
return force_send_changed_;\r
}\r
- \r
+\r
bool signal::writable() const\r
{\r
return writable_;\r
}\r
- \r
+\r
std::string signal::encoder() const\r
{\r
return encoder_;\r
}\r
- \r
+\r
+ std::pair<bool,int> signal::multiplex() const{\r
+ return multiplex_;\r
+ }\r
+\r
+ bool signal::is_big_endian() const{\r
+ return is_big_endian_;\r
+ }\r
+\r
+ bool signal::is_signed() const{\r
+ return is_signed_;\r
+ }\r
+\r
+ std::string signal::unit() const{\r
+ return unit_;\r
+ }\r
+\r
void signal::from_json(const nlohmann::json& j)\r
{\r
generic_name_ = j.count("generic_name") ? j["generic_name"].get<std::string>() : "";\r
force_send_changed_ = j.count("force_send_changed") ? j["force_send_changed"].get<bool>() : false;\r
writable_ = j.count("writable") ? j["writable"].get<bool>() : false;\r
encoder_ = j.count("encoder") ? j["encoder"].get<std::string>() : "";\r
+ if(j.count("multiplex"))\r
+ {\r
+ std::string mult = j["multiplex"].get<std::string>();\r
+ bool first = false;\r
+ int second = 0 ;\r
+ if(mult.compare("Multiplexor") == 0){\r
+ first = true;\r
+ }\r
+ else if (mult.compare("") != 0)\r
+ {\r
+ second = std::stoi(mult);\r
+ }\r
+ multiplex_ = std::make_pair(first,second);\r
+ }\r
+ else\r
+ {\r
+ multiplex_ = std::make_pair(false,0);\r
+ }\r
+ is_big_endian_ = j.count("is_big_endian") ? j["is_big_endian"].get<bool>() : false;\r
+ is_signed_ = j.count("is_signed") ? j["is_signed"].get<bool>() : false;\r
+ unit_ = j.count("unit") ? j["unit"].get<std::string>() : "";\r
+\r
+\r
\r
if (j.count("states"))\r
{\r
j["force_send_changed"] = force_send_changed_;\r
j["writable"] = writable_;\r
j["encoder"] = encoder_;\r
+\r
+ std::string multi = "";\r
+\r
+ if(multiplex_.first)\r
+ {\r
+ multi = "Multiplexor";\r
+ }\r
+ else if(multiplex_.second != 0)\r
+ {\r
+ multi = std::to_string(multiplex_.second);\r
+ }\r
+ else\r
+ {\r
+ multi = "";\r
+ }\r
+\r
+ j["multiplex"] = multi;\r
+\r
+\r
+\r
+ j["is_big_endian"] = is_big_endian_;\r
+ j["is_signed"] = is_signed_;\r
+ j["unit"] = unit_;\r
return j;\r
}\r
\r