X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fsignals.cpp;fp=low-can-binding%2Fcan%2Fcan-signals.cpp;h=e843bedb01d4dccf36511a05a74cbcd67af24cba;hb=2f60d294b3fa4e243fa67a738f9b82a0b428a7fc;hp=76a9665fec621add5fe8ba17815036087cc34c22;hpb=d2180abe18533be7cbe68971a6767e5c2a0ecf6d;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/can-signals.cpp b/low-can-binding/can/signals.cpp similarity index 51% rename from low-can-binding/can/can-signals.cpp rename to low-can-binding/can/signals.cpp index 76a9665f..e843bedb 100644 --- a/low-can-binding/can/can-signals.cpp +++ b/low-can-binding/can/signals.cpp @@ -17,7 +17,7 @@ #include -#include "can-signals.hpp" +#include "signals.hpp" #include "../binding/application.hpp" #include "../utils/signals.hpp" @@ -27,9 +27,9 @@ #include "../diagnostic/diagnostic-message.hpp" #include "canutil/write.h" -std::string can_signal_t::prefix_ = "messages"; +std::string signal_t::prefix_ = "messages"; -can_signal_t::can_signal_t( +signal_t::signal_t( std::string generic_name, uint8_t bit_position, uint8_t bit_size, @@ -44,7 +44,11 @@ can_signal_t::can_signal_t( bool writable, signal_decoder decoder, signal_encoder encoder, - bool received) + bool received, + std::pair multiplex, + bool is_big_endian, + bool is_signed, + std::string unit) : parent_{nullptr}, generic_name_{ generic_name } , bit_position_{ bit_position } @@ -62,61 +66,98 @@ can_signal_t::can_signal_t( , encoder_{encoder} , received_{received} , last_value_{.0f} + , multiplex_{multiplex} + , is_big_endian_{is_big_endian} + , is_signed_{is_signed} + , unit_{unit} {} -can_message_definition_t* can_signal_t::get_message() const +signal_t::signal_t( + 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, + signal_decoder decoder, + signal_encoder encoder, + bool received) + : 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} +{} + +std::shared_ptr signal_t::get_message() const { return parent_; } -const std::string can_signal_t::get_generic_name() const +const std::string signal_t::get_generic_name() const { return generic_name_; } -const std::string can_signal_t::get_name() const +const std::string signal_t::get_name() const { return prefix_ + "." + generic_name_; } -uint8_t can_signal_t::get_bit_position() const +uint8_t signal_t::get_bit_position() const { return bit_position_; } -uint8_t can_signal_t::get_bit_size() const +uint8_t signal_t::get_bit_size() const { return bit_size_; } -float can_signal_t::get_factor() const +float signal_t::get_factor() const { return factor_; } -float can_signal_t::get_offset() const +float signal_t::get_offset() const { return offset_; } -frequency_clock_t& can_signal_t::get_frequency() +frequency_clock_t& signal_t::get_frequency() { return frequency_; } -bool can_signal_t::get_send_same() const +bool signal_t::get_send_same() const { return send_same_; } -const std::string can_signal_t::get_states(uint8_t value) +const std::string signal_t::get_states(uint8_t value) { if ( states_.count(value) > 0 ) return states_[value]; return std::string(); } -uint64_t can_signal_t::get_states(const std::string& value) const +uint64_t signal_t::get_states(const std::string& value) const { uint64_t ret = -1; for( const auto& state: states_) @@ -130,53 +171,72 @@ uint64_t can_signal_t::get_states(const std::string& value) const return ret; } -bool can_signal_t::get_writable() const +bool signal_t::get_writable() const { return writable_; } -signal_decoder& can_signal_t::get_decoder() +signal_decoder& signal_t::get_decoder() { return decoder_; } -signal_encoder& can_signal_t::get_encoder() +signal_encoder& signal_t::get_encoder() { return encoder_; } -bool can_signal_t::get_received() const +bool signal_t::get_received() const { return received_; } -float can_signal_t::get_last_value() const +float signal_t::get_last_value() const { return last_value_; } -std::pair can_signal_t::get_last_value_with_timestamp() const +std::pair signal_t::get_last_value_with_timestamp() const { return std::make_pair(last_value_, frequency_.get_last_tick()); } -void can_signal_t::set_parent(can_message_definition_t* parent) +void signal_t::set_parent(std::shared_ptr parent) { parent_ = parent; } -void can_signal_t::set_received(bool r) +void signal_t::set_received(bool r) { received_ = r; } -void can_signal_t::set_last_value(float val) +void signal_t::set_last_value(float val) { last_value_ = val; } -void can_signal_t::set_timestamp(uint64_t timestamp) +void signal_t::set_timestamp(uint64_t timestamp) { frequency_.tick(timestamp); } +std::pair signal_t::get_multiplex() const +{ + return multiplex_; +} + +bool signal_t::get_is_big_endian() const +{ + return is_big_endian_; +} + +bool signal_t::get_is_signed() const +{ + return is_signed_; +} + +const std::string signal_t::get_unit() const +{ + return unit_; +}