low-can-cb: improve readability
[apps/agl-service-can-low-level.git] / low-can-binding / can / signals.cpp
index 2b87dc6..28246a0 100755 (executable)
@@ -46,7 +46,8 @@ signal_t::signal_t(
        bool received,
        std::pair<bool, int> multiplex,
        bool is_big_endian,
-       bool is_signed,
+       sign_t sign,
+       int32_t bit_sign_position,
        std::string unit)
        : parent_{nullptr},
         generic_name_{ generic_name }
@@ -67,8 +68,10 @@ signal_t::signal_t(
        , last_value_{.0f}
        , multiplex_{multiplex}
        , is_big_endian_{is_big_endian}
-       , is_signed_{is_signed}
+       , sign_{sign}
+       , bit_sign_position_{bit_sign_position}
        , unit_{unit}
+       ,bit_position_is_swapped_{false}
 {}
 
 signal_t::signal_t(
@@ -102,6 +105,7 @@ signal_t::signal_t(
        , decoder_{decoder}
        , encoder_{encoder}
        , received_{received}
+       , bit_position_is_swapped_{false}
 {}
 
 std::shared_ptr<message_definition_t> signal_t::get_message() const
@@ -235,12 +239,27 @@ bool signal_t::get_is_big_endian() const
        return is_big_endian_;
 }
 
-bool signal_t::get_is_signed() const
+sign_t signal_t::get_sign() const
 {
-       return is_signed_;
+       return sign_;
+}
+
+int32_t signal_t::get_bit_sign_position() const
+{
+       return bit_sign_position_;
 }
 
 const std::string signal_t::get_unit() const
 {
        return unit_;
 }
+
+bool signal_t::bit_position_is_swapped() const
+{
+       return bit_position_is_swapped_;
+}
+
+void signal_t::bit_position_is_swapped_reverse()
+{
+       bit_position_is_swapped_ = !bit_position_is_swapped_;
+}