From 0ee5e30844ecd1749d6d7c48b8ce8f6573ed91cb Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 9 Mar 2017 02:32:25 +0100 Subject: [PATCH] Create getter/setter needed for can_signal_t class. Change-Id: I8253fcbe7edb6673d9f6bcf85d6109800a4cf6e8 Signed-off-by: Romain Forlot --- src/can/can-decoder.cpp | 12 +++---- src/can/can-signals.cpp | 91 +++++++++++++++++++++++++++++++++++++++++++++++-- src/can/can-signals.hpp | 26 +++++++++++--- 3 files changed, 117 insertions(+), 12 deletions(-) diff --git a/src/can/can-decoder.cpp b/src/can/can-decoder.cpp index 9059f979..49fd1513 100644 --- a/src/can/can-decoder.cpp +++ b/src/can/can-decoder.cpp @@ -21,8 +21,8 @@ float decoder_t::parseSignalBitfield(can_signal_t& signal, const can_message_t& message) { return bitfield_parse_float(message.get_data(), CAN_MESSAGE_SIZE, - signal.bitPosition, signal.bitSize, signal.factor, - signal.offset); + signal.get_bit_position(), signal.get_bit_size(), signal.get_factor(), + signal.get_offset()); } openxc_DynamicField decoder_t::noopDecoder(can_signal_t& signal, @@ -96,16 +96,16 @@ openxc_DynamicField decoder_t::translateSignal(can_signal_t& signal, can_message openxc_DynamicField decoded_value = decoder_t::decodeSignal(signal, value, signals, &send); - signal.received_ = true; - signal.last_value_ = value; + signal.set_received(true); + signal.set_last_value(value); return decoded_value; } openxc_DynamicField decoder_t::decodeSignal( can_signal_t& signal, float value, const std::vector& signals, bool* send) { - SignalDecoder decoder = signal.decoder == NULL ? - noopDecoder : signal.decoder; + SignalDecoder decoder = signal.get_decoder() == NULL ? + noopDecoder : signal.get_decoder(); openxc_DynamicField decoded_value = decoder(signal, signals, value, send); return decoded_value; diff --git a/src/can/can-signals.cpp b/src/can/can-signals.cpp index af957699..faecdaa6 100644 --- a/src/can/can-signals.cpp +++ b/src/can/can-signals.cpp @@ -24,16 +24,26 @@ #include "obd2/obd2-signals.hpp" #include "low-can-binding.hpp" -can_message_definition_t& can_signal_t::get_message() const +can_message_definition_t& can_signal_t::get_message() { return message_; } -std::string& can_signal_t::get_generic_name() const +std::string& can_signal_t::get_generic_name() { return generic_name_; } +uint8_t can_signal_t::get_bit_position() const +{ + return bit_position_; +} + +uint8_t can_signal_t::get_bit_size() const +{ + return bit_size_; +} + /** * @fn void find_can_signals(const openxc_DynamicField& key, std::vector& found_signals) * @brief return signals name found searching through CAN_signals and OBD2 pid @@ -58,4 +68,81 @@ void find_can_signals(const openxc_DynamicField& key, std::vector break; } DEBUG(binder_interface, "Found %d signal(s)", (int)found_signals.size()); +float can_signal_t::get_factor() const +{ + return factor_; +} + +float can_signal_t::get_offset() const +{ + return offset_; +} + +float can_signal_t::get_min_value() const +{ + return min_value_; +} + +float can_signal_t::get_max_value() const +{ + return max_value_; +} + +FrequencyClock& can_signal_t::get_frequency() +{ + return frequency_; +} + +bool can_signal_t::get_send_same() const +{ + return send_same_; +} + +bool can_signal_t::get_force_send_changed() const +{ + return force_send_changed_; +} + +std::map can_signal_t::get_state() const +{ + return states_; +} + +size_t can_signal_t::get_state_count() const +{ + return states_.size(); +} + +bool can_signal_t::get_writable() const +{ + return writable_; +} + +SignalDecoder& can_signal_t::get_decoder() +{ + return decoder_; +} + +SignalEncoder& can_signal_t::get_encoder() +{ + return encoder_; +} + +bool can_signal_t::get_received() const +{ + return received_; +} +float can_signal_t::get_last_value() const +{ + return last_value_; +} + +void can_signal_t::set_received(bool r) +{ + received_ = r; +} + +void can_signal_t::set_last_value(float val) +{ + last_value_ = val; } diff --git a/src/can/can-signals.hpp b/src/can/can-signals.hpp index 1100ab10..a4f01eb2 100644 --- a/src/can/can-signals.hpp +++ b/src/can/can-signals.hpp @@ -107,8 +107,26 @@ private: * this value is undefined. */ public: - can_message_definition_t& get_message() const; - std::string& get_generic_name() const; -}; + can_message_definition_t& get_message(); + std::string& get_generic_name(); + uint8_t get_bit_position() const; + uint8_t get_bit_size() const; + float get_factor() const; + float get_offset() const; + float get_min_value() const; + float get_max_value() const; + FrequencyClock& get_frequency(); + bool get_send_same() const; + bool get_force_send_changed() const; + std::map get_state() const; + size_t get_state_count() const; + bool get_writable() const; + SignalDecoder& get_decoder(); + SignalEncoder& get_encoder(); + bool get_received() const; + float get_last_value() const; -void find_can_signals(const openxc_DynamicField &key, std::vector& found_signals); \ No newline at end of file + void set_received(bool r); +void find_can_signals(const openxc_DynamicField &key, std::vector& found_signals); void set_received(bool r); + void set_last_value(float val); +}; \ No newline at end of file -- 2.16.6