summaryrefslogtreecommitdiffstats
path: root/low-can-binding/can/can-encoder.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2019-11-26 16:19:04 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2019-11-28 16:11:47 +0100
commitdbc9c9912317185356f0333bd9bb546d4d4f38c7 (patch)
treed7cfeafbcd8769fb5e0455e9b5ac205bb52d7fe4 /low-can-binding/can/can-encoder.hpp
parent1ebfa6dc2137bf6cbc487b6efc94ce976cf0ed27 (diff)
Update function to encode and decode message
This commit update encoder and decoder files. This new implementation allows to manage larger signals. Bug-AGL : SPEC-2779 Bug-AGL: SPEC-2976 Change-Id: Iec6dfbd279863aa8b8e8f9e3ce951f0c8aa80dae Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'low-can-binding/can/can-encoder.hpp')
-rw-r--r--low-can-binding/can/can-encoder.hpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/low-can-binding/can/can-encoder.hpp b/low-can-binding/can/can-encoder.hpp
index c37521f4..d4505f04 100644
--- a/low-can-binding/can/can-encoder.hpp
+++ b/low-can-binding/can/can-encoder.hpp
@@ -28,13 +28,12 @@
class encoder_t
{
public:
- static const canfd_frame build_frame(const std::shared_ptr<signal_t>& signal, uint64_t value);
- static message_t* build_message(const std::shared_ptr<signal_t>& signal, uint64_t value);
- static message_t* build_one_frame_message(const std::shared_ptr<signal_t>& signal, uint64_t value, message_t *message);
- static message_t* build_multi_frame_message(const std::shared_ptr<signal_t>& signal, uint64_t value, message_t *message);
+ static message_t* build_message(const std::shared_ptr<signal_t>& signal, uint64_t value, bool factor=true, bool offset=true);
+ static message_t* build_frame(const std::shared_ptr<signal_t>& signal, uint64_t value, message_t *message, bool factor=true, bool offset=true);
static uint64_t encode_state(const signal_t& signal, const std::string& value, bool* send);
static uint64_t encode_boolean(const signal_t& signal, bool value, bool* send);
static uint64_t encode_number(const signal_t& signal, float value, bool* send);
+ static void encode_data(std::shared_ptr<signal_t> sig, std::vector<uint8_t> &data, bool filter=false, bool factor=true, bool offset=true);
static uint64_t encode_DynamicField(signal_t& signal, const openxc_DynamicField& field, bool* send);
-};
+}; \ No newline at end of file