diff options
Diffstat (limited to 'src/can')
-rw-r--r-- | src/can/can-bus.cpp | 2 | ||||
-rw-r--r-- | src/can/can-signals.cpp | 10 | ||||
-rw-r--r-- | src/can/can-signals.hpp | 6 |
3 files changed, 16 insertions, 2 deletions
diff --git a/src/can/can-bus.cpp b/src/can/can-bus.cpp index a8a474cf..7a18ce8f 100644 --- a/src/can/can-bus.cpp +++ b/src/can/can-bus.cpp @@ -94,7 +94,7 @@ void can_bus_t::can_decode_message() DEBUG(binder_interface, "Operator[] key string: %s, event valid? %d", sig.generic_name, afb_event_is_valid(s[std::string(sig.generic_name)])); DEBUG(binder_interface, "Nb elt matched char: %d", (int)s.count(sig.generic_name)); DEBUG(binder_interface, "Nb elt matched string: %d", (int)s.count(std::string(sig.generic_name)));*/ - if( s.find(sig->get_generic_name()) != s.end() && afb_event_is_valid(s[sig->get_generic_name()])) + if( s.find(sig->get_name()) != s.end() && afb_event_is_valid(s[sig->get_name()])) { decoded_message = decoder_t::translateSignal(*sig, can_message, configuration_t::instance().get_can_signals()); diff --git a/src/can/can-signals.cpp b/src/can/can-signals.cpp index 0f774a1a..2d2e7eaf 100644 --- a/src/can/can-signals.cpp +++ b/src/can/can-signals.cpp @@ -35,6 +35,11 @@ std::string& can_signal_t::get_generic_name() return generic_name_; } +std::string can_signal_t::get_name() +{ + return prefix_ + "." + generic_name_; +} + uint8_t can_signal_t::get_bit_position() const { return bit_position_; @@ -114,6 +119,11 @@ float can_signal_t::get_last_value() const return last_value_; } +void can_signal_t::set_prefix(std::string val) +{ + prefix_ = val; +} + void can_signal_t::set_received(bool r) { received_ = r; diff --git a/src/can/can-signals.hpp b/src/can/can-signals.hpp index e906d26d..10403da4 100644 --- a/src/can/can-signals.hpp +++ b/src/can/can-signals.hpp @@ -76,7 +76,9 @@ class can_signal_t { private: can_message_definition_t message_; /*!< message_ - The message this signal is a part of. */ - std::string generic_name_; /*!< generic_name_ - The name of the signal to be output over USB.*/ + std::string generic_name_; /*!< generic_name_ - The name of the signal to be output.*/ + std::string prefix_ = "messages."; /*!< prefix_ - generic_name_ will be prefixed with it. It has to reflect the used protocol. + * which make easier to sort message when the come in.*/ uint8_t bit_position_; /*!< bitPosition_ - The starting bit of the signal in its CAN message (assuming * non-inverted bit numbering, i.e. the most significant bit of * each byte is 0) */ @@ -109,6 +111,7 @@ private: public: can_message_definition_t& get_message(); std::string& get_generic_name(); + std::string get_name(); uint8_t get_bit_position() const; uint8_t get_bit_size() const; float get_factor() const; @@ -126,6 +129,7 @@ public: bool get_received() const; float get_last_value() const; + void set_prefix(std::string val); void set_received(bool r); void set_last_value(float val); };
\ No newline at end of file |