syntax = "proto3"; package alox; enum EspNowMessageType { ESPNOW_UNKNOWN = 0; ESPNOW_DISCOVER = 1; ESPNOW_SLAVE_INFO = 2; ESPNOW_HEARTBEAT = 3; ESPNOW_SET_ACCEL_DEADZONE = 4; } message EspNowDiscover { uint32 network = 1; } message EspNowSlavePresence { uint32 network = 1; bytes mac = 2; uint32 version = 3; uint32 slave_id = 4; bool available = 5; bool used = 6; } message EspNowAccelDeadzone { uint32 deadzone = 1; uint32 client_id = 2; // 0 = all slaves; otherwise only matching slave_id applies } message EspNowMessage { EspNowMessageType type = 1; oneof payload { EspNowDiscover discover = 2; EspNowSlavePresence slave_info = 3; EspNowSlavePresence heartbeat = 4; EspNowAccelDeadzone accel_deadzone = 5; } }