X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fbinding%2Fapplication.cpp;h=f0f008c54ff49bb1f61d9e9bbf961bc54bccf62f;hb=fdc6702732f6575f39e6cdad6db579a305dd8fe3;hp=a85b518465a978a7276d16d2d5138c8dac042210;hpb=e190b7b3069d86fce25831c366bb0cd3fa615289;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/binding/application.cpp b/low-can-binding/binding/application.cpp index a85b5184..f0f008c5 100644 --- a/low-can-binding/binding/application.cpp +++ b/low-can-binding/binding/application.cpp @@ -52,32 +52,49 @@ uint8_t application_t::get_active_message_set() const return active_message_set_; } -std::vector > application_t::get_can_message_set() +std::vector > application_t::get_message_set() { - return can_message_set_; + return message_set_; } -std::vector > application_t::get_all_can_signals() +std::vector > application_t::get_all_signals() { - return can_message_set_[active_message_set_]->get_all_can_signals(); + return message_set_[active_message_set_]->get_all_signals(); } -std::vector >& application_t::get_diagnostic_messages() +std::vector> application_t::get_diagnostic_messages() { - return can_message_set_[active_message_set_]->get_diagnostic_messages(); + return message_set_[active_message_set_]->get_diagnostic_messages(); } -std::vector >& application_t::get_can_message_definition() +std::vector> application_t::get_messages_definition() { - return can_message_set_[active_message_set_]->get_can_message_definition(); + return message_set_[active_message_set_]->get_messages_definition(); } + +std::shared_ptr application_t::get_message_definition(uint32_t id) +{ + std::shared_ptr ret = nullptr; + std::vector> messages_definition = get_messages_definition(); + for(std::shared_ptr &msg_def : messages_definition) + { + if(msg_def->get_id() == id) + { + ret = msg_def; + break; + } + } + return ret; +} + + uint32_t application_t::get_signal_id(diagnostic_message_t& sig) const { return sig.get_pid(); } -uint32_t application_t::get_signal_id(can_signal_t& sig) const +uint32_t application_t::get_signal_id(signal_t& sig) const { return sig.get_message()->get_id(); } @@ -95,12 +112,12 @@ bool application_t::isEngineOn() bool engine_on = false; uint64_t last_timestamp_in_s; - if(sf.can_signals.size() == 1) + if(sf.signals.size() == 1) { - last_timestamp_in_s = sf.can_signals.front()->get_last_value_with_timestamp().second + last_timestamp_in_s = sf.signals.front()->get_last_value_with_timestamp().second / MICROSECONDS_IN_SECOND; - if(sf.can_signals.front()->get_last_value_with_timestamp().first > 0 && + if(sf.signals.front()->get_last_value_with_timestamp().first > 0 && std::difftime(std::time(nullptr), last_timestamp_in_s) < ENGINE_VALUE_TIMEOUT) { engine_on = true;