X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fopenxc%2Fsignal.hpp;fp=src%2Fopenxc%2Fsignal.hpp;h=ce0a2e10030e57d848612b88778bfbc31e1c5c96;hb=0a3e354c3d81866e1a755367ab5592b3ced868bb;hp=750926b9f643e37f76222092d2ccb7e52631978e;hpb=d9c40fd96e31ce41166e2b846301335ed6fe5d37;p=src%2Flow-level-can-generator.git diff --git a/src/openxc/signal.hpp b/src/openxc/signal.hpp index 750926b..ce0a2e1 100755 --- a/src/openxc/signal.hpp +++ b/src/openxc/signal.hpp @@ -8,27 +8,36 @@ namespace openxc { + enum sign_t + { + UNSIGNED = 0, + SIGN_BIT = 1, + ONES_COMPLEMENT = 2, + TWOS_COMPLEMENT = 3, + SIGN_BIT_EXTERN = 4 + }; + class signal { private: std::string id_; std::string generic_name_; - std::uint32_t bit_position_; - std::uint32_t bit_size_; + std::uint32_t bit_position_; + std::uint32_t bit_size_; float factor_; float offset_; std::string decoder_; bool ignore_; bool enabled_; - std::map> states_; + std::map> states_; float max_frequency_; bool send_same_; bool force_send_changed_; bool writable_; std::string encoder_; - std::pair multiplex_; - bool is_big_endian_; - bool is_signed_; + std::pair multiplex_; + sign_t sign_; + std::int32_t bit_sign_position_; std::string unit_; public: @@ -49,8 +58,8 @@ namespace openxc bool writable() const; std::string encoder() const; std::pair multiplex() const; - bool is_big_endian() const; - bool is_signed() const; + sign_t sign() const; + std::int32_t bit_sign_position() const; std::string unit() const; void from_json(const nlohmann::json& j);