diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-11-30 09:43:46 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-11-30 09:43:46 +0100 |
commit | f94d6331c3dc58bef76c13751f2f6c51fe133324 (patch) | |
tree | 903dfa8efa4d73c11c98ca8395bfad7f7ae451d3 | |
parent | c581ce6aee5ae878f9ccee02b1cc2651fa43030e (diff) |
Correctly reconstituting entire CAN frame
Change-Id: I39d226c6f6268ec880739e6b9230eb42ce475971
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r-- | low-can-binding/can/can-encoder.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/low-can-binding/can/can-encoder.cpp b/low-can-binding/can/can-encoder.cpp index 5cb1f244..e0015da2 100644 --- a/low-can-binding/can/can-encoder.cpp +++ b/low-can-binding/can/can-encoder.cpp @@ -42,11 +42,12 @@ const can_frame encoder_t::build_frame(const std::shared_ptr<can_signal_t>& sign for(const auto& sig: signal->get_message()->get_can_signals()) { - bitfield_encode_float((float)value, - signal->get_bit_position(), - signal->get_bit_size(), - signal->get_factor(), - signal->get_offset(), + float last_value = sig->get_last_value(); + bitfield_encode_float(last_value, + sig->get_bit_position(), + sig->get_bit_size(), + sig->get_factor(), + sig->get_offset(), cf.data, CAN_MAX_DLEN); } |