This example demonstrates how a complex format can be serialized in a dynamically sized array
#include "../include/serdes.h"
#include <stdio.h>
{
uint8_t x = 0xAB, y = 0xCD, z = 0xEF;
{
serdes_obj + x + y + z;
}
};
template <size_t capacity>
{
uint16_t size = 0;
coordinates values[capacity];
{
}
};
int main()
{
uint16_t serial_data[] = {0x0003, 0x0102, 0x0304, 0x0506, 0x0708, 0x090A, 0x0B0C};
vector3d<100> obj;
auto load_result = obj.load(serial_data);
printf("loaded vector3d<100> (with %s) = [%u/100]{\n",
for (size_t i = 0; i < obj.size; i++)
printf(" xyz[%zu] = {0x%02X, 0x%02X, 0x%02X}\n",
i, obj.values[i].x, obj.values[i].y, obj.values[i].z);
printf("}\n");
}