X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcan%2Fcan-bus.cpp;h=ff899e614cd35c2b0fd4ee5620a7d16a6969664e;hb=20708cd497b2f77f8b97fd215b6b5c1e2886869d;hp=7721132750029bb79781602dd1fa1cfb213ead82;hpb=ccd244c10988cd59d6f0b35e1b83a5eebd7bfb01;p=apps%2Fagl-service-can-low-level.git diff --git a/src/can/can-bus.cpp b/src/can/can-bus.cpp index 77211327..ff899e61 100644 --- a/src/can/can-bus.cpp +++ b/src/can/can-bus.cpp @@ -27,16 +27,18 @@ #include #include -#include "can/can-decoder.hpp" -#include "utils/openxc-utils.hpp" +#include "can-bus.hpp" + +#include "can-decoder.hpp" +#include "../configuration.hpp" +#include "../utils/signals.hpp" +#include "../utils/openxc-utils.hpp" extern "C" { #include } -#include "can/can-bus.hpp" - /******************************************************************************** * * can_bus_t method implementation @@ -66,19 +68,17 @@ can_bus_t::can_bus_t(int conf_file) void can_bus_t::can_decode_message() { can_message_t can_message; - std::vector signals; + std::vector signals; openxc_VehicleMessage vehicle_message; openxc_DynamicField search_key, decoded_message; - decoder_t decoder; - while(is_decoding_) { std::unique_lock can_message_lock(can_message_mutex_); new_can_message_cv_.wait(can_message_lock); can_message = next_can_message(); - /* First we have to found which CanSignal it is */ + /* First we have to found which can_signal_t it is */ search_key = build_DynamicField((double)can_message.get_id()); signals.clear(); find_can_signals(search_key, signals); @@ -94,11 +94,11 @@ 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->generic_name) != s.end() && afb_event_is_valid(s[sig->generic_name])) + if( s.find(sig->get_generic_name()) != s.end() && afb_event_is_valid(s[sig->get_generic_name()])) { - decoded_message = decoder.translateSignal(*sig, can_message, get_can_signals()); + decoded_message = decoder_t::translateSignal(*sig, can_message, config->get_can_signals()); - openxc_SimpleMessage s_message = build_SimpleMessage(sig->generic_name, decoded_message); + openxc_SimpleMessage s_message = build_SimpleMessage(sig->get_generic_name(), decoded_message); vehicle_message = build_VehicleMessage_with_SimpleMessage(openxc_DynamicField_Type::openxc_DynamicField_Type_NUM, s_message); std::lock_guard decoded_can_message_lock(decoded_can_message_mutex_);