From 7fbbe2abfff910e4df18b76f79c14ee02b378f84 Mon Sep 17 00:00:00 2001 From: Paul Guenette Date: Sun, 17 Mar 2019 20:56:17 +0100 Subject: [PATCH] Use memcpy to put data into the buffer --- Firmware/fibre/cpp/include/fibre/protocol.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/fibre/cpp/include/fibre/protocol.hpp b/Firmware/fibre/cpp/include/fibre/protocol.hpp index 552dbd9e..ff3e6237 100644 --- a/Firmware/fibre/cpp/include/fibre/protocol.hpp +++ b/Firmware/fibre/cpp/include/fibre/protocol.hpp @@ -82,12 +82,11 @@ typedef struct { uint16_t endpoint_id; } endpoint_ref_t; +#include template::value>> inline size_t write_le(T value, uint8_t* buffer){ - for(size_t i = 0; i < sizeof(value); ++i){ - buffer[i] = (value >> 8*i) & 0xff; - } + std::memcpy(&buffer[0], &value, sizeof(value)); return sizeof(value); } @@ -118,6 +117,7 @@ template<> inline size_t read_le(float* value, const uint8_t* buffer) { static_assert(CHAR_BIT * sizeof(float) == 32, "32 bit floating point expected"); static_assert(std::numeric_limits::is_iec559, "IEEE 754 floating point expected"); + return read_le(reinterpret_cast(value), buffer); }