\r
namespace openxc\r
{\r
+ enum sign_t\r
+ {\r
+ UNSIGNED = 0,\r
+ SIGN_BIT = 1,\r
+ ONES_COMPLEMENT = 2,\r
+ TWOS_COMPLEMENT = 3,\r
+ SIGN_BIT_EXTERN = 4\r
+ };\r
+\r
class signal\r
{\r
private:\r
std::string id_;\r
std::string generic_name_;\r
- std::uint32_t bit_position_;\r
- std::uint32_t bit_size_;\r
+ std::uint32_t bit_position_;\r
+ std::uint32_t bit_size_;\r
float factor_;\r
float offset_;\r
std::string decoder_;\r
bool ignore_;\r
bool enabled_;\r
- std::map<std::string, std::vector<std::uint32_t>> states_;\r
+ std::map<std::string, std::vector<std::uint32_t>> states_;\r
float max_frequency_;\r
bool send_same_;\r
bool force_send_changed_;\r
bool writable_;\r
std::string encoder_;\r
- std::pair<bool,int> multiplex_;\r
- bool is_big_endian_;\r
- bool is_signed_;\r
+ std::pair<bool,int> multiplex_;\r
+ sign_t sign_;\r
+ std::int32_t bit_sign_position_;\r
std::string unit_;\r
\r
public:\r
bool writable() const;\r
std::string encoder() const;\r
std::pair<bool,int> multiplex() const;\r
- bool is_big_endian() const;\r
- bool is_signed() const;\r
+ sign_t sign() const;\r
+ std::int32_t bit_sign_position() const;\r
std::string unit() const;\r
\r
void from_json(const nlohmann::json& j);\r