Add BLE host transport selectable via DIP8 alongside UART.

Master can speak the same framed protobuf protocol over NimBLE or UART; goTool gains -ble, ble-rtt, and ble-stream timing checks for ESP-NOW coexistence.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-23 16:11:10 +02:00
co-authored by Cursor
parent d7441cb85f
commit 92a13d7fd0
28 changed files with 2306 additions and 250 deletions
+230 -129
View File
@@ -52,6 +52,8 @@ const (
MessageType_SET_LOG_LEVEL MessageType = 31
// * Host → master: get/set BMA456H multitap detection parameters.
MessageType_TAP_CONFIG MessageType = 32
// * Master → host (BLE only): periodic pushed cache snapshot with ESP timestamp.
MessageType_BLE_STREAM_TICK MessageType = 33
)
// Enum value maps for MessageType.
@@ -81,6 +83,7 @@ var (
30: "ESPNOW_ECHO_PING",
31: "SET_LOG_LEVEL",
32: "TAP_CONFIG",
33: "BLE_STREAM_TICK",
}
MessageType_value = map[string]int32{
"UNKNOWN": 0,
@@ -107,6 +110,7 @@ var (
"ESPNOW_ECHO_PING": 30,
"SET_LOG_LEVEL": 31,
"TAP_CONFIG": 32,
"BLE_STREAM_TICK": 33,
}
)
@@ -229,6 +233,7 @@ type UartMessage struct {
// *UartMessage_SetLogLevelResponse
// *UartMessage_TapConfigRequest
// *UartMessage_TapConfigResponse
// *UartMessage_BleStreamTick
Payload isUartMessage_Payload `protobuf_oneof:"payload"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -593,6 +598,15 @@ func (x *UartMessage) GetTapConfigResponse() *TapConfigResponse {
return nil
}
func (x *UartMessage) GetBleStreamTick() *BleStreamTick {
if x != nil {
if x, ok := x.Payload.(*UartMessage_BleStreamTick); ok {
return x.BleStreamTick
}
}
return nil
}
type isUartMessage_Payload interface {
isUartMessage_Payload()
}
@@ -737,6 +751,10 @@ type UartMessage_TapConfigResponse struct {
TapConfigResponse *TapConfigResponse `protobuf:"bytes,40,opt,name=tap_config_response,json=tapConfigResponse,proto3,oneof"`
}
type UartMessage_BleStreamTick struct {
BleStreamTick *BleStreamTick `protobuf:"bytes,41,opt,name=ble_stream_tick,json=bleStreamTick,proto3,oneof"`
}
func (*UartMessage_AckPayload) isUartMessage_Payload() {}
func (*UartMessage_EchoPayload) isUartMessage_Payload() {}
@@ -807,6 +825,8 @@ func (*UartMessage_TapConfigRequest) isUartMessage_Payload() {}
func (*UartMessage_TapConfigResponse) isUartMessage_Payload() {}
func (*UartMessage_BleStreamTick) isUartMessage_Payload() {}
type Ack struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
@@ -1371,12 +1391,14 @@ func (x *AccelDeadzoneResponse) GetSlavesUpdated() uint32 {
// 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).
// period_ms (8–16): BLE host push interval for BleStreamTick; ignored on UART (default 16).
type AccelStreamRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Write bool `protobuf:"varint,1,opt,name=write,proto3" json:"write,omitempty"`
Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
ClientId uint32 `protobuf:"varint,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
AllClients bool `protobuf:"varint,4,opt,name=all_clients,json=allClients,proto3" json:"all_clients,omitempty"`
PeriodMs uint32 `protobuf:"varint,5,opt,name=period_ms,json=periodMs,proto3" json:"period_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1439,6 +1461,13 @@ func (x *AccelStreamRequest) GetAllClients() bool {
return false
}
func (x *AccelStreamRequest) GetPeriodMs() uint32 {
if x != nil {
return x.PeriodMs
}
return 0
}
type AccelStreamResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
@@ -2333,6 +2362,67 @@ func (x *CacheStatusResponse) GetClients() []*CacheClientStatus {
return nil
}
// * Master → host over BLE notify: aggregated cache + ESP timer timestamp.
type BleStreamTick struct {
state protoimpl.MessageState `protogen:"open.v1"`
EspTimestampUs uint64 `protobuf:"varint,1,opt,name=esp_timestamp_us,json=espTimestampUs,proto3" json:"esp_timestamp_us,omitempty"`
PeriodMs uint32 `protobuf:"varint,2,opt,name=period_ms,json=periodMs,proto3" json:"period_ms,omitempty"`
Clients []*CacheClientStatus `protobuf:"bytes,3,rep,name=clients,proto3" json:"clients,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BleStreamTick) Reset() {
*x = BleStreamTick{}
mi := &file_uart_messages_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BleStreamTick) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BleStreamTick) ProtoMessage() {}
func (x *BleStreamTick) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BleStreamTick.ProtoReflect.Descriptor instead.
func (*BleStreamTick) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{25}
}
func (x *BleStreamTick) GetEspTimestampUs() uint64 {
if x != nil {
return x.EspTimestampUs
}
return 0
}
func (x *BleStreamTick) GetPeriodMs() uint32 {
if x != nil {
return x.PeriodMs
}
return 0
}
func (x *BleStreamTick) GetClients() []*CacheClientStatus {
if x != nil {
return x.Clients
}
return nil
}
type EspNowUnicastTestRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
@@ -2343,7 +2433,7 @@ type EspNowUnicastTestRequest struct {
func (x *EspNowUnicastTestRequest) Reset() {
*x = EspNowUnicastTestRequest{}
mi := &file_uart_messages_proto_msgTypes[25]
mi := &file_uart_messages_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2355,7 +2445,7 @@ func (x *EspNowUnicastTestRequest) String() string {
func (*EspNowUnicastTestRequest) ProtoMessage() {}
func (x *EspNowUnicastTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[25]
mi := &file_uart_messages_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2368,7 +2458,7 @@ func (x *EspNowUnicastTestRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use EspNowUnicastTestRequest.ProtoReflect.Descriptor instead.
func (*EspNowUnicastTestRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{25}
return file_uart_messages_proto_rawDescGZIP(), []int{26}
}
func (x *EspNowUnicastTestRequest) GetClientId() uint32 {
@@ -2395,7 +2485,7 @@ type EspNowUnicastTestResponse struct {
func (x *EspNowUnicastTestResponse) Reset() {
*x = EspNowUnicastTestResponse{}
mi := &file_uart_messages_proto_msgTypes[26]
mi := &file_uart_messages_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2407,7 +2497,7 @@ func (x *EspNowUnicastTestResponse) String() string {
func (*EspNowUnicastTestResponse) ProtoMessage() {}
func (x *EspNowUnicastTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[26]
mi := &file_uart_messages_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2420,7 +2510,7 @@ func (x *EspNowUnicastTestResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use EspNowUnicastTestResponse.ProtoReflect.Descriptor instead.
func (*EspNowUnicastTestResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{26}
return file_uart_messages_proto_rawDescGZIP(), []int{27}
}
func (x *EspNowUnicastTestResponse) GetSuccess() bool {
@@ -2449,7 +2539,7 @@ type EspNowEchoPingRequest struct {
func (x *EspNowEchoPingRequest) Reset() {
*x = EspNowEchoPingRequest{}
mi := &file_uart_messages_proto_msgTypes[27]
mi := &file_uart_messages_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2461,7 +2551,7 @@ func (x *EspNowEchoPingRequest) String() string {
func (*EspNowEchoPingRequest) ProtoMessage() {}
func (x *EspNowEchoPingRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[27]
mi := &file_uart_messages_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2474,7 +2564,7 @@ func (x *EspNowEchoPingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use EspNowEchoPingRequest.ProtoReflect.Descriptor instead.
func (*EspNowEchoPingRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{27}
return file_uart_messages_proto_rawDescGZIP(), []int{28}
}
func (x *EspNowEchoPingRequest) GetClientId() uint32 {
@@ -2505,7 +2595,7 @@ type EspNowEchoPingResponse struct {
func (x *EspNowEchoPingResponse) Reset() {
*x = EspNowEchoPingResponse{}
mi := &file_uart_messages_proto_msgTypes[28]
mi := &file_uart_messages_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2517,7 +2607,7 @@ func (x *EspNowEchoPingResponse) String() string {
func (*EspNowEchoPingResponse) ProtoMessage() {}
func (x *EspNowEchoPingResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[28]
mi := &file_uart_messages_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2530,7 +2620,7 @@ func (x *EspNowEchoPingResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use EspNowEchoPingResponse.ProtoReflect.Descriptor instead.
func (*EspNowEchoPingResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{28}
return file_uart_messages_proto_rawDescGZIP(), []int{29}
}
func (x *EspNowEchoPingResponse) GetSuccess() bool {
@@ -2591,7 +2681,7 @@ type LedRingProgressRequest struct {
func (x *LedRingProgressRequest) Reset() {
*x = LedRingProgressRequest{}
mi := &file_uart_messages_proto_msgTypes[29]
mi := &file_uart_messages_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2603,7 +2693,7 @@ func (x *LedRingProgressRequest) String() string {
func (*LedRingProgressRequest) ProtoMessage() {}
func (x *LedRingProgressRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[29]
mi := &file_uart_messages_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2616,7 +2706,7 @@ func (x *LedRingProgressRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LedRingProgressRequest.ProtoReflect.Descriptor instead.
func (*LedRingProgressRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{29}
return file_uart_messages_proto_rawDescGZIP(), []int{30}
}
func (x *LedRingProgressRequest) GetMode() uint32 {
@@ -2717,7 +2807,7 @@ type LedRingProgressResponse struct {
func (x *LedRingProgressResponse) Reset() {
*x = LedRingProgressResponse{}
mi := &file_uart_messages_proto_msgTypes[30]
mi := &file_uart_messages_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2729,7 +2819,7 @@ func (x *LedRingProgressResponse) String() string {
func (*LedRingProgressResponse) ProtoMessage() {}
func (x *LedRingProgressResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[30]
mi := &file_uart_messages_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2742,7 +2832,7 @@ func (x *LedRingProgressResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LedRingProgressResponse.ProtoReflect.Descriptor instead.
func (*LedRingProgressResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{30}
return file_uart_messages_proto_rawDescGZIP(), []int{31}
}
func (x *LedRingProgressResponse) GetSuccess() bool {
@@ -2797,7 +2887,7 @@ type EspNowFindMeRequest struct {
func (x *EspNowFindMeRequest) Reset() {
*x = EspNowFindMeRequest{}
mi := &file_uart_messages_proto_msgTypes[31]
mi := &file_uart_messages_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2809,7 +2899,7 @@ func (x *EspNowFindMeRequest) String() string {
func (*EspNowFindMeRequest) ProtoMessage() {}
func (x *EspNowFindMeRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[31]
mi := &file_uart_messages_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2822,7 +2912,7 @@ func (x *EspNowFindMeRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use EspNowFindMeRequest.ProtoReflect.Descriptor instead.
func (*EspNowFindMeRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{31}
return file_uart_messages_proto_rawDescGZIP(), []int{32}
}
func (x *EspNowFindMeRequest) GetClientId() uint32 {
@@ -2842,7 +2932,7 @@ type EspNowFindMeResponse struct {
func (x *EspNowFindMeResponse) Reset() {
*x = EspNowFindMeResponse{}
mi := &file_uart_messages_proto_msgTypes[32]
mi := &file_uart_messages_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2854,7 +2944,7 @@ func (x *EspNowFindMeResponse) String() string {
func (*EspNowFindMeResponse) ProtoMessage() {}
func (x *EspNowFindMeResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[32]
mi := &file_uart_messages_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2867,7 +2957,7 @@ func (x *EspNowFindMeResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use EspNowFindMeResponse.ProtoReflect.Descriptor instead.
func (*EspNowFindMeResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{32}
return file_uart_messages_proto_rawDescGZIP(), []int{33}
}
func (x *EspNowFindMeResponse) GetSuccess() bool {
@@ -2894,7 +2984,7 @@ type RestartRequest struct {
func (x *RestartRequest) Reset() {
*x = RestartRequest{}
mi := &file_uart_messages_proto_msgTypes[33]
mi := &file_uart_messages_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2906,7 +2996,7 @@ func (x *RestartRequest) String() string {
func (*RestartRequest) ProtoMessage() {}
func (x *RestartRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[33]
mi := &file_uart_messages_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2919,7 +3009,7 @@ func (x *RestartRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RestartRequest.ProtoReflect.Descriptor instead.
func (*RestartRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{33}
return file_uart_messages_proto_rawDescGZIP(), []int{34}
}
func (x *RestartRequest) GetClientId() uint32 {
@@ -2939,7 +3029,7 @@ type RestartResponse struct {
func (x *RestartResponse) Reset() {
*x = RestartResponse{}
mi := &file_uart_messages_proto_msgTypes[34]
mi := &file_uart_messages_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2951,7 +3041,7 @@ func (x *RestartResponse) String() string {
func (*RestartResponse) ProtoMessage() {}
func (x *RestartResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[34]
mi := &file_uart_messages_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2964,7 +3054,7 @@ func (x *RestartResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RestartResponse.ProtoReflect.Descriptor instead.
func (*RestartResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{34}
return file_uart_messages_proto_rawDescGZIP(), []int{35}
}
func (x *RestartResponse) GetSuccess() bool {
@@ -2993,7 +3083,7 @@ type SetLogLevelRequest struct {
func (x *SetLogLevelRequest) Reset() {
*x = SetLogLevelRequest{}
mi := &file_uart_messages_proto_msgTypes[35]
mi := &file_uart_messages_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3005,7 +3095,7 @@ func (x *SetLogLevelRequest) String() string {
func (*SetLogLevelRequest) ProtoMessage() {}
func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[35]
mi := &file_uart_messages_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3018,7 +3108,7 @@ func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetLogLevelRequest.ProtoReflect.Descriptor instead.
func (*SetLogLevelRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{35}
return file_uart_messages_proto_rawDescGZIP(), []int{36}
}
func (x *SetLogLevelRequest) GetWrite() bool {
@@ -3045,7 +3135,7 @@ type SetLogLevelResponse struct {
func (x *SetLogLevelResponse) Reset() {
*x = SetLogLevelResponse{}
mi := &file_uart_messages_proto_msgTypes[36]
mi := &file_uart_messages_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3057,7 +3147,7 @@ func (x *SetLogLevelResponse) String() string {
func (*SetLogLevelResponse) ProtoMessage() {}
func (x *SetLogLevelResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[36]
mi := &file_uart_messages_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3070,7 +3160,7 @@ func (x *SetLogLevelResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetLogLevelResponse.ProtoReflect.Descriptor instead.
func (*SetLogLevelResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{36}
return file_uart_messages_proto_rawDescGZIP(), []int{37}
}
func (x *SetLogLevelResponse) GetSuccess() bool {
@@ -3109,7 +3199,7 @@ type TapConfigRequest struct {
func (x *TapConfigRequest) Reset() {
*x = TapConfigRequest{}
mi := &file_uart_messages_proto_msgTypes[37]
mi := &file_uart_messages_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3121,7 +3211,7 @@ func (x *TapConfigRequest) String() string {
func (*TapConfigRequest) ProtoMessage() {}
func (x *TapConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[37]
mi := &file_uart_messages_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3134,7 +3224,7 @@ func (x *TapConfigRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use TapConfigRequest.ProtoReflect.Descriptor instead.
func (*TapConfigRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{37}
return file_uart_messages_proto_rawDescGZIP(), []int{38}
}
func (x *TapConfigRequest) GetWrite() bool {
@@ -3241,7 +3331,7 @@ type TapConfigResponse struct {
func (x *TapConfigResponse) Reset() {
*x = TapConfigResponse{}
mi := &file_uart_messages_proto_msgTypes[38]
mi := &file_uart_messages_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3253,7 +3343,7 @@ func (x *TapConfigResponse) String() string {
func (*TapConfigResponse) ProtoMessage() {}
func (x *TapConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[38]
mi := &file_uart_messages_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3266,7 +3356,7 @@ func (x *TapConfigResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use TapConfigResponse.ProtoReflect.Descriptor instead.
func (*TapConfigResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{38}
return file_uart_messages_proto_rawDescGZIP(), []int{39}
}
func (x *TapConfigResponse) GetClientId() uint32 {
@@ -3363,7 +3453,7 @@ type OtaStartPayload struct {
func (x *OtaStartPayload) Reset() {
*x = OtaStartPayload{}
mi := &file_uart_messages_proto_msgTypes[39]
mi := &file_uart_messages_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3375,7 +3465,7 @@ func (x *OtaStartPayload) String() string {
func (*OtaStartPayload) ProtoMessage() {}
func (x *OtaStartPayload) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[39]
mi := &file_uart_messages_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3388,7 +3478,7 @@ func (x *OtaStartPayload) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaStartPayload.ProtoReflect.Descriptor instead.
func (*OtaStartPayload) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{39}
return file_uart_messages_proto_rawDescGZIP(), []int{40}
}
func (x *OtaStartPayload) GetTotalSize() uint32 {
@@ -3409,7 +3499,7 @@ type OtaPayload struct {
func (x *OtaPayload) Reset() {
*x = OtaPayload{}
mi := &file_uart_messages_proto_msgTypes[40]
mi := &file_uart_messages_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3421,7 +3511,7 @@ func (x *OtaPayload) String() string {
func (*OtaPayload) ProtoMessage() {}
func (x *OtaPayload) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[40]
mi := &file_uart_messages_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3434,7 +3524,7 @@ func (x *OtaPayload) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaPayload.ProtoReflect.Descriptor instead.
func (*OtaPayload) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{40}
return file_uart_messages_proto_rawDescGZIP(), []int{41}
}
func (x *OtaPayload) GetSeq() uint32 {
@@ -3460,7 +3550,7 @@ type OtaEndPayload struct {
func (x *OtaEndPayload) Reset() {
*x = OtaEndPayload{}
mi := &file_uart_messages_proto_msgTypes[41]
mi := &file_uart_messages_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3472,7 +3562,7 @@ func (x *OtaEndPayload) String() string {
func (*OtaEndPayload) ProtoMessage() {}
func (x *OtaEndPayload) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[41]
mi := &file_uart_messages_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3485,7 +3575,7 @@ func (x *OtaEndPayload) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaEndPayload.ProtoReflect.Descriptor instead.
func (*OtaEndPayload) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{41}
return file_uart_messages_proto_rawDescGZIP(), []int{42}
}
// Device → host status (also used as ACK after each 4 KiB written).
@@ -3502,7 +3592,7 @@ type OtaStatusPayload struct {
func (x *OtaStatusPayload) Reset() {
*x = OtaStatusPayload{}
mi := &file_uart_messages_proto_msgTypes[42]
mi := &file_uart_messages_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3514,7 +3604,7 @@ func (x *OtaStatusPayload) String() string {
func (*OtaStatusPayload) ProtoMessage() {}
func (x *OtaStatusPayload) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[42]
mi := &file_uart_messages_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3527,7 +3617,7 @@ func (x *OtaStatusPayload) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaStatusPayload.ProtoReflect.Descriptor instead.
func (*OtaStatusPayload) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{42}
return file_uart_messages_proto_rawDescGZIP(), []int{43}
}
func (x *OtaStatusPayload) GetStatus() uint32 {
@@ -3568,7 +3658,7 @@ type OtaSlaveProgressRequest struct {
func (x *OtaSlaveProgressRequest) Reset() {
*x = OtaSlaveProgressRequest{}
mi := &file_uart_messages_proto_msgTypes[43]
mi := &file_uart_messages_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3580,7 +3670,7 @@ func (x *OtaSlaveProgressRequest) String() string {
func (*OtaSlaveProgressRequest) ProtoMessage() {}
func (x *OtaSlaveProgressRequest) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[43]
mi := &file_uart_messages_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3593,7 +3683,7 @@ func (x *OtaSlaveProgressRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaSlaveProgressRequest.ProtoReflect.Descriptor instead.
func (*OtaSlaveProgressRequest) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{43}
return file_uart_messages_proto_rawDescGZIP(), []int{44}
}
func (x *OtaSlaveProgressRequest) GetClientId() uint32 {
@@ -3617,7 +3707,7 @@ type OtaSlaveProgressEntry struct {
func (x *OtaSlaveProgressEntry) Reset() {
*x = OtaSlaveProgressEntry{}
mi := &file_uart_messages_proto_msgTypes[44]
mi := &file_uart_messages_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3629,7 +3719,7 @@ func (x *OtaSlaveProgressEntry) String() string {
func (*OtaSlaveProgressEntry) ProtoMessage() {}
func (x *OtaSlaveProgressEntry) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[44]
mi := &file_uart_messages_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3642,7 +3732,7 @@ func (x *OtaSlaveProgressEntry) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaSlaveProgressEntry.ProtoReflect.Descriptor instead.
func (*OtaSlaveProgressEntry) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{44}
return file_uart_messages_proto_rawDescGZIP(), []int{45}
}
func (x *OtaSlaveProgressEntry) GetClientId() uint32 {
@@ -3693,7 +3783,7 @@ type OtaSlaveProgressResponse struct {
func (x *OtaSlaveProgressResponse) Reset() {
*x = OtaSlaveProgressResponse{}
mi := &file_uart_messages_proto_msgTypes[45]
mi := &file_uart_messages_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3705,7 +3795,7 @@ func (x *OtaSlaveProgressResponse) String() string {
func (*OtaSlaveProgressResponse) ProtoMessage() {}
func (x *OtaSlaveProgressResponse) ProtoReflect() protoreflect.Message {
mi := &file_uart_messages_proto_msgTypes[45]
mi := &file_uart_messages_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3718,7 +3808,7 @@ func (x *OtaSlaveProgressResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use OtaSlaveProgressResponse.ProtoReflect.Descriptor instead.
func (*OtaSlaveProgressResponse) Descriptor() ([]byte, []int) {
return file_uart_messages_proto_rawDescGZIP(), []int{45}
return file_uart_messages_proto_rawDescGZIP(), []int{46}
}
func (x *OtaSlaveProgressResponse) GetActive() bool {
@@ -3760,7 +3850,7 @@ var File_uart_messages_proto protoreflect.FileDescriptor
const file_uart_messages_proto_rawDesc = "" +
"\n" +
"\x13uart_messages.proto\x12\x04alox\x1a\fnanopb.proto\"\xd3\x15\n" +
"\x13uart_messages.proto\x12\x04alox\x1a\fnanopb.proto\"\x92\x16\n" +
"\vUartMessage\x12%\n" +
"\x04type\x18\x01 \x01(\x0e2\x11.alox.MessageTypeR\x04type\x12,\n" +
"\vack_payload\x18\x02 \x01(\v2\t.alox.AckH\x00R\n" +
@@ -3801,7 +3891,8 @@ const file_uart_messages_proto_rawDesc = "" +
"\x15set_log_level_request\x18% \x01(\v2\x18.alox.SetLogLevelRequestH\x00R\x12setLogLevelRequest\x12P\n" +
"\x16set_log_level_response\x18& \x01(\v2\x19.alox.SetLogLevelResponseH\x00R\x13setLogLevelResponse\x12F\n" +
"\x12tap_config_request\x18' \x01(\v2\x16.alox.TapConfigRequestH\x00R\x10tapConfigRequest\x12I\n" +
"\x13tap_config_response\x18( \x01(\v2\x17.alox.TapConfigResponseH\x00R\x11tapConfigResponseB\t\n" +
"\x13tap_config_response\x18( \x01(\v2\x17.alox.TapConfigResponseH\x00R\x11tapConfigResponse\x12=\n" +
"\x0fble_stream_tick\x18) \x01(\v2\x13.alox.BleStreamTickH\x00R\rbleStreamTickB\t\n" +
"\apayload\"\x05\n" +
"\x03Ack\"!\n" +
"\vEchoPayload\x12\x12\n" +
@@ -3843,13 +3934,14 @@ const file_uart_messages_proto_rawDesc = "" +
"\bdeadzone\x18\x01 \x01(\rR\bdeadzone\x12\x1b\n" +
"\tclient_id\x18\x02 \x01(\rR\bclientId\x12\x18\n" +
"\asuccess\x18\x03 \x01(\bR\asuccess\x12%\n" +
"\x0eslaves_updated\x18\x04 \x01(\rR\rslavesUpdated\"\x80\x01\n" +
"\x0eslaves_updated\x18\x04 \x01(\rR\rslavesUpdated\"\x9d\x01\n" +
"\x12AccelStreamRequest\x12\x14\n" +
"\x05write\x18\x01 \x01(\bR\x05write\x12\x16\n" +
"\x06enable\x18\x02 \x01(\bR\x06enable\x12\x1b\n" +
"\tclient_id\x18\x03 \x01(\rR\bclientId\x12\x1f\n" +
"\vall_clients\x18\x04 \x01(\bR\n" +
"allClients\"\x8d\x01\n" +
"allClients\x12\x1b\n" +
"\tperiod_ms\x18\x05 \x01(\rR\bperiodMs\"\x8d\x01\n" +
"\x13AccelStreamResponse\x12\x18\n" +
"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x1b\n" +
"\tclient_id\x18\x02 \x01(\rR\bclientId\x12\x18\n" +
@@ -3915,7 +4007,11 @@ const file_uart_messages_proto_rawDesc = "" +
"\x05accel\x18\x02 \x01(\v2\x16.alox.CacheClientAccelR\x05accel\x12&\n" +
"\x03tap\x18\x03 \x01(\v2\x14.alox.CacheClientTapR\x03tap\"O\n" +
"\x13CacheStatusResponse\x128\n" +
"\aclients\x18\x01 \x03(\v2\x17.alox.CacheClientStatusB\x05\x92?\x02\x10\x10R\aclients\"I\n" +
"\aclients\x18\x01 \x03(\v2\x17.alox.CacheClientStatusB\x05\x92?\x02\x10\x10R\aclients\"\x90\x01\n" +
"\rBleStreamTick\x12(\n" +
"\x10esp_timestamp_us\x18\x01 \x01(\x04R\x0eespTimestampUs\x12\x1b\n" +
"\tperiod_ms\x18\x02 \x01(\rR\bperiodMs\x128\n" +
"\aclients\x18\x03 \x03(\v2\x17.alox.CacheClientStatusB\x05\x92?\x02\x10\x10R\aclients\"I\n" +
"\x18EspNowUnicastTestRequest\x12\x1b\n" +
"\tclient_id\x18\x01 \x01(\rR\bclientId\x12\x10\n" +
"\x03seq\x18\x02 \x01(\rR\x03seq\"G\n" +
@@ -4032,7 +4128,7 @@ const file_uart_messages_proto_rawDesc = "" +
"\x0faggregate_bytes\x18\x03 \x01(\rR\x0eaggregateBytes\x12\x1f\n" +
"\vslave_count\x18\x04 \x01(\rR\n" +
"slaveCount\x12:\n" +
"\x06slaves\x18\x05 \x03(\v2\x1b.alox.OtaSlaveProgressEntryB\x05\x92?\x02\x10\x10R\x06slaves*\xaa\x03\n" +
"\x06slaves\x18\x05 \x03(\v2\x1b.alox.OtaSlaveProgressEntryB\x05\x92?\x02\x10\x10R\x06slaves*\xbf\x03\n" +
"\vMessageType\x12\v\n" +
"\aUNKNOWN\x10\x00\x12\a\n" +
"\x03ACK\x10\x01\x12\b\n" +
@@ -4060,7 +4156,8 @@ const file_uart_messages_proto_rawDesc = "" +
"\x10ESPNOW_ECHO_PING\x10\x1e\x12\x11\n" +
"\rSET_LOG_LEVEL\x10\x1f\x12\x0e\n" +
"\n" +
"TAP_CONFIG\x10 \"\x04\b\x18\x10\x18\"\x04\b\x1c\x10\x1c*G\n" +
"TAP_CONFIG\x10 \x12\x13\n" +
"\x0fBLE_STREAM_TICK\x10!\"\x04\b\x18\x10\x18\"\x04\b\x1c\x10\x1c*G\n" +
"\aTapKind\x12\f\n" +
"\bTAP_NONE\x10\x00\x12\x0e\n" +
"\n" +
@@ -4083,7 +4180,7 @@ func file_uart_messages_proto_rawDescGZIP() []byte {
}
var file_uart_messages_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_uart_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 46)
var file_uart_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 47)
var file_uart_messages_proto_goTypes = []any{
(MessageType)(0), // 0: alox.MessageType
(TapKind)(0), // 1: alox.TapKind
@@ -4112,27 +4209,28 @@ var file_uart_messages_proto_goTypes = []any{
(*CacheClientTap)(nil), // 24: alox.CacheClientTap
(*CacheClientStatus)(nil), // 25: alox.CacheClientStatus
(*CacheStatusResponse)(nil), // 26: alox.CacheStatusResponse
(*EspNowUnicastTestRequest)(nil), // 27: alox.EspNowUnicastTestRequest
(*EspNowUnicastTestResponse)(nil), // 28: alox.EspNowUnicastTestResponse
(*EspNowEchoPingRequest)(nil), // 29: alox.EspNowEchoPingRequest
(*EspNowEchoPingResponse)(nil), // 30: alox.EspNowEchoPingResponse
(*LedRingProgressRequest)(nil), // 31: alox.LedRingProgressRequest
(*LedRingProgressResponse)(nil), // 32: alox.LedRingProgressResponse
(*EspNowFindMeRequest)(nil), // 33: alox.EspNowFindMeRequest
(*EspNowFindMeResponse)(nil), // 34: alox.EspNowFindMeResponse
(*RestartRequest)(nil), // 35: alox.RestartRequest
(*RestartResponse)(nil), // 36: alox.RestartResponse
(*SetLogLevelRequest)(nil), // 37: alox.SetLogLevelRequest
(*SetLogLevelResponse)(nil), // 38: alox.SetLogLevelResponse
(*TapConfigRequest)(nil), // 39: alox.TapConfigRequest
(*TapConfigResponse)(nil), // 40: alox.TapConfigResponse
(*OtaStartPayload)(nil), // 41: alox.OtaStartPayload
(*OtaPayload)(nil), // 42: alox.OtaPayload
(*OtaEndPayload)(nil), // 43: alox.OtaEndPayload
(*OtaStatusPayload)(nil), // 44: alox.OtaStatusPayload
(*OtaSlaveProgressRequest)(nil), // 45: alox.OtaSlaveProgressRequest
(*OtaSlaveProgressEntry)(nil), // 46: alox.OtaSlaveProgressEntry
(*OtaSlaveProgressResponse)(nil), // 47: alox.OtaSlaveProgressResponse
(*BleStreamTick)(nil), // 27: alox.BleStreamTick
(*EspNowUnicastTestRequest)(nil), // 28: alox.EspNowUnicastTestRequest
(*EspNowUnicastTestResponse)(nil), // 29: alox.EspNowUnicastTestResponse
(*EspNowEchoPingRequest)(nil), // 30: alox.EspNowEchoPingRequest
(*EspNowEchoPingResponse)(nil), // 31: alox.EspNowEchoPingResponse
(*LedRingProgressRequest)(nil), // 32: alox.LedRingProgressRequest
(*LedRingProgressResponse)(nil), // 33: alox.LedRingProgressResponse
(*EspNowFindMeRequest)(nil), // 34: alox.EspNowFindMeRequest
(*EspNowFindMeResponse)(nil), // 35: alox.EspNowFindMeResponse
(*RestartRequest)(nil), // 36: alox.RestartRequest
(*RestartResponse)(nil), // 37: alox.RestartResponse
(*SetLogLevelRequest)(nil), // 38: alox.SetLogLevelRequest
(*SetLogLevelResponse)(nil), // 39: alox.SetLogLevelResponse
(*TapConfigRequest)(nil), // 40: alox.TapConfigRequest
(*TapConfigResponse)(nil), // 41: alox.TapConfigResponse
(*OtaStartPayload)(nil), // 42: alox.OtaStartPayload
(*OtaPayload)(nil), // 43: alox.OtaPayload
(*OtaEndPayload)(nil), // 44: alox.OtaEndPayload
(*OtaStatusPayload)(nil), // 45: alox.OtaStatusPayload
(*OtaSlaveProgressRequest)(nil), // 46: alox.OtaSlaveProgressRequest
(*OtaSlaveProgressEntry)(nil), // 47: alox.OtaSlaveProgressEntry
(*OtaSlaveProgressResponse)(nil), // 48: alox.OtaSlaveProgressResponse
}
var file_uart_messages_proto_depIdxs = []int32{
0, // 0: alox.UartMessage.type:type_name -> alox.MessageType
@@ -4141,22 +4239,22 @@ var file_uart_messages_proto_depIdxs = []int32{
5, // 3: alox.UartMessage.version_response:type_name -> alox.VersionResponse
7, // 4: alox.UartMessage.client_info_response:type_name -> alox.ClientInfoResponse
9, // 5: alox.UartMessage.client_input_response:type_name -> alox.ClientInputResponse
41, // 6: alox.UartMessage.ota_start:type_name -> alox.OtaStartPayload
42, // 7: alox.UartMessage.ota_payload:type_name -> alox.OtaPayload
43, // 8: alox.UartMessage.ota_end:type_name -> alox.OtaEndPayload
44, // 9: alox.UartMessage.ota_status:type_name -> alox.OtaStatusPayload
42, // 6: alox.UartMessage.ota_start:type_name -> alox.OtaStartPayload
43, // 7: alox.UartMessage.ota_payload:type_name -> alox.OtaPayload
44, // 8: alox.UartMessage.ota_end:type_name -> alox.OtaEndPayload
45, // 9: alox.UartMessage.ota_status:type_name -> alox.OtaStatusPayload
10, // 10: alox.UartMessage.accel_deadzone_request:type_name -> alox.AccelDeadzoneRequest
11, // 11: alox.UartMessage.accel_deadzone_response:type_name -> alox.AccelDeadzoneResponse
27, // 12: alox.UartMessage.espnow_unicast_test_request:type_name -> alox.EspNowUnicastTestRequest
28, // 13: alox.UartMessage.espnow_unicast_test_response:type_name -> alox.EspNowUnicastTestResponse
45, // 14: alox.UartMessage.ota_slave_progress_request:type_name -> alox.OtaSlaveProgressRequest
47, // 15: alox.UartMessage.ota_slave_progress_response:type_name -> alox.OtaSlaveProgressResponse
31, // 16: alox.UartMessage.led_ring_progress_request:type_name -> alox.LedRingProgressRequest
32, // 17: alox.UartMessage.led_ring_progress_response:type_name -> alox.LedRingProgressResponse
33, // 18: alox.UartMessage.espnow_find_me_request:type_name -> alox.EspNowFindMeRequest
34, // 19: alox.UartMessage.espnow_find_me_response:type_name -> alox.EspNowFindMeResponse
35, // 20: alox.UartMessage.restart_request:type_name -> alox.RestartRequest
36, // 21: alox.UartMessage.restart_response:type_name -> alox.RestartResponse
28, // 12: alox.UartMessage.espnow_unicast_test_request:type_name -> alox.EspNowUnicastTestRequest
29, // 13: alox.UartMessage.espnow_unicast_test_response:type_name -> alox.EspNowUnicastTestResponse
46, // 14: alox.UartMessage.ota_slave_progress_request:type_name -> alox.OtaSlaveProgressRequest
48, // 15: alox.UartMessage.ota_slave_progress_response:type_name -> alox.OtaSlaveProgressResponse
32, // 16: alox.UartMessage.led_ring_progress_request:type_name -> alox.LedRingProgressRequest
33, // 17: alox.UartMessage.led_ring_progress_response:type_name -> alox.LedRingProgressResponse
34, // 18: alox.UartMessage.espnow_find_me_request:type_name -> alox.EspNowFindMeRequest
35, // 19: alox.UartMessage.espnow_find_me_response:type_name -> alox.EspNowFindMeResponse
36, // 20: alox.UartMessage.restart_request:type_name -> alox.RestartRequest
37, // 21: alox.UartMessage.restart_response:type_name -> alox.RestartResponse
12, // 22: alox.UartMessage.accel_stream_request:type_name -> alox.AccelStreamRequest
13, // 23: alox.UartMessage.accel_stream_response:type_name -> alox.AccelStreamResponse
14, // 24: alox.UartMessage.battery_status_request:type_name -> alox.BatteryStatusRequest
@@ -4165,28 +4263,30 @@ var file_uart_messages_proto_depIdxs = []int32{
20, // 27: alox.UartMessage.tap_notify_response:type_name -> alox.TapNotifyResponse
22, // 28: alox.UartMessage.cache_status_request:type_name -> alox.CacheStatusRequest
26, // 29: alox.UartMessage.cache_status_response:type_name -> alox.CacheStatusResponse
29, // 30: alox.UartMessage.espnow_echo_ping_request:type_name -> alox.EspNowEchoPingRequest
30, // 31: alox.UartMessage.espnow_echo_ping_response:type_name -> alox.EspNowEchoPingResponse
37, // 32: alox.UartMessage.set_log_level_request:type_name -> alox.SetLogLevelRequest
38, // 33: alox.UartMessage.set_log_level_response:type_name -> alox.SetLogLevelResponse
39, // 34: alox.UartMessage.tap_config_request:type_name -> alox.TapConfigRequest
40, // 35: alox.UartMessage.tap_config_response:type_name -> alox.TapConfigResponse
6, // 36: alox.ClientInfoResponse.clients:type_name -> alox.ClientInfo
8, // 37: alox.ClientInputResponse.clients:type_name -> alox.ClientInput
15, // 38: alox.BatterySample.lipo1:type_name -> alox.LipoReading
15, // 39: alox.BatterySample.lipo2:type_name -> alox.LipoReading
16, // 40: alox.BatteryStatusResponse.samples:type_name -> alox.BatterySample
1, // 41: alox.TapEvent.kind:type_name -> alox.TapKind
1, // 42: alox.CacheClientTap.kind:type_name -> alox.TapKind
23, // 43: alox.CacheClientStatus.accel:type_name -> alox.CacheClientAccel
24, // 44: alox.CacheClientStatus.tap:type_name -> alox.CacheClientTap
25, // 45: alox.CacheStatusResponse.clients:type_name -> alox.CacheClientStatus
46, // 46: alox.OtaSlaveProgressResponse.slaves:type_name -> alox.OtaSlaveProgressEntry
47, // [47:47] is the sub-list for method output_type
47, // [47:47] is the sub-list for method input_type
47, // [47:47] is the sub-list for extension type_name
47, // [47:47] is the sub-list for extension extendee
0, // [0:47] is the sub-list for field type_name
30, // 30: alox.UartMessage.espnow_echo_ping_request:type_name -> alox.EspNowEchoPingRequest
31, // 31: alox.UartMessage.espnow_echo_ping_response:type_name -> alox.EspNowEchoPingResponse
38, // 32: alox.UartMessage.set_log_level_request:type_name -> alox.SetLogLevelRequest
39, // 33: alox.UartMessage.set_log_level_response:type_name -> alox.SetLogLevelResponse
40, // 34: alox.UartMessage.tap_config_request:type_name -> alox.TapConfigRequest
41, // 35: alox.UartMessage.tap_config_response:type_name -> alox.TapConfigResponse
27, // 36: alox.UartMessage.ble_stream_tick:type_name -> alox.BleStreamTick
6, // 37: alox.ClientInfoResponse.clients:type_name -> alox.ClientInfo
8, // 38: alox.ClientInputResponse.clients:type_name -> alox.ClientInput
15, // 39: alox.BatterySample.lipo1:type_name -> alox.LipoReading
15, // 40: alox.BatterySample.lipo2:type_name -> alox.LipoReading
16, // 41: alox.BatteryStatusResponse.samples:type_name -> alox.BatterySample
1, // 42: alox.TapEvent.kind:type_name -> alox.TapKind
1, // 43: alox.CacheClientTap.kind:type_name -> alox.TapKind
23, // 44: alox.CacheClientStatus.accel:type_name -> alox.CacheClientAccel
24, // 45: alox.CacheClientStatus.tap:type_name -> alox.CacheClientTap
25, // 46: alox.CacheStatusResponse.clients:type_name -> alox.CacheClientStatus
25, // 47: alox.BleStreamTick.clients:type_name -> alox.CacheClientStatus
47, // 48: alox.OtaSlaveProgressResponse.slaves:type_name -> alox.OtaSlaveProgressEntry
49, // [49:49] is the sub-list for method output_type
49, // [49:49] is the sub-list for method input_type
49, // [49:49] is the sub-list for extension type_name
49, // [49:49] is the sub-list for extension extendee
0, // [0:49] is the sub-list for field type_name
}
func init() { file_uart_messages_proto_init() }
@@ -4230,6 +4330,7 @@ func file_uart_messages_proto_init() {
(*UartMessage_SetLogLevelResponse)(nil),
(*UartMessage_TapConfigRequest)(nil),
(*UartMessage_TapConfigResponse)(nil),
(*UartMessage_BleStreamTick)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -4237,7 +4338,7 @@ func file_uart_messages_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_uart_messages_proto_rawDesc), len(file_uart_messages_proto_rawDesc)),
NumEnums: 2,
NumMessages: 46,
NumMessages: 47,
NumExtensions: 0,
NumServices: 0,
},