Create getter/setter needed for can_signal_t class.
authorRomain Forlot <romain.forlot@iot.bzh>
Thu, 9 Mar 2017 01:32:25 +0000 (02:32 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 16 Mar 2017 16:10:40 +0000 (17:10 +0100)
Change-Id: I8253fcbe7edb6673d9f6bcf85d6109800a4cf6e8
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
src/can/can-decoder.cpp
src/can/can-signals.cpp
src/can/can-signals.hpp

index 9059f97..49fd151 100644 (file)
@@ -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,
 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,
 }
 
 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);
 
        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<can_signal_t>& signals, bool* send)
 {
        return decoded_value;
 }
 
 openxc_DynamicField decoder_t::decodeSignal( can_signal_t& signal,
                float value, const std::vector<can_signal_t>& 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;
        openxc_DynamicField decoded_value = decoder(signal, signals,
                        value, send);
        return decoded_value;
index af95769..faecdaa 100644 (file)
 #include "obd2/obd2-signals.hpp"
 #include "low-can-binding.hpp"
 
 #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_;
 }
 
 {
        return message_;
 }
 
-std::string& can_signal_t::get_generic_name() const
+std::string& can_signal_t::get_generic_name()
 {
        return 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<can_signal_t*>& found_signals)
  * @brief return signals name found searching through CAN_signals and OBD2 pid
 /**
  * @fn void find_can_signals(const openxc_DynamicField& key, std::vector<can_signal_t*>& 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<can_signal_t*>
                        break;
        }
        DEBUG(binder_interface, "Found %d signal(s)", (int)found_signals.size());
                        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<int, std::string> 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;
 }
 }
index 1100ab1..a4f01eb 100644 (file)
@@ -107,8 +107,26 @@ private:
                                           *    this value is undefined. */
 
 public:
                                           *    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<int, std::string> 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<can_signal_t*>& found_signals);
\ No newline at end of file
+       void set_received(bool r);
+void find_can_signals(const openxc_DynamicField &key, std::vector<can_signal_t*>& found_signals);      void set_received(bool r);
+       void set_last_value(float val);
+};
\ No newline at end of file