X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcan%2Fcan-signals.cpp;h=6211fa1d3071ff5550228aae2addc70d1154cac9;hb=7b336475a398d37c4d5c4a534c87919263ae4b01;hp=0f774a1a1a63c02b99620f26f1af0b2af40d8dd7;hpb=78daa605c5abd64054dad9f5fcfee638f8c515e0;p=apps%2Fagl-service-can-low-level.git diff --git a/src/can/can-signals.cpp b/src/can/can-signals.cpp index 0f774a1a..6211fa1d 100644 --- a/src/can/can-signals.cpp +++ b/src/can/can-signals.cpp @@ -22,17 +22,66 @@ #include "../configuration.hpp" #include "../utils/signals.hpp" #include "can-decoder.hpp" -#include "../obd2/obd2-signals.hpp" -#include "../low-can-binding.hpp" +#include "../diagnostic/diagnostic-message.hpp" + +std::string can_signal_t::prefix_ = "messages"; + +can_signal_t::can_signal_t(std::uint8_t message_set_id, + std::uint8_t message_id, + std::string generic_name, + uint8_t bit_position, + uint8_t bit_size, + float factor, + float offset, + float min_value, + float max_value, + frequency_clock_t frequency, + bool send_same, + bool force_send_changed, + std::map states, + bool writable, + SignalDecoder decoder, + SignalEncoder encoder, + bool received) + : message_set_id_{ message_set_id } + , message_id_{ message_id } + , generic_name_{ generic_name } + , bit_position_{ bit_position } + , bit_size_{ bit_size } + , factor_{ factor } + , offset_{ offset } + , min_value_{min_value} + , max_value_{max_value} + , frequency_{frequency} + , send_same_{send_same} + , force_send_changed_{force_send_changed} + , states_{states} + , writable_{writable} + , decoder_{decoder} + , encoder_{encoder} + , received_{received} + , last_value_{.0f} +{} + + +const can_message_definition_t& can_signal_t::get_message() const +{ + return configuration_t::instance().get_can_message_definition(message_set_id_, message_id_); +} + +const std::string& can_signal_t::get_generic_name() const +{ + return generic_name_; +} -can_message_definition_t& can_signal_t::get_message() +const std::string can_signal_t::get_name() const { - return message_; + return prefix_ + "." + generic_name_; } -std::string& can_signal_t::get_generic_name() +const std::string& can_signal_t::get_prefix() const { - return generic_name_; + return prefix_; } uint8_t can_signal_t::get_bit_position() const @@ -80,11 +129,18 @@ bool can_signal_t::get_force_send_changed() const return force_send_changed_; } -std::map can_signal_t::get_state() const +const std::map& can_signal_t::get_states() const { return states_; } +const std::string can_signal_t::get_states(uint8_t value) +{ + if (value < states_.size()) + return states_[value]; + return std::string(); +} + size_t can_signal_t::get_state_count() const { return states_.size(); @@ -114,6 +170,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;