24#ifndef TAPROOT_ENDIANNESS_WRAPPERS_HPP_
25#define TAPROOT_ENDIANNESS_WRAPPERS_HPP_
30#include "modm/architecture/detect.hpp"
50 int numBytes =
sizeof(T);
51 for (
int i = 0;
i < numBytes;
i++)
53 int index = forward ?
i : numBytes - 1 -
i;
54 uint8_t
byte = (data >> (8 * index)) & 0xff;
73 int numBytes =
sizeof(T);
74 for (
int i = 0;
i < numBytes;
i++)
76 int index = forward ?
i : numBytes - 1 -
i;
77 uint8_t
byte = (*(bytesIn + index));
78 *(
reinterpret_cast<uint8_t *
>(data) +
i) = byte;
97#if MODM_IS_LITTLE_ENDIAN
98 memcpy(bytesOut, &data,
sizeof(T));
119#if MODM_IS_LITTLE_ENDIAN
122 memcpy(bytesOut, &data,
sizeof(T));
142#if MODM_IS_LITTLE_ENDIAN
143 *data = *
reinterpret_cast<const T *
>(bytesIn);
165#if MODM_IS_LITTLE_ENDIAN
168 *data = *
reinterpret_cast<const T *
>(bytesIn);
180 return static_cast<float>(
static_cast<int16_t
>((*(buff)) | (*(buff + 1) << 8)));
IUnit i
Definition dimensional_smooth_pid.hpp:2
void convertToBigEndian(T data, uint8_t *bytesOut)
Definition endianness_wrappers.hpp:117
void convertFromBigEndian(T *data, const uint8_t *bytesIn)
Definition endianness_wrappers.hpp:163
void byteArrayToData(T *data, const uint8_t *bytesIn, bool forward)
Definition endianness_wrappers.hpp:71
void dataToByteArray(T data, uint8_t *bytesOut, bool forward)
Definition endianness_wrappers.hpp:48
float bigEndianInt16ToFloat(const uint8_t *buff)
Definition endianness_wrappers.hpp:178
void convertFromLittleEndian(T *data, const uint8_t *bytesIn)
Definition endianness_wrappers.hpp:140
void convertToLittleEndian(T data, uint8_t *bytesOut)
Definition endianness_wrappers.hpp:95
Definition ballistics.cpp:29