From f94d6331c3dc58bef76c13751f2f6c51fe133324 Mon Sep 17 00:00:00 2001
From: Romain Forlot <romain.forlot@iot.bzh>
Date: Thu, 30 Nov 2017 09:43:46 +0100
Subject: Correctly reconstituting entire CAN frame

Change-Id: I39d226c6f6268ec880739e6b9230eb42ce475971
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
---
 low-can-binding/can/can-encoder.cpp | 11 ++++++-----
 1 file 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);
 	}
-- 
cgit