Search signals against name not generic_name. It's made
authorRomain Forlot <romain.forlot@iot.bzh>
Tue, 14 Mar 2017 23:43:59 +0000 (00:43 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 16 Mar 2017 16:21:57 +0000 (17:21 +0100)
to get able to get difference between classic CAN messages
and diagnostic messages based on name signals prefix.

Change-Id: I696facc58f38150e0457d519dcabffba750a8db3
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
src/can/can-bus.cpp
src/utils/signals.hpp

index 09fce46..69f08c5 100644 (file)
@@ -85,7 +85,7 @@ int can_bus_t::process_can_signals(can_message_t& can_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());
 
index 00b9e3e..f68f566 100644 (file)
@@ -57,9 +57,9 @@ void lookup_signals_by_name(const std::string& key, std::vector<T>& signals, std
        for(T& s : signals)
        {
                if(::fnmatch(key.c_str(), s.get_generic_name().c_str(), FNM_CASEFOLD) == 0)
-                       found_signals_name.push_back(s.get_generic_name());
+                       found_signals_name.push_back(s.get_name());
                if(::fnmatch(key.c_str(), s.get_name().c_str(), FNM_CASEFOLD) == 0)
-                       found_signals_name.push_back(s.get_generic_name());
+                       found_signals_name.push_back(s.get_name());
        }
 }