powerpods/main/proto/uart_messages.pb.h

1222 lines
58 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Automatically generated nanopb header */
/* Generated by nanopb-1.0.0-dev */
#ifndef PB_ALOX_UART_MESSAGES_PB_H_INCLUDED
#define PB_ALOX_UART_MESSAGES_PB_H_INCLUDED
#include <pb.h>
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif
/* Enum definitions */
typedef enum _alox_MessageType {
alox_MessageType_UNKNOWN = 0,
alox_MessageType_ACK = 1,
alox_MessageType_ECHO = 2,
alox_MessageType_VERSION = 3,
alox_MessageType_CLIENT_INFO = 4,
alox_MessageType_CLIENT_INPUT = 5,
alox_MessageType_ACCEL_DEADZONE = 6,
alox_MessageType_ESPNOW_UNICAST_TEST = 7,
alox_MessageType_LED_RING = 8,
alox_MessageType_OTA_START = 16,
alox_MessageType_OTA_PAYLOAD = 17,
alox_MessageType_OTA_END = 18,
alox_MessageType_OTA_STATUS = 19,
alox_MessageType_OTA_START_ESPNOW = 20,
alox_MessageType_OTA_SLAVE_PROGRESS = 21,
alox_MessageType_FIND_ME = 22,
alox_MessageType_RESTART = 23,
alox_MessageType_ACCEL_STREAM = 25,
alox_MessageType_BATTERY_STATUS = 26,
alox_MessageType_TAP_NOTIFY = 27,
/* * Combined cached accel + tap poll (one UART round-trip, ~16 ms cadence). */
alox_MessageType_CACHE_STATUS = 29,
/* * Host → master → slave → master: timestamp echo round-trip (latency test). */
alox_MessageType_ESPNOW_ECHO_PING = 30
} alox_MessageType;
typedef enum _alox_TapKind {
alox_TapKind_TAP_NONE = 0,
alox_TapKind_TAP_SINGLE = 1,
alox_TapKind_TAP_DOUBLE = 2,
alox_TapKind_TAP_TRIPLE = 3
} alox_TapKind;
/* Struct definitions */
typedef struct _alox_Ack {
char dummy_field;
} alox_Ack;
typedef struct _alox_EchoPayload {
pb_callback_t data;
} alox_EchoPayload;
typedef struct _alox_VersionResponse {
uint32_t version;
pb_callback_t git_hash;
/* * Active OTA app partition label, e.g. "ota_0" or "ota_1". */
pb_callback_t running_partition;
} alox_VersionResponse;
typedef struct _alox_ClientInfo {
uint32_t id;
bool available;
bool used;
pb_callback_t mac;
uint32_t last_ping;
uint32_t last_success_ping;
uint32_t version;
/* * Master: ESP-NOW accel stream enabled for this slave. */
bool accel_stream_enabled;
/* * Master: ESP-NOW tap notify flags for this slave. */
bool tap_notify_single;
bool tap_notify_double;
bool tap_notify_triple;
} alox_ClientInfo;
typedef struct _alox_ClientInfoResponse {
pb_callback_t clients;
} alox_ClientInfoResponse;
typedef struct _alox_ClientInput {
uint32_t id;
float lage_x;
float lage_y;
uint32_t bitmask;
} alox_ClientInput;
typedef struct _alox_ClientInputResponse {
pb_callback_t clients;
} alox_ClientInputResponse;
/* write=false: read deadzone; write=true: apply deadzone (LSB per axis, raw accel units).
client_id 0 = local BMA456 on this node; >0 = slave id on master; ignored on slave.
all_clients = true (master only): push deadzone to every registered slave via ESP-NOW. */
typedef struct _alox_AccelDeadzoneRequest {
bool write;
uint32_t deadzone;
uint32_t client_id;
bool all_clients;
} alox_AccelDeadzoneRequest;
typedef struct _alox_AccelDeadzoneResponse {
uint32_t deadzone;
uint32_t client_id;
bool success;
uint32_t slaves_updated;
} alox_AccelDeadzoneResponse;
/* Host → master: enable/disable slave accel ESP-NOW stream (~16 ms per slave).
write=false: read; write=true: apply. client_id 0 invalid for write (use >0 or all_clients). */
typedef struct _alox_AccelStreamRequest {
bool write;
bool enable;
uint32_t client_id;
bool all_clients;
} alox_AccelStreamRequest;
typedef struct _alox_AccelStreamResponse {
bool enabled;
uint32_t client_id;
bool success;
uint32_t slaves_updated;
} alox_AccelStreamResponse;
/* * Host → master: read LiPo ADC voltages (master local and/or slaves via ESP-NOW). */
typedef struct _alox_BatteryStatusRequest {
/* * 0 = master only; >0 = one slave; ignored when all_clients */
uint32_t client_id;
/* * Master (client_id 0) plus every registered slave */
bool all_clients;
} alox_BatteryStatusRequest;
typedef struct _alox_LipoReading {
bool valid;
/* * Estimated pack voltage in millivolts from ADC */
uint32_t voltage_mv;
} alox_LipoReading;
typedef struct _alox_BatterySample {
uint32_t client_id;
bool has_lipo1;
alox_LipoReading lipo1;
bool has_lipo2;
alox_LipoReading lipo2;
/* * Milliseconds since last ESP-NOW battery report from this pod. */
uint32_t age_ms;
} alox_BatterySample;
typedef struct _alox_BatteryStatusResponse {
bool success;
pb_size_t samples_count;
alox_BatterySample samples[17];
} alox_BatteryStatusResponse;
/* * Legacy host-side sample shape (dashboard helpers); use CACHE_STATUS on the wire. */
typedef struct _alox_AccelSample {
uint32_t client_id;
bool valid;
int32_t x;
int32_t y;
int32_t z;
/* * Milliseconds since last ESP-NOW sample from this slave. */
uint32_t age_ms;
} alox_AccelSample;
/* * Host → master: enable/disable tap ESP-NOW notify per slave (single/double/triple). */
typedef struct _alox_TapNotifyRequest {
bool write;
uint32_t client_id;
bool all_clients;
bool single;
bool double_tap;
bool triple;
} alox_TapNotifyRequest;
typedef struct _alox_TapNotifyResponse {
uint32_t client_id;
bool success;
uint32_t slaves_updated;
bool single;
bool double_tap;
bool triple;
} alox_TapNotifyResponse;
/* * Legacy tap event shape (dashboard helpers); use CACHE_STATUS on the wire. */
typedef struct _alox_TapEvent {
uint32_t client_id;
bool valid;
alox_TapKind kind;
uint32_t age_ms;
} alox_TapEvent;
/* * Host → master: one-shot read of subscribed cached slave data (no request body). */
typedef struct _alox_CacheStatusRequest {
char dummy_field;
} alox_CacheStatusRequest;
/* * Accel slice inside CACHE_STATUS (no client_id — use parent CacheClientStatus). */
typedef struct _alox_CacheClientAccel {
bool valid;
int32_t x;
int32_t y;
int32_t z;
uint32_t age_ms;
} alox_CacheClientAccel;
/* * Tap slice inside CACHE_STATUS; only present when a pending tap was consumed. */
typedef struct _alox_CacheClientTap {
alox_TapKind kind;
uint32_t age_ms;
} alox_CacheClientTap;
/* * One slave with accel and/or tap notify enabled; only subscribed fields are set. */
typedef struct _alox_CacheClientStatus {
uint32_t client_id;
bool has_accel;
alox_CacheClientAccel accel;
bool has_tap;
alox_CacheClientTap tap;
} alox_CacheClientStatus;
typedef struct _alox_CacheStatusResponse {
/* * Slaves with accel_stream and/or tap notify; omitted fields are not subscribed. */
pb_size_t clients_count;
alox_CacheClientStatus clients[16];
} alox_CacheStatusResponse;
typedef struct _alox_EspNowUnicastTestRequest {
uint32_t client_id;
uint32_t seq;
} alox_EspNowUnicastTestRequest;
typedef struct _alox_EspNowUnicastTestResponse {
bool success;
uint32_t seq;
} alox_EspNowUnicastTestResponse;
/* * Host → master: ESP-NOW echo ping to one slave (timestamp echoed back). */
typedef struct _alox_EspNowEchoPingRequest {
uint32_t client_id;
/* * Microseconds since Unix epoch (host clock). */
uint64_t timestamp_us;
} alox_EspNowEchoPingRequest;
typedef struct _alox_EspNowEchoPingResponse {
bool success;
uint32_t client_id;
/* * Echoed host timestamp from goTool request. */
uint64_t timestamp_us;
/* * esp_timer_get_time() delta from ping send to pong recv (master→slave→master). */
uint32_t esp_rtt_us;
} alox_EspNowEchoPingResponse;
/* Host → master: LED ring on master (client_id=0) and/or slaves via ESP-NOW.
mode: 0=clear, 1=progress (0100 %), 2=digit (010), 3=blink, 4=find-me, 5=all LEDs solid color. */
typedef struct _alox_LedRingProgressRequest {
uint32_t mode;
/* * 0100: fraction of ring LEDs to light (mode=progress) */
uint32_t progress;
/* * 010 (mode=digit) */
uint32_t digit;
uint32_t r;
uint32_t g;
uint32_t b;
/* * 0255 brightness scale; 0 = firmware default (~5 %) */
uint32_t intensity;
/* * Pulse length in ms (mode=blink, default 350) */
uint32_t blink_ms;
/* * Number of pulses (mode=blink, default 1) */
uint32_t blink_count;
/* * 0 = master ring only; >0 = one slave; ignored when all_clients */
uint32_t client_id;
/* * Broadcast to all registered slaves (and optionally master unless slaves_only) */
bool all_clients;
/* * With all_clients: do not change master ring */
bool slaves_only;
} alox_LedRingProgressRequest;
typedef struct _alox_LedRingProgressResponse {
bool success;
uint32_t mode;
uint32_t progress;
uint32_t digit;
uint32_t client_id;
uint32_t slaves_updated;
} alox_LedRingProgressResponse;
/* * Host → master: find-me on local ring (client_id=0) or ESP-NOW unicast to one slave. */
typedef struct _alox_EspNowFindMeRequest {
uint32_t client_id;
} alox_EspNowFindMeRequest;
typedef struct _alox_EspNowFindMeResponse {
bool success;
uint32_t client_id;
} alox_EspNowFindMeResponse;
/* * Host → master: restart local node (client_id=0) or ESP-NOW unicast to one slave. */
typedef struct _alox_RestartRequest {
uint32_t client_id;
} alox_RestartRequest;
typedef struct _alox_RestartResponse {
bool success;
uint32_t client_id;
} alox_RestartResponse;
/* Host → device: begin UART OTA (erase inactive OTA slot; device replies OTA_STATUS). */
typedef struct _alox_OtaStartPayload {
uint32_t total_size;
} alox_OtaStartPayload;
typedef PB_BYTES_ARRAY_T(200) alox_OtaPayload_data_t;
/* Host → device: firmware chunk (up to 200 bytes); device buffers 4 KiB before flash write. */
typedef struct _alox_OtaPayload {
uint32_t seq;
alox_OtaPayload_data_t data;
} alox_OtaPayload;
/* Host → device: no more payload; device flushes buffer and finalizes OTA. */
typedef struct _alox_OtaEndPayload {
char dummy_field;
} alox_OtaEndPayload;
/* Device → host status (also used as ACK after each 4 KiB written).
status: 1=preparing, 2=ready, 3=block_ack, 4=success, 5=failed, 6=distributing */
typedef struct _alox_OtaStatusPayload {
uint32_t status;
uint32_t bytes_written;
uint32_t target_slot;
uint32_t error;
} alox_OtaStatusPayload;
/* Host → master: query ESP-NOW slave OTA progress (client_id 0 = all slaves in session). */
typedef struct _alox_OtaSlaveProgressRequest {
uint32_t client_id;
} alox_OtaSlaveProgressRequest;
typedef struct _alox_OtaSlaveProgressEntry {
uint32_t client_id;
uint32_t bytes_written;
uint32_t total_bytes;
/* * 0=idle, 1=preparing, 2=ready, 3=distributing, 4=success, 5=failed */
uint32_t status;
uint32_t error;
} alox_OtaSlaveProgressEntry;
typedef struct _alox_OtaSlaveProgressResponse {
bool active;
uint32_t total_bytes;
uint32_t aggregate_bytes;
uint32_t slave_count;
pb_size_t slaves_count;
alox_OtaSlaveProgressEntry slaves[16];
} alox_OtaSlaveProgressResponse;
typedef struct _alox_UartMessage {
alox_MessageType type;
pb_size_t which_payload;
union _alox_UartMessage_payload {
alox_Ack ack_payload;
alox_EchoPayload echo_payload;
alox_VersionResponse version_response;
alox_ClientInfoResponse client_info_response;
alox_ClientInputResponse client_input_response;
alox_OtaStartPayload ota_start;
alox_OtaPayload ota_payload;
alox_OtaEndPayload ota_end;
alox_OtaStatusPayload ota_status;
alox_AccelDeadzoneRequest accel_deadzone_request;
alox_AccelDeadzoneResponse accel_deadzone_response;
alox_EspNowUnicastTestRequest espnow_unicast_test_request;
alox_EspNowUnicastTestResponse espnow_unicast_test_response;
alox_OtaSlaveProgressRequest ota_slave_progress_request;
alox_OtaSlaveProgressResponse ota_slave_progress_response;
alox_LedRingProgressRequest led_ring_progress_request;
alox_LedRingProgressResponse led_ring_progress_response;
alox_EspNowFindMeRequest espnow_find_me_request;
alox_EspNowFindMeResponse espnow_find_me_response;
alox_RestartRequest restart_request;
alox_RestartResponse restart_response;
alox_AccelStreamRequest accel_stream_request;
alox_AccelStreamResponse accel_stream_response;
alox_BatteryStatusRequest battery_status_request;
alox_BatteryStatusResponse battery_status_response;
alox_TapNotifyRequest tap_notify_request;
alox_TapNotifyResponse tap_notify_response;
alox_CacheStatusRequest cache_status_request;
alox_CacheStatusResponse cache_status_response;
alox_EspNowEchoPingRequest espnow_echo_ping_request;
alox_EspNowEchoPingResponse espnow_echo_ping_response;
} payload;
} alox_UartMessage;
#ifdef __cplusplus
extern "C" {
#endif
/* Helper constants for enums */
#define _alox_MessageType_MIN alox_MessageType_UNKNOWN
#define _alox_MessageType_MAX alox_MessageType_ESPNOW_ECHO_PING
#define _alox_MessageType_ARRAYSIZE ((alox_MessageType)(alox_MessageType_ESPNOW_ECHO_PING+1))
#define _alox_TapKind_MIN alox_TapKind_TAP_NONE
#define _alox_TapKind_MAX alox_TapKind_TAP_TRIPLE
#define _alox_TapKind_ARRAYSIZE ((alox_TapKind)(alox_TapKind_TAP_TRIPLE+1))
#define alox_UartMessage_type_ENUMTYPE alox_MessageType
#define alox_TapEvent_kind_ENUMTYPE alox_TapKind
#define alox_CacheClientTap_kind_ENUMTYPE alox_TapKind
/* Initializer values for message structs */
#define alox_UartMessage_init_default {_alox_MessageType_MIN, 0, {alox_Ack_init_default}}
#define alox_Ack_init_default {0}
#define alox_EchoPayload_init_default {{{NULL}, NULL}}
#define alox_VersionResponse_init_default {0, {{NULL}, NULL}, {{NULL}, NULL}}
#define alox_ClientInfo_init_default {0, 0, 0, {{NULL}, NULL}, 0, 0, 0, 0, 0, 0, 0}
#define alox_ClientInfoResponse_init_default {{{NULL}, NULL}}
#define alox_ClientInput_init_default {0, 0, 0, 0}
#define alox_ClientInputResponse_init_default {{{NULL}, NULL}}
#define alox_AccelDeadzoneRequest_init_default {0, 0, 0, 0}
#define alox_AccelDeadzoneResponse_init_default {0, 0, 0, 0}
#define alox_AccelStreamRequest_init_default {0, 0, 0, 0}
#define alox_AccelStreamResponse_init_default {0, 0, 0, 0}
#define alox_BatteryStatusRequest_init_default {0, 0}
#define alox_LipoReading_init_default {0, 0}
#define alox_BatterySample_init_default {0, false, alox_LipoReading_init_default, false, alox_LipoReading_init_default, 0}
#define alox_BatteryStatusResponse_init_default {0, 0, {alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default, alox_BatterySample_init_default}}
#define alox_AccelSample_init_default {0, 0, 0, 0, 0, 0}
#define alox_TapNotifyRequest_init_default {0, 0, 0, 0, 0, 0}
#define alox_TapNotifyResponse_init_default {0, 0, 0, 0, 0, 0}
#define alox_TapEvent_init_default {0, 0, _alox_TapKind_MIN, 0}
#define alox_CacheStatusRequest_init_default {0}
#define alox_CacheClientAccel_init_default {0, 0, 0, 0, 0}
#define alox_CacheClientTap_init_default {_alox_TapKind_MIN, 0}
#define alox_CacheClientStatus_init_default {0, false, alox_CacheClientAccel_init_default, false, alox_CacheClientTap_init_default}
#define alox_CacheStatusResponse_init_default {0, {alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default, alox_CacheClientStatus_init_default}}
#define alox_EspNowUnicastTestRequest_init_default {0, 0}
#define alox_EspNowUnicastTestResponse_init_default {0, 0}
#define alox_EspNowEchoPingRequest_init_default {0, 0}
#define alox_EspNowEchoPingResponse_init_default {0, 0, 0, 0}
#define alox_LedRingProgressRequest_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
#define alox_LedRingProgressResponse_init_default {0, 0, 0, 0, 0, 0}
#define alox_EspNowFindMeRequest_init_default {0}
#define alox_EspNowFindMeResponse_init_default {0, 0}
#define alox_RestartRequest_init_default {0}
#define alox_RestartResponse_init_default {0, 0}
#define alox_OtaStartPayload_init_default {0}
#define alox_OtaPayload_init_default {0, {0, {0}}}
#define alox_OtaEndPayload_init_default {0}
#define alox_OtaStatusPayload_init_default {0, 0, 0, 0}
#define alox_OtaSlaveProgressRequest_init_default {0}
#define alox_OtaSlaveProgressEntry_init_default {0, 0, 0, 0, 0}
#define alox_OtaSlaveProgressResponse_init_default {0, 0, 0, 0, 0, {alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default, alox_OtaSlaveProgressEntry_init_default}}
#define alox_UartMessage_init_zero {_alox_MessageType_MIN, 0, {alox_Ack_init_zero}}
#define alox_Ack_init_zero {0}
#define alox_EchoPayload_init_zero {{{NULL}, NULL}}
#define alox_VersionResponse_init_zero {0, {{NULL}, NULL}, {{NULL}, NULL}}
#define alox_ClientInfo_init_zero {0, 0, 0, {{NULL}, NULL}, 0, 0, 0, 0, 0, 0, 0}
#define alox_ClientInfoResponse_init_zero {{{NULL}, NULL}}
#define alox_ClientInput_init_zero {0, 0, 0, 0}
#define alox_ClientInputResponse_init_zero {{{NULL}, NULL}}
#define alox_AccelDeadzoneRequest_init_zero {0, 0, 0, 0}
#define alox_AccelDeadzoneResponse_init_zero {0, 0, 0, 0}
#define alox_AccelStreamRequest_init_zero {0, 0, 0, 0}
#define alox_AccelStreamResponse_init_zero {0, 0, 0, 0}
#define alox_BatteryStatusRequest_init_zero {0, 0}
#define alox_LipoReading_init_zero {0, 0}
#define alox_BatterySample_init_zero {0, false, alox_LipoReading_init_zero, false, alox_LipoReading_init_zero, 0}
#define alox_BatteryStatusResponse_init_zero {0, 0, {alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero, alox_BatterySample_init_zero}}
#define alox_AccelSample_init_zero {0, 0, 0, 0, 0, 0}
#define alox_TapNotifyRequest_init_zero {0, 0, 0, 0, 0, 0}
#define alox_TapNotifyResponse_init_zero {0, 0, 0, 0, 0, 0}
#define alox_TapEvent_init_zero {0, 0, _alox_TapKind_MIN, 0}
#define alox_CacheStatusRequest_init_zero {0}
#define alox_CacheClientAccel_init_zero {0, 0, 0, 0, 0}
#define alox_CacheClientTap_init_zero {_alox_TapKind_MIN, 0}
#define alox_CacheClientStatus_init_zero {0, false, alox_CacheClientAccel_init_zero, false, alox_CacheClientTap_init_zero}
#define alox_CacheStatusResponse_init_zero {0, {alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero, alox_CacheClientStatus_init_zero}}
#define alox_EspNowUnicastTestRequest_init_zero {0, 0}
#define alox_EspNowUnicastTestResponse_init_zero {0, 0}
#define alox_EspNowEchoPingRequest_init_zero {0, 0}
#define alox_EspNowEchoPingResponse_init_zero {0, 0, 0, 0}
#define alox_LedRingProgressRequest_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
#define alox_LedRingProgressResponse_init_zero {0, 0, 0, 0, 0, 0}
#define alox_EspNowFindMeRequest_init_zero {0}
#define alox_EspNowFindMeResponse_init_zero {0, 0}
#define alox_RestartRequest_init_zero {0}
#define alox_RestartResponse_init_zero {0, 0}
#define alox_OtaStartPayload_init_zero {0}
#define alox_OtaPayload_init_zero {0, {0, {0}}}
#define alox_OtaEndPayload_init_zero {0}
#define alox_OtaStatusPayload_init_zero {0, 0, 0, 0}
#define alox_OtaSlaveProgressRequest_init_zero {0}
#define alox_OtaSlaveProgressEntry_init_zero {0, 0, 0, 0, 0}
#define alox_OtaSlaveProgressResponse_init_zero {0, 0, 0, 0, 0, {alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero, alox_OtaSlaveProgressEntry_init_zero}}
/* Field tags (for use in manual encoding/decoding) */
#define alox_EchoPayload_data_tag 1
#define alox_VersionResponse_version_tag 1
#define alox_VersionResponse_git_hash_tag 2
#define alox_VersionResponse_running_partition_tag 3
#define alox_ClientInfo_id_tag 1
#define alox_ClientInfo_available_tag 2
#define alox_ClientInfo_used_tag 3
#define alox_ClientInfo_mac_tag 4
#define alox_ClientInfo_last_ping_tag 5
#define alox_ClientInfo_last_success_ping_tag 6
#define alox_ClientInfo_version_tag 7
#define alox_ClientInfo_accel_stream_enabled_tag 8
#define alox_ClientInfo_tap_notify_single_tag 9
#define alox_ClientInfo_tap_notify_double_tag 10
#define alox_ClientInfo_tap_notify_triple_tag 11
#define alox_ClientInfoResponse_clients_tag 1
#define alox_ClientInput_id_tag 1
#define alox_ClientInput_lage_x_tag 2
#define alox_ClientInput_lage_y_tag 3
#define alox_ClientInput_bitmask_tag 4
#define alox_ClientInputResponse_clients_tag 1
#define alox_AccelDeadzoneRequest_write_tag 1
#define alox_AccelDeadzoneRequest_deadzone_tag 2
#define alox_AccelDeadzoneRequest_client_id_tag 3
#define alox_AccelDeadzoneRequest_all_clients_tag 4
#define alox_AccelDeadzoneResponse_deadzone_tag 1
#define alox_AccelDeadzoneResponse_client_id_tag 2
#define alox_AccelDeadzoneResponse_success_tag 3
#define alox_AccelDeadzoneResponse_slaves_updated_tag 4
#define alox_AccelStreamRequest_write_tag 1
#define alox_AccelStreamRequest_enable_tag 2
#define alox_AccelStreamRequest_client_id_tag 3
#define alox_AccelStreamRequest_all_clients_tag 4
#define alox_AccelStreamResponse_enabled_tag 1
#define alox_AccelStreamResponse_client_id_tag 2
#define alox_AccelStreamResponse_success_tag 3
#define alox_AccelStreamResponse_slaves_updated_tag 4
#define alox_BatteryStatusRequest_client_id_tag 1
#define alox_BatteryStatusRequest_all_clients_tag 2
#define alox_LipoReading_valid_tag 1
#define alox_LipoReading_voltage_mv_tag 2
#define alox_BatterySample_client_id_tag 1
#define alox_BatterySample_lipo1_tag 2
#define alox_BatterySample_lipo2_tag 3
#define alox_BatterySample_age_ms_tag 4
#define alox_BatteryStatusResponse_success_tag 1
#define alox_BatteryStatusResponse_samples_tag 2
#define alox_AccelSample_client_id_tag 1
#define alox_AccelSample_valid_tag 2
#define alox_AccelSample_x_tag 3
#define alox_AccelSample_y_tag 4
#define alox_AccelSample_z_tag 5
#define alox_AccelSample_age_ms_tag 6
#define alox_TapNotifyRequest_write_tag 1
#define alox_TapNotifyRequest_client_id_tag 2
#define alox_TapNotifyRequest_all_clients_tag 3
#define alox_TapNotifyRequest_single_tag 4
#define alox_TapNotifyRequest_double_tap_tag 5
#define alox_TapNotifyRequest_triple_tag 6
#define alox_TapNotifyResponse_client_id_tag 1
#define alox_TapNotifyResponse_success_tag 2
#define alox_TapNotifyResponse_slaves_updated_tag 3
#define alox_TapNotifyResponse_single_tag 4
#define alox_TapNotifyResponse_double_tap_tag 5
#define alox_TapNotifyResponse_triple_tag 6
#define alox_TapEvent_client_id_tag 1
#define alox_TapEvent_valid_tag 2
#define alox_TapEvent_kind_tag 3
#define alox_TapEvent_age_ms_tag 4
#define alox_CacheClientAccel_valid_tag 1
#define alox_CacheClientAccel_x_tag 2
#define alox_CacheClientAccel_y_tag 3
#define alox_CacheClientAccel_z_tag 4
#define alox_CacheClientAccel_age_ms_tag 5
#define alox_CacheClientTap_kind_tag 1
#define alox_CacheClientTap_age_ms_tag 2
#define alox_CacheClientStatus_client_id_tag 1
#define alox_CacheClientStatus_accel_tag 2
#define alox_CacheClientStatus_tap_tag 3
#define alox_CacheStatusResponse_clients_tag 1
#define alox_EspNowUnicastTestRequest_client_id_tag 1
#define alox_EspNowUnicastTestRequest_seq_tag 2
#define alox_EspNowUnicastTestResponse_success_tag 1
#define alox_EspNowUnicastTestResponse_seq_tag 2
#define alox_EspNowEchoPingRequest_client_id_tag 1
#define alox_EspNowEchoPingRequest_timestamp_us_tag 2
#define alox_EspNowEchoPingResponse_success_tag 1
#define alox_EspNowEchoPingResponse_client_id_tag 2
#define alox_EspNowEchoPingResponse_timestamp_us_tag 3
#define alox_EspNowEchoPingResponse_esp_rtt_us_tag 4
#define alox_LedRingProgressRequest_mode_tag 1
#define alox_LedRingProgressRequest_progress_tag 2
#define alox_LedRingProgressRequest_digit_tag 3
#define alox_LedRingProgressRequest_r_tag 4
#define alox_LedRingProgressRequest_g_tag 5
#define alox_LedRingProgressRequest_b_tag 6
#define alox_LedRingProgressRequest_intensity_tag 7
#define alox_LedRingProgressRequest_blink_ms_tag 8
#define alox_LedRingProgressRequest_blink_count_tag 9
#define alox_LedRingProgressRequest_client_id_tag 10
#define alox_LedRingProgressRequest_all_clients_tag 11
#define alox_LedRingProgressRequest_slaves_only_tag 12
#define alox_LedRingProgressResponse_success_tag 1
#define alox_LedRingProgressResponse_mode_tag 2
#define alox_LedRingProgressResponse_progress_tag 3
#define alox_LedRingProgressResponse_digit_tag 4
#define alox_LedRingProgressResponse_client_id_tag 5
#define alox_LedRingProgressResponse_slaves_updated_tag 6
#define alox_EspNowFindMeRequest_client_id_tag 1
#define alox_EspNowFindMeResponse_success_tag 1
#define alox_EspNowFindMeResponse_client_id_tag 2
#define alox_RestartRequest_client_id_tag 1
#define alox_RestartResponse_success_tag 1
#define alox_RestartResponse_client_id_tag 2
#define alox_OtaStartPayload_total_size_tag 1
#define alox_OtaPayload_seq_tag 1
#define alox_OtaPayload_data_tag 2
#define alox_OtaStatusPayload_status_tag 1
#define alox_OtaStatusPayload_bytes_written_tag 2
#define alox_OtaStatusPayload_target_slot_tag 3
#define alox_OtaStatusPayload_error_tag 4
#define alox_OtaSlaveProgressRequest_client_id_tag 1
#define alox_OtaSlaveProgressEntry_client_id_tag 1
#define alox_OtaSlaveProgressEntry_bytes_written_tag 2
#define alox_OtaSlaveProgressEntry_total_bytes_tag 3
#define alox_OtaSlaveProgressEntry_status_tag 4
#define alox_OtaSlaveProgressEntry_error_tag 5
#define alox_OtaSlaveProgressResponse_active_tag 1
#define alox_OtaSlaveProgressResponse_total_bytes_tag 2
#define alox_OtaSlaveProgressResponse_aggregate_bytes_tag 3
#define alox_OtaSlaveProgressResponse_slave_count_tag 4
#define alox_OtaSlaveProgressResponse_slaves_tag 5
#define alox_UartMessage_type_tag 1
#define alox_UartMessage_ack_payload_tag 2
#define alox_UartMessage_echo_payload_tag 3
#define alox_UartMessage_version_response_tag 4
#define alox_UartMessage_client_info_response_tag 5
#define alox_UartMessage_client_input_response_tag 6
#define alox_UartMessage_ota_start_tag 7
#define alox_UartMessage_ota_payload_tag 8
#define alox_UartMessage_ota_end_tag 9
#define alox_UartMessage_ota_status_tag 10
#define alox_UartMessage_accel_deadzone_request_tag 11
#define alox_UartMessage_accel_deadzone_response_tag 12
#define alox_UartMessage_espnow_unicast_test_request_tag 13
#define alox_UartMessage_espnow_unicast_test_response_tag 14
#define alox_UartMessage_ota_slave_progress_request_tag 15
#define alox_UartMessage_ota_slave_progress_response_tag 16
#define alox_UartMessage_led_ring_progress_request_tag 17
#define alox_UartMessage_led_ring_progress_response_tag 18
#define alox_UartMessage_espnow_find_me_request_tag 19
#define alox_UartMessage_espnow_find_me_response_tag 20
#define alox_UartMessage_restart_request_tag 21
#define alox_UartMessage_restart_response_tag 22
#define alox_UartMessage_accel_stream_request_tag 25
#define alox_UartMessage_accel_stream_response_tag 26
#define alox_UartMessage_battery_status_request_tag 27
#define alox_UartMessage_battery_status_response_tag 28
#define alox_UartMessage_tap_notify_request_tag 29
#define alox_UartMessage_tap_notify_response_tag 30
#define alox_UartMessage_cache_status_request_tag 33
#define alox_UartMessage_cache_status_response_tag 34
#define alox_UartMessage_espnow_echo_ping_request_tag 35
#define alox_UartMessage_espnow_echo_ping_response_tag 36
/* Struct field encoding specification for nanopb */
#define alox_UartMessage_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UENUM, type, 1) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ack_payload,payload.ack_payload), 2) \
X(a, STATIC, ONEOF, MESSAGE, (payload,echo_payload,payload.echo_payload), 3) \
X(a, STATIC, ONEOF, MESSAGE, (payload,version_response,payload.version_response), 4) \
X(a, STATIC, ONEOF, MESSAGE, (payload,client_info_response,payload.client_info_response), 5) \
X(a, STATIC, ONEOF, MESSAGE, (payload,client_input_response,payload.client_input_response), 6) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ota_start,payload.ota_start), 7) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ota_payload,payload.ota_payload), 8) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ota_end,payload.ota_end), 9) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ota_status,payload.ota_status), 10) \
X(a, STATIC, ONEOF, MESSAGE, (payload,accel_deadzone_request,payload.accel_deadzone_request), 11) \
X(a, STATIC, ONEOF, MESSAGE, (payload,accel_deadzone_response,payload.accel_deadzone_response), 12) \
X(a, STATIC, ONEOF, MESSAGE, (payload,espnow_unicast_test_request,payload.espnow_unicast_test_request), 13) \
X(a, STATIC, ONEOF, MESSAGE, (payload,espnow_unicast_test_response,payload.espnow_unicast_test_response), 14) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ota_slave_progress_request,payload.ota_slave_progress_request), 15) \
X(a, STATIC, ONEOF, MESSAGE, (payload,ota_slave_progress_response,payload.ota_slave_progress_response), 16) \
X(a, STATIC, ONEOF, MESSAGE, (payload,led_ring_progress_request,payload.led_ring_progress_request), 17) \
X(a, STATIC, ONEOF, MESSAGE, (payload,led_ring_progress_response,payload.led_ring_progress_response), 18) \
X(a, STATIC, ONEOF, MESSAGE, (payload,espnow_find_me_request,payload.espnow_find_me_request), 19) \
X(a, STATIC, ONEOF, MESSAGE, (payload,espnow_find_me_response,payload.espnow_find_me_response), 20) \
X(a, STATIC, ONEOF, MESSAGE, (payload,restart_request,payload.restart_request), 21) \
X(a, STATIC, ONEOF, MESSAGE, (payload,restart_response,payload.restart_response), 22) \
X(a, STATIC, ONEOF, MESSAGE, (payload,accel_stream_request,payload.accel_stream_request), 25) \
X(a, STATIC, ONEOF, MESSAGE, (payload,accel_stream_response,payload.accel_stream_response), 26) \
X(a, STATIC, ONEOF, MESSAGE, (payload,battery_status_request,payload.battery_status_request), 27) \
X(a, STATIC, ONEOF, MESSAGE, (payload,battery_status_response,payload.battery_status_response), 28) \
X(a, STATIC, ONEOF, MESSAGE, (payload,tap_notify_request,payload.tap_notify_request), 29) \
X(a, STATIC, ONEOF, MESSAGE, (payload,tap_notify_response,payload.tap_notify_response), 30) \
X(a, STATIC, ONEOF, MESSAGE, (payload,cache_status_request,payload.cache_status_request), 33) \
X(a, STATIC, ONEOF, MESSAGE, (payload,cache_status_response,payload.cache_status_response), 34) \
X(a, STATIC, ONEOF, MESSAGE, (payload,espnow_echo_ping_request,payload.espnow_echo_ping_request), 35) \
X(a, STATIC, ONEOF, MESSAGE, (payload,espnow_echo_ping_response,payload.espnow_echo_ping_response), 36)
#define alox_UartMessage_CALLBACK NULL
#define alox_UartMessage_DEFAULT NULL
#define alox_UartMessage_payload_ack_payload_MSGTYPE alox_Ack
#define alox_UartMessage_payload_echo_payload_MSGTYPE alox_EchoPayload
#define alox_UartMessage_payload_version_response_MSGTYPE alox_VersionResponse
#define alox_UartMessage_payload_client_info_response_MSGTYPE alox_ClientInfoResponse
#define alox_UartMessage_payload_client_input_response_MSGTYPE alox_ClientInputResponse
#define alox_UartMessage_payload_ota_start_MSGTYPE alox_OtaStartPayload
#define alox_UartMessage_payload_ota_payload_MSGTYPE alox_OtaPayload
#define alox_UartMessage_payload_ota_end_MSGTYPE alox_OtaEndPayload
#define alox_UartMessage_payload_ota_status_MSGTYPE alox_OtaStatusPayload
#define alox_UartMessage_payload_accel_deadzone_request_MSGTYPE alox_AccelDeadzoneRequest
#define alox_UartMessage_payload_accel_deadzone_response_MSGTYPE alox_AccelDeadzoneResponse
#define alox_UartMessage_payload_espnow_unicast_test_request_MSGTYPE alox_EspNowUnicastTestRequest
#define alox_UartMessage_payload_espnow_unicast_test_response_MSGTYPE alox_EspNowUnicastTestResponse
#define alox_UartMessage_payload_ota_slave_progress_request_MSGTYPE alox_OtaSlaveProgressRequest
#define alox_UartMessage_payload_ota_slave_progress_response_MSGTYPE alox_OtaSlaveProgressResponse
#define alox_UartMessage_payload_led_ring_progress_request_MSGTYPE alox_LedRingProgressRequest
#define alox_UartMessage_payload_led_ring_progress_response_MSGTYPE alox_LedRingProgressResponse
#define alox_UartMessage_payload_espnow_find_me_request_MSGTYPE alox_EspNowFindMeRequest
#define alox_UartMessage_payload_espnow_find_me_response_MSGTYPE alox_EspNowFindMeResponse
#define alox_UartMessage_payload_restart_request_MSGTYPE alox_RestartRequest
#define alox_UartMessage_payload_restart_response_MSGTYPE alox_RestartResponse
#define alox_UartMessage_payload_accel_stream_request_MSGTYPE alox_AccelStreamRequest
#define alox_UartMessage_payload_accel_stream_response_MSGTYPE alox_AccelStreamResponse
#define alox_UartMessage_payload_battery_status_request_MSGTYPE alox_BatteryStatusRequest
#define alox_UartMessage_payload_battery_status_response_MSGTYPE alox_BatteryStatusResponse
#define alox_UartMessage_payload_tap_notify_request_MSGTYPE alox_TapNotifyRequest
#define alox_UartMessage_payload_tap_notify_response_MSGTYPE alox_TapNotifyResponse
#define alox_UartMessage_payload_cache_status_request_MSGTYPE alox_CacheStatusRequest
#define alox_UartMessage_payload_cache_status_response_MSGTYPE alox_CacheStatusResponse
#define alox_UartMessage_payload_espnow_echo_ping_request_MSGTYPE alox_EspNowEchoPingRequest
#define alox_UartMessage_payload_espnow_echo_ping_response_MSGTYPE alox_EspNowEchoPingResponse
#define alox_Ack_FIELDLIST(X, a) \
#define alox_Ack_CALLBACK NULL
#define alox_Ack_DEFAULT NULL
#define alox_EchoPayload_FIELDLIST(X, a) \
X(a, CALLBACK, SINGULAR, BYTES, data, 1)
#define alox_EchoPayload_CALLBACK pb_default_field_callback
#define alox_EchoPayload_DEFAULT NULL
#define alox_VersionResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, version, 1) \
X(a, CALLBACK, SINGULAR, STRING, git_hash, 2) \
X(a, CALLBACK, SINGULAR, STRING, running_partition, 3)
#define alox_VersionResponse_CALLBACK pb_default_field_callback
#define alox_VersionResponse_DEFAULT NULL
#define alox_ClientInfo_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, id, 1) \
X(a, STATIC, SINGULAR, BOOL, available, 2) \
X(a, STATIC, SINGULAR, BOOL, used, 3) \
X(a, CALLBACK, SINGULAR, BYTES, mac, 4) \
X(a, STATIC, SINGULAR, UINT32, last_ping, 5) \
X(a, STATIC, SINGULAR, UINT32, last_success_ping, 6) \
X(a, STATIC, SINGULAR, UINT32, version, 7) \
X(a, STATIC, SINGULAR, BOOL, accel_stream_enabled, 8) \
X(a, STATIC, SINGULAR, BOOL, tap_notify_single, 9) \
X(a, STATIC, SINGULAR, BOOL, tap_notify_double, 10) \
X(a, STATIC, SINGULAR, BOOL, tap_notify_triple, 11)
#define alox_ClientInfo_CALLBACK pb_default_field_callback
#define alox_ClientInfo_DEFAULT NULL
#define alox_ClientInfoResponse_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, MESSAGE, clients, 1)
#define alox_ClientInfoResponse_CALLBACK pb_default_field_callback
#define alox_ClientInfoResponse_DEFAULT NULL
#define alox_ClientInfoResponse_clients_MSGTYPE alox_ClientInfo
#define alox_ClientInput_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, id, 1) \
X(a, STATIC, SINGULAR, FLOAT, lage_x, 2) \
X(a, STATIC, SINGULAR, FLOAT, lage_y, 3) \
X(a, STATIC, SINGULAR, UINT32, bitmask, 4)
#define alox_ClientInput_CALLBACK NULL
#define alox_ClientInput_DEFAULT NULL
#define alox_ClientInputResponse_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, MESSAGE, clients, 1)
#define alox_ClientInputResponse_CALLBACK pb_default_field_callback
#define alox_ClientInputResponse_DEFAULT NULL
#define alox_ClientInputResponse_clients_MSGTYPE alox_ClientInput
#define alox_AccelDeadzoneRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, write, 1) \
X(a, STATIC, SINGULAR, UINT32, deadzone, 2) \
X(a, STATIC, SINGULAR, UINT32, client_id, 3) \
X(a, STATIC, SINGULAR, BOOL, all_clients, 4)
#define alox_AccelDeadzoneRequest_CALLBACK NULL
#define alox_AccelDeadzoneRequest_DEFAULT NULL
#define alox_AccelDeadzoneResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, deadzone, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2) \
X(a, STATIC, SINGULAR, BOOL, success, 3) \
X(a, STATIC, SINGULAR, UINT32, slaves_updated, 4)
#define alox_AccelDeadzoneResponse_CALLBACK NULL
#define alox_AccelDeadzoneResponse_DEFAULT NULL
#define alox_AccelStreamRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, write, 1) \
X(a, STATIC, SINGULAR, BOOL, enable, 2) \
X(a, STATIC, SINGULAR, UINT32, client_id, 3) \
X(a, STATIC, SINGULAR, BOOL, all_clients, 4)
#define alox_AccelStreamRequest_CALLBACK NULL
#define alox_AccelStreamRequest_DEFAULT NULL
#define alox_AccelStreamResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, enabled, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2) \
X(a, STATIC, SINGULAR, BOOL, success, 3) \
X(a, STATIC, SINGULAR, UINT32, slaves_updated, 4)
#define alox_AccelStreamResponse_CALLBACK NULL
#define alox_AccelStreamResponse_DEFAULT NULL
#define alox_BatteryStatusRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, BOOL, all_clients, 2)
#define alox_BatteryStatusRequest_CALLBACK NULL
#define alox_BatteryStatusRequest_DEFAULT NULL
#define alox_LipoReading_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, valid, 1) \
X(a, STATIC, SINGULAR, UINT32, voltage_mv, 2)
#define alox_LipoReading_CALLBACK NULL
#define alox_LipoReading_DEFAULT NULL
#define alox_BatterySample_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, OPTIONAL, MESSAGE, lipo1, 2) \
X(a, STATIC, OPTIONAL, MESSAGE, lipo2, 3) \
X(a, STATIC, SINGULAR, UINT32, age_ms, 4)
#define alox_BatterySample_CALLBACK NULL
#define alox_BatterySample_DEFAULT NULL
#define alox_BatterySample_lipo1_MSGTYPE alox_LipoReading
#define alox_BatterySample_lipo2_MSGTYPE alox_LipoReading
#define alox_BatteryStatusResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, success, 1) \
X(a, STATIC, REPEATED, MESSAGE, samples, 2)
#define alox_BatteryStatusResponse_CALLBACK NULL
#define alox_BatteryStatusResponse_DEFAULT NULL
#define alox_BatteryStatusResponse_samples_MSGTYPE alox_BatterySample
#define alox_AccelSample_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, BOOL, valid, 2) \
X(a, STATIC, SINGULAR, SINT32, x, 3) \
X(a, STATIC, SINGULAR, SINT32, y, 4) \
X(a, STATIC, SINGULAR, SINT32, z, 5) \
X(a, STATIC, SINGULAR, UINT32, age_ms, 6)
#define alox_AccelSample_CALLBACK NULL
#define alox_AccelSample_DEFAULT NULL
#define alox_TapNotifyRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, write, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2) \
X(a, STATIC, SINGULAR, BOOL, all_clients, 3) \
X(a, STATIC, SINGULAR, BOOL, single, 4) \
X(a, STATIC, SINGULAR, BOOL, double_tap, 5) \
X(a, STATIC, SINGULAR, BOOL, triple, 6)
#define alox_TapNotifyRequest_CALLBACK NULL
#define alox_TapNotifyRequest_DEFAULT NULL
#define alox_TapNotifyResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, BOOL, success, 2) \
X(a, STATIC, SINGULAR, UINT32, slaves_updated, 3) \
X(a, STATIC, SINGULAR, BOOL, single, 4) \
X(a, STATIC, SINGULAR, BOOL, double_tap, 5) \
X(a, STATIC, SINGULAR, BOOL, triple, 6)
#define alox_TapNotifyResponse_CALLBACK NULL
#define alox_TapNotifyResponse_DEFAULT NULL
#define alox_TapEvent_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, BOOL, valid, 2) \
X(a, STATIC, SINGULAR, UENUM, kind, 3) \
X(a, STATIC, SINGULAR, UINT32, age_ms, 4)
#define alox_TapEvent_CALLBACK NULL
#define alox_TapEvent_DEFAULT NULL
#define alox_CacheStatusRequest_FIELDLIST(X, a) \
#define alox_CacheStatusRequest_CALLBACK NULL
#define alox_CacheStatusRequest_DEFAULT NULL
#define alox_CacheClientAccel_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, valid, 1) \
X(a, STATIC, SINGULAR, SINT32, x, 2) \
X(a, STATIC, SINGULAR, SINT32, y, 3) \
X(a, STATIC, SINGULAR, SINT32, z, 4) \
X(a, STATIC, SINGULAR, UINT32, age_ms, 5)
#define alox_CacheClientAccel_CALLBACK NULL
#define alox_CacheClientAccel_DEFAULT NULL
#define alox_CacheClientTap_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UENUM, kind, 1) \
X(a, STATIC, SINGULAR, UINT32, age_ms, 2)
#define alox_CacheClientTap_CALLBACK NULL
#define alox_CacheClientTap_DEFAULT NULL
#define alox_CacheClientStatus_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, OPTIONAL, MESSAGE, accel, 2) \
X(a, STATIC, OPTIONAL, MESSAGE, tap, 3)
#define alox_CacheClientStatus_CALLBACK NULL
#define alox_CacheClientStatus_DEFAULT NULL
#define alox_CacheClientStatus_accel_MSGTYPE alox_CacheClientAccel
#define alox_CacheClientStatus_tap_MSGTYPE alox_CacheClientTap
#define alox_CacheStatusResponse_FIELDLIST(X, a) \
X(a, STATIC, REPEATED, MESSAGE, clients, 1)
#define alox_CacheStatusResponse_CALLBACK NULL
#define alox_CacheStatusResponse_DEFAULT NULL
#define alox_CacheStatusResponse_clients_MSGTYPE alox_CacheClientStatus
#define alox_EspNowUnicastTestRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, UINT32, seq, 2)
#define alox_EspNowUnicastTestRequest_CALLBACK NULL
#define alox_EspNowUnicastTestRequest_DEFAULT NULL
#define alox_EspNowUnicastTestResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, success, 1) \
X(a, STATIC, SINGULAR, UINT32, seq, 2)
#define alox_EspNowUnicastTestResponse_CALLBACK NULL
#define alox_EspNowUnicastTestResponse_DEFAULT NULL
#define alox_EspNowEchoPingRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, UINT64, timestamp_us, 2)
#define alox_EspNowEchoPingRequest_CALLBACK NULL
#define alox_EspNowEchoPingRequest_DEFAULT NULL
#define alox_EspNowEchoPingResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, success, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2) \
X(a, STATIC, SINGULAR, UINT64, timestamp_us, 3) \
X(a, STATIC, SINGULAR, UINT32, esp_rtt_us, 4)
#define alox_EspNowEchoPingResponse_CALLBACK NULL
#define alox_EspNowEchoPingResponse_DEFAULT NULL
#define alox_LedRingProgressRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, mode, 1) \
X(a, STATIC, SINGULAR, UINT32, progress, 2) \
X(a, STATIC, SINGULAR, UINT32, digit, 3) \
X(a, STATIC, SINGULAR, UINT32, r, 4) \
X(a, STATIC, SINGULAR, UINT32, g, 5) \
X(a, STATIC, SINGULAR, UINT32, b, 6) \
X(a, STATIC, SINGULAR, UINT32, intensity, 7) \
X(a, STATIC, SINGULAR, UINT32, blink_ms, 8) \
X(a, STATIC, SINGULAR, UINT32, blink_count, 9) \
X(a, STATIC, SINGULAR, UINT32, client_id, 10) \
X(a, STATIC, SINGULAR, BOOL, all_clients, 11) \
X(a, STATIC, SINGULAR, BOOL, slaves_only, 12)
#define alox_LedRingProgressRequest_CALLBACK NULL
#define alox_LedRingProgressRequest_DEFAULT NULL
#define alox_LedRingProgressResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, success, 1) \
X(a, STATIC, SINGULAR, UINT32, mode, 2) \
X(a, STATIC, SINGULAR, UINT32, progress, 3) \
X(a, STATIC, SINGULAR, UINT32, digit, 4) \
X(a, STATIC, SINGULAR, UINT32, client_id, 5) \
X(a, STATIC, SINGULAR, UINT32, slaves_updated, 6)
#define alox_LedRingProgressResponse_CALLBACK NULL
#define alox_LedRingProgressResponse_DEFAULT NULL
#define alox_EspNowFindMeRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1)
#define alox_EspNowFindMeRequest_CALLBACK NULL
#define alox_EspNowFindMeRequest_DEFAULT NULL
#define alox_EspNowFindMeResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, success, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2)
#define alox_EspNowFindMeResponse_CALLBACK NULL
#define alox_EspNowFindMeResponse_DEFAULT NULL
#define alox_RestartRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1)
#define alox_RestartRequest_CALLBACK NULL
#define alox_RestartRequest_DEFAULT NULL
#define alox_RestartResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, success, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2)
#define alox_RestartResponse_CALLBACK NULL
#define alox_RestartResponse_DEFAULT NULL
#define alox_OtaStartPayload_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, total_size, 1)
#define alox_OtaStartPayload_CALLBACK NULL
#define alox_OtaStartPayload_DEFAULT NULL
#define alox_OtaPayload_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, seq, 1) \
X(a, STATIC, SINGULAR, BYTES, data, 2)
#define alox_OtaPayload_CALLBACK NULL
#define alox_OtaPayload_DEFAULT NULL
#define alox_OtaEndPayload_FIELDLIST(X, a) \
#define alox_OtaEndPayload_CALLBACK NULL
#define alox_OtaEndPayload_DEFAULT NULL
#define alox_OtaStatusPayload_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, status, 1) \
X(a, STATIC, SINGULAR, UINT32, bytes_written, 2) \
X(a, STATIC, SINGULAR, UINT32, target_slot, 3) \
X(a, STATIC, SINGULAR, UINT32, error, 4)
#define alox_OtaStatusPayload_CALLBACK NULL
#define alox_OtaStatusPayload_DEFAULT NULL
#define alox_OtaSlaveProgressRequest_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1)
#define alox_OtaSlaveProgressRequest_CALLBACK NULL
#define alox_OtaSlaveProgressRequest_DEFAULT NULL
#define alox_OtaSlaveProgressEntry_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, client_id, 1) \
X(a, STATIC, SINGULAR, UINT32, bytes_written, 2) \
X(a, STATIC, SINGULAR, UINT32, total_bytes, 3) \
X(a, STATIC, SINGULAR, UINT32, status, 4) \
X(a, STATIC, SINGULAR, UINT32, error, 5)
#define alox_OtaSlaveProgressEntry_CALLBACK NULL
#define alox_OtaSlaveProgressEntry_DEFAULT NULL
#define alox_OtaSlaveProgressResponse_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, BOOL, active, 1) \
X(a, STATIC, SINGULAR, UINT32, total_bytes, 2) \
X(a, STATIC, SINGULAR, UINT32, aggregate_bytes, 3) \
X(a, STATIC, SINGULAR, UINT32, slave_count, 4) \
X(a, STATIC, REPEATED, MESSAGE, slaves, 5)
#define alox_OtaSlaveProgressResponse_CALLBACK NULL
#define alox_OtaSlaveProgressResponse_DEFAULT NULL
#define alox_OtaSlaveProgressResponse_slaves_MSGTYPE alox_OtaSlaveProgressEntry
extern const pb_msgdesc_t alox_UartMessage_msg;
extern const pb_msgdesc_t alox_Ack_msg;
extern const pb_msgdesc_t alox_EchoPayload_msg;
extern const pb_msgdesc_t alox_VersionResponse_msg;
extern const pb_msgdesc_t alox_ClientInfo_msg;
extern const pb_msgdesc_t alox_ClientInfoResponse_msg;
extern const pb_msgdesc_t alox_ClientInput_msg;
extern const pb_msgdesc_t alox_ClientInputResponse_msg;
extern const pb_msgdesc_t alox_AccelDeadzoneRequest_msg;
extern const pb_msgdesc_t alox_AccelDeadzoneResponse_msg;
extern const pb_msgdesc_t alox_AccelStreamRequest_msg;
extern const pb_msgdesc_t alox_AccelStreamResponse_msg;
extern const pb_msgdesc_t alox_BatteryStatusRequest_msg;
extern const pb_msgdesc_t alox_LipoReading_msg;
extern const pb_msgdesc_t alox_BatterySample_msg;
extern const pb_msgdesc_t alox_BatteryStatusResponse_msg;
extern const pb_msgdesc_t alox_AccelSample_msg;
extern const pb_msgdesc_t alox_TapNotifyRequest_msg;
extern const pb_msgdesc_t alox_TapNotifyResponse_msg;
extern const pb_msgdesc_t alox_TapEvent_msg;
extern const pb_msgdesc_t alox_CacheStatusRequest_msg;
extern const pb_msgdesc_t alox_CacheClientAccel_msg;
extern const pb_msgdesc_t alox_CacheClientTap_msg;
extern const pb_msgdesc_t alox_CacheClientStatus_msg;
extern const pb_msgdesc_t alox_CacheStatusResponse_msg;
extern const pb_msgdesc_t alox_EspNowUnicastTestRequest_msg;
extern const pb_msgdesc_t alox_EspNowUnicastTestResponse_msg;
extern const pb_msgdesc_t alox_EspNowEchoPingRequest_msg;
extern const pb_msgdesc_t alox_EspNowEchoPingResponse_msg;
extern const pb_msgdesc_t alox_LedRingProgressRequest_msg;
extern const pb_msgdesc_t alox_LedRingProgressResponse_msg;
extern const pb_msgdesc_t alox_EspNowFindMeRequest_msg;
extern const pb_msgdesc_t alox_EspNowFindMeResponse_msg;
extern const pb_msgdesc_t alox_RestartRequest_msg;
extern const pb_msgdesc_t alox_RestartResponse_msg;
extern const pb_msgdesc_t alox_OtaStartPayload_msg;
extern const pb_msgdesc_t alox_OtaPayload_msg;
extern const pb_msgdesc_t alox_OtaEndPayload_msg;
extern const pb_msgdesc_t alox_OtaStatusPayload_msg;
extern const pb_msgdesc_t alox_OtaSlaveProgressRequest_msg;
extern const pb_msgdesc_t alox_OtaSlaveProgressEntry_msg;
extern const pb_msgdesc_t alox_OtaSlaveProgressResponse_msg;
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define alox_UartMessage_fields &alox_UartMessage_msg
#define alox_Ack_fields &alox_Ack_msg
#define alox_EchoPayload_fields &alox_EchoPayload_msg
#define alox_VersionResponse_fields &alox_VersionResponse_msg
#define alox_ClientInfo_fields &alox_ClientInfo_msg
#define alox_ClientInfoResponse_fields &alox_ClientInfoResponse_msg
#define alox_ClientInput_fields &alox_ClientInput_msg
#define alox_ClientInputResponse_fields &alox_ClientInputResponse_msg
#define alox_AccelDeadzoneRequest_fields &alox_AccelDeadzoneRequest_msg
#define alox_AccelDeadzoneResponse_fields &alox_AccelDeadzoneResponse_msg
#define alox_AccelStreamRequest_fields &alox_AccelStreamRequest_msg
#define alox_AccelStreamResponse_fields &alox_AccelStreamResponse_msg
#define alox_BatteryStatusRequest_fields &alox_BatteryStatusRequest_msg
#define alox_LipoReading_fields &alox_LipoReading_msg
#define alox_BatterySample_fields &alox_BatterySample_msg
#define alox_BatteryStatusResponse_fields &alox_BatteryStatusResponse_msg
#define alox_AccelSample_fields &alox_AccelSample_msg
#define alox_TapNotifyRequest_fields &alox_TapNotifyRequest_msg
#define alox_TapNotifyResponse_fields &alox_TapNotifyResponse_msg
#define alox_TapEvent_fields &alox_TapEvent_msg
#define alox_CacheStatusRequest_fields &alox_CacheStatusRequest_msg
#define alox_CacheClientAccel_fields &alox_CacheClientAccel_msg
#define alox_CacheClientTap_fields &alox_CacheClientTap_msg
#define alox_CacheClientStatus_fields &alox_CacheClientStatus_msg
#define alox_CacheStatusResponse_fields &alox_CacheStatusResponse_msg
#define alox_EspNowUnicastTestRequest_fields &alox_EspNowUnicastTestRequest_msg
#define alox_EspNowUnicastTestResponse_fields &alox_EspNowUnicastTestResponse_msg
#define alox_EspNowEchoPingRequest_fields &alox_EspNowEchoPingRequest_msg
#define alox_EspNowEchoPingResponse_fields &alox_EspNowEchoPingResponse_msg
#define alox_LedRingProgressRequest_fields &alox_LedRingProgressRequest_msg
#define alox_LedRingProgressResponse_fields &alox_LedRingProgressResponse_msg
#define alox_EspNowFindMeRequest_fields &alox_EspNowFindMeRequest_msg
#define alox_EspNowFindMeResponse_fields &alox_EspNowFindMeResponse_msg
#define alox_RestartRequest_fields &alox_RestartRequest_msg
#define alox_RestartResponse_fields &alox_RestartResponse_msg
#define alox_OtaStartPayload_fields &alox_OtaStartPayload_msg
#define alox_OtaPayload_fields &alox_OtaPayload_msg
#define alox_OtaEndPayload_fields &alox_OtaEndPayload_msg
#define alox_OtaStatusPayload_fields &alox_OtaStatusPayload_msg
#define alox_OtaSlaveProgressRequest_fields &alox_OtaSlaveProgressRequest_msg
#define alox_OtaSlaveProgressEntry_fields &alox_OtaSlaveProgressEntry_msg
#define alox_OtaSlaveProgressResponse_fields &alox_OtaSlaveProgressResponse_msg
/* Maximum encoded size of messages (where known) */
/* alox_UartMessage_size depends on runtime parameters */
/* alox_EchoPayload_size depends on runtime parameters */
/* alox_VersionResponse_size depends on runtime parameters */
/* alox_ClientInfo_size depends on runtime parameters */
/* alox_ClientInfoResponse_size depends on runtime parameters */
/* alox_ClientInputResponse_size depends on runtime parameters */
#define ALOX_UART_MESSAGES_PB_H_MAX_SIZE alox_CacheStatusResponse_size
#define alox_AccelDeadzoneRequest_size 16
#define alox_AccelDeadzoneResponse_size 20
#define alox_AccelSample_size 32
#define alox_AccelStreamRequest_size 12
#define alox_AccelStreamResponse_size 16
#define alox_Ack_size 0
#define alox_BatterySample_size 32
#define alox_BatteryStatusRequest_size 8
#define alox_BatteryStatusResponse_size 580
#define alox_CacheClientAccel_size 26
#define alox_CacheClientStatus_size 44
#define alox_CacheClientTap_size 8
#define alox_CacheStatusRequest_size 0
#define alox_CacheStatusResponse_size 736
#define alox_ClientInput_size 22
#define alox_EspNowEchoPingRequest_size 17
#define alox_EspNowEchoPingResponse_size 25
#define alox_EspNowFindMeRequest_size 6
#define alox_EspNowFindMeResponse_size 8
#define alox_EspNowUnicastTestRequest_size 12
#define alox_EspNowUnicastTestResponse_size 8
#define alox_LedRingProgressRequest_size 64
#define alox_LedRingProgressResponse_size 32
#define alox_LipoReading_size 8
#define alox_OtaEndPayload_size 0
#define alox_OtaPayload_size 209
#define alox_OtaSlaveProgressEntry_size 30
#define alox_OtaSlaveProgressRequest_size 6
#define alox_OtaSlaveProgressResponse_size 532
#define alox_OtaStartPayload_size 6
#define alox_OtaStatusPayload_size 24
#define alox_RestartRequest_size 6
#define alox_RestartResponse_size 8
#define alox_TapEvent_size 16
#define alox_TapNotifyRequest_size 16
#define alox_TapNotifyResponse_size 20
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif