openaliro
Aliro reader: UWB/CCC core and ESP32-S3/C5/C6 port
Loading...
Searching...
No Matches
aliro_uwb_msg_builder.h
Go to the documentation of this file.
1
3#pragma once
4
6
8
9#include <stdbool.h>
10#include <stddef.h>
11#include <stdint.h>
12
25 size_t capacity;
26};
27
29bool aliro_uwb_msg_builder_init(struct aliro_uwb_msg_builder *builder, uint16_t payload_len);
30
32void aliro_uwb_msg_builder_header(struct aliro_uwb_msg_builder *builder, uint8_t protocol,
33 uint8_t id, uint16_t payload_length);
34
36bool aliro_uwb_msg_builder_add_u8(struct aliro_uwb_msg_builder *builder, uint8_t id, uint8_t value);
37
39bool aliro_uwb_msg_builder_add_u16(struct aliro_uwb_msg_builder *builder, uint8_t id,
40 uint16_t value);
41
43bool aliro_uwb_msg_builder_add_u32(struct aliro_uwb_msg_builder *builder, uint8_t id,
44 uint32_t value);
45
47bool aliro_uwb_msg_builder_add_u64(struct aliro_uwb_msg_builder *builder, uint8_t id,
48 uint64_t value);
49
51bool aliro_uwb_msg_builder_add_u16_array(struct aliro_uwb_msg_builder *builder, uint8_t id,
52 size_t count, const uint16_t *values);
53
57bool aliro_uwb_msg_builder_add_bytes(struct aliro_uwb_msg_builder *builder, uint8_t id,
58 size_t count, const uint8_t *values);
bool aliro_uwb_msg_builder_add_u16(struct aliro_uwb_msg_builder *builder, uint8_t id, uint16_t value)
Append a 2-byte big-endian attribute.
Definition aliro_uwb_msg_builder.c:90
void aliro_uwb_msg_builder_header(struct aliro_uwb_msg_builder *builder, uint8_t protocol, uint8_t id, uint16_t payload_length)
Append the 4-byte header (protocol, id, big-endian payload length).
Definition aliro_uwb_msg_builder.c:34
bool aliro_uwb_msg_builder_init(struct aliro_uwb_msg_builder *builder, uint16_t payload_len)
Allocate a message with room for payload_len payload bytes plus header.
Definition aliro_uwb_msg_builder.c:14
bool aliro_uwb_msg_builder_add_u32(struct aliro_uwb_msg_builder *builder, uint8_t id, uint32_t value)
Append a 4-byte big-endian attribute.
Definition aliro_uwb_msg_builder.c:105
bool aliro_uwb_msg_builder_add_u64(struct aliro_uwb_msg_builder *builder, uint8_t id, uint64_t value)
Append a 8-byte big-endian attribute.
Definition aliro_uwb_msg_builder.c:125
bool aliro_uwb_msg_builder_add_u8(struct aliro_uwb_msg_builder *builder, uint8_t id, uint8_t value)
Append a 1-byte-value attribute.
Definition aliro_uwb_msg_builder.c:78
bool aliro_uwb_msg_builder_add_u16_array(struct aliro_uwb_msg_builder *builder, uint8_t id, size_t count, const uint16_t *values)
Append an attribute whose value is count big-endian 16-bit words.
Definition aliro_uwb_msg_builder.c:146
bool aliro_uwb_msg_builder_add_bytes(struct aliro_uwb_msg_builder *builder, uint8_t id, size_t count, const uint8_t *values)
Append an attribute whose value is count raw bytes.
Definition aliro_uwb_msg_builder.c:167
— UWB ranging-service framing constants.
— per-session public interface.
Framed Aliro BLE message with 4-byte header followed by TLV payload.
Definition aliro_uwb_session.h:24
Accumulates bytes into a heap-allocated Aliro UWB message.
Definition aliro_uwb_msg_builder.h:19
struct aliro_uwb_message * message
Aliro UWB message under construction, holding encoded M1-M4 attributes and payload.
Definition aliro_uwb_msg_builder.h:24