Code Review
/
apps
/
agl-service-can-low-level.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
decoder: Fix bit_position swapping
[apps/agl-service-can-low-level.git]
/
low-can-binding
/
can
/
signals.cpp
diff --git
a/low-can-binding/can/signals.cpp
b/low-can-binding/can/signals.cpp
index
57aefa5
..
28246a0
100755
(executable)
--- a/
low-can-binding/can/signals.cpp
+++ b/
low-can-binding/can/signals.cpp
@@
-46,7
+46,8
@@
signal_t::signal_t(
bool received,
std::pair<bool, int> multiplex,
bool is_big_endian,
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 }
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}
, 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}
, unit_{unit}
+ ,bit_position_is_swapped_{false}
{}
signal_t::signal_t(
{}
signal_t::signal_t(
@@
-102,6
+105,7
@@
signal_t::signal_t(
, decoder_{decoder}
, encoder_{encoder}
, received_{received}
, decoder_{decoder}
, encoder_{encoder}
, received_{received}
+ , bit_position_is_swapped_{false}
{}
std::shared_ptr<message_definition_t> signal_t::get_message() const
{}
std::shared_ptr<message_definition_t> signal_t::get_message() const
@@
-220,7
+224,12
@@
void signal_t::set_timestamp(uint64_t timestamp)
frequency_.tick(timestamp);
}
frequency_.tick(timestamp);
}
-std::pair<bool, int> signal_t::get_multiplex() const
+void signal_t::set_bit_position(uint32_t bit_position)
+{
+ bit_position_=bit_position;
+}
+
+std::pair<bool,int> signal_t::get_multiplex() const
{
return multiplex_;
}
{
return multiplex_;
}
@@
-230,12
+239,27
@@
bool signal_t::get_is_big_endian() const
return is_big_endian_;
}
return is_big_endian_;
}
-bool signal_t::get_is_signed() const
+sign_t signal_t::get_sign() const
+{
+ return sign_;
+}
+
+int32_t signal_t::get_bit_sign_position() const
{
{
- return
is_signed
_;
+ return
bit_sign_position
_;
}
const std::string signal_t::get_unit() const
{
return unit_;
}
}
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_;
+}