CAN message will not be modified once read.
[apps/agl-service-can-low-level.git] / CAN-binder / low-can-binding / can / can-decoder.cpp
index e01e43b..2ccbbb8 100644 (file)
@@ -20,7 +20,7 @@
 #include "canutil/read.h"
 #include "../utils/openxc-utils.hpp"
 
-#include "../low-can-binding.hpp"
+#include "../binding/low-can-hat.hpp"
 
 /// @brief Parse the signal's bitfield from the given data and return the raw
 /// value.
@@ -153,7 +153,7 @@ openxc_DynamicField decoder_t::stateDecoder(can_signal_t& signal,
 /// The decoder returns an openxc_DynamicField, which may contain a number,
 /// string or boolean.
 ///
-openxc_DynamicField decoder_t::translateSignal(can_signal_t& signal, can_message_t& message,
+openxc_DynamicField decoder_t::translateSignal(can_signal_t& signal, const can_message_t& message,
        const std::vector<can_signal_t>& signals, bool* send)
 {
        float value = decoder_t::parseSignalBitfield(signal, message);
@@ -172,6 +172,7 @@ openxc_DynamicField decoder_t::translateSignal(can_signal_t& signal, can_message
                *send = false;
        }
        signal.set_last_value(value);
+       signal.get_message().set_last_value(message);
        return decoded_value;
 }