X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fopenxc%2Fcan_message.cpp;h=70b98a7e75ae5490332e3eca62b7cc76e048e185;hb=f61a6cb23ab86da2b3d477276886f1e73ec5c88c;hp=77418d8fddb41b19858462347f7b5bbefe092d86;hpb=0bb5744297d7d25577b5ed48899c021e23e9a8ec;p=src%2Flow-level-can-generator.git diff --git a/src/openxc/can_message.cpp b/src/openxc/can_message.cpp index 77418d8..70b98a7 100755 --- a/src/openxc/can_message.cpp +++ b/src/openxc/can_message.cpp @@ -6,17 +6,17 @@ namespace openxc { return id_; } - + void can_message::id(const std::string& id) { id_ = id; } - + std::string can_message::bus() const { return bus_; } - + void can_message::is_fd(const bool is_fd) { is_fd_ = is_fd; @@ -26,56 +26,82 @@ namespace openxc { return is_fd_; } + void can_message::is_extended(const bool is_extended) + { + is_extended_ = is_extended; + } + + bool can_message::is_extended() const + { + return is_extended_; + } + + void can_message::is_j1939(const bool is_j1939) + { + is_j1939_ = is_j1939; + } + + bool can_message::is_j1939() const + { + return is_j1939_; + } bool can_message::bit_numbering_inverted() const { return bit_numbering_inverted_; } - + const std::vector& can_message::signals() const { return signals_; } - + std::string can_message::name() const { return name_; } - + std::vector can_message::handlers() const { return handlers_; } - + bool can_message::enabled() const { return enabled_; } - + float can_message::max_frequency() const { return max_frequency_; } - + float can_message::max_signal_frequency() const { return max_signal_frequency_; } - + bool can_message::force_send_changed() const { return force_send_changed_; } - + bool can_message::force_send_changed_signals() const { return force_send_changed_; } - + + uint32_t can_message::length() const + { + return length_; + } + void can_message::from_json(const nlohmann::json& j) { bus_ = j.count("bus") ? j["bus"].get() : ""; is_fd_ = j.count("is_fd") ? j["is_fd"].get() : false; + is_extended_ = j.count("is_extended") ? j["is_extended"].get() : false; + is_j1939_ = j.count("is_j1939") ? j["is_j1939"].get() : false; bit_numbering_inverted_ = j.count("bit_numbering_inverted") ? j["bit_numbering_inverted"].get() : false; name_ = j.count("name") ? j["name"].get() : ""; handlers_ = j.count("handlers") ? j["handlers"].get>() : std::vector(); @@ -84,7 +110,8 @@ namespace openxc max_signal_frequency_ = j.count("max_signal_frequency") ? j["max_signal_frequency"].get() : 5; force_send_changed_ = j.count("force_send_changed") ? j["force_send_changed"].get() : true; force_send_changed_signals_ = j.count("force_send_changed_signals") ? j["force_send_changed_signals"].get() : false; - + length_ = j.count("length") ? j["length"].get() : 0; + if(j.count("signals")) { std::map signals = j["signals"]; @@ -95,9 +122,9 @@ namespace openxc signals_.push_back(sig); } } - + } - + std::uint32_t can_message::get_signals_count() const { return (uint32_t)signals_.size(); @@ -108,6 +135,10 @@ namespace openxc nlohmann::json j; j["bus"] = bus_; j["is_fd"] = is_fd_; + + j["is_extended"] = is_extended_; + + j["is_j1939"] = is_j1939_; j["bit_numbering_inverted"] = bit_numbering_inverted_; j["signals"] = signals_; j["name"] = name_; @@ -117,6 +148,7 @@ namespace openxc j["max_signal_frequency"] = max_signal_frequency_; j["force_send_changed"] = force_send_changed_; j["force_send_changed_signals"] = force_send_changed_signals_; + j["length"] = length_; return j; } @@ -124,7 +156,7 @@ namespace openxc { j = p.to_json(); } - + void from_json(const nlohmann::json& j, can_message& p) { p.from_json(j);