// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc v7.34.1 // source: uart_messages.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type MessageType int32 const ( MessageType_UNKNOWN MessageType = 0 MessageType_ACK MessageType = 1 MessageType_ECHO MessageType = 2 MessageType_VERSION MessageType = 3 MessageType_CLIENT_INFO MessageType = 4 MessageType_CLIENT_INPUT MessageType = 5 MessageType_ACCEL_DEADZONE MessageType = 6 MessageType_ESPNOW_UNICAST_TEST MessageType = 7 MessageType_LED_RING MessageType = 8 MessageType_OTA_START MessageType = 16 MessageType_OTA_PAYLOAD MessageType = 17 MessageType_OTA_END MessageType = 18 MessageType_OTA_STATUS MessageType = 19 MessageType_OTA_START_ESPNOW MessageType = 20 MessageType_OTA_SLAVE_PROGRESS MessageType = 21 MessageType_FIND_ME MessageType = 22 MessageType_RESTART MessageType = 23 MessageType_ACCEL_STREAM MessageType = 25 MessageType_BATTERY_STATUS MessageType = 26 MessageType_TAP_NOTIFY MessageType = 27 // * Combined cached accel + tap poll (one UART round-trip, ~16 ms cadence). MessageType_CACHE_STATUS MessageType = 29 // * Host → master → slave → master: timestamp echo round-trip (latency test). MessageType_ESPNOW_ECHO_PING MessageType = 30 // * Host → master: get/set ESP-IDF log level for tag "*" (global). MessageType_SET_LOG_LEVEL MessageType = 31 ) // Enum value maps for MessageType. var ( MessageType_name = map[int32]string{ 0: "UNKNOWN", 1: "ACK", 2: "ECHO", 3: "VERSION", 4: "CLIENT_INFO", 5: "CLIENT_INPUT", 6: "ACCEL_DEADZONE", 7: "ESPNOW_UNICAST_TEST", 8: "LED_RING", 16: "OTA_START", 17: "OTA_PAYLOAD", 18: "OTA_END", 19: "OTA_STATUS", 20: "OTA_START_ESPNOW", 21: "OTA_SLAVE_PROGRESS", 22: "FIND_ME", 23: "RESTART", 25: "ACCEL_STREAM", 26: "BATTERY_STATUS", 27: "TAP_NOTIFY", 29: "CACHE_STATUS", 30: "ESPNOW_ECHO_PING", 31: "SET_LOG_LEVEL", } MessageType_value = map[string]int32{ "UNKNOWN": 0, "ACK": 1, "ECHO": 2, "VERSION": 3, "CLIENT_INFO": 4, "CLIENT_INPUT": 5, "ACCEL_DEADZONE": 6, "ESPNOW_UNICAST_TEST": 7, "LED_RING": 8, "OTA_START": 16, "OTA_PAYLOAD": 17, "OTA_END": 18, "OTA_STATUS": 19, "OTA_START_ESPNOW": 20, "OTA_SLAVE_PROGRESS": 21, "FIND_ME": 22, "RESTART": 23, "ACCEL_STREAM": 25, "BATTERY_STATUS": 26, "TAP_NOTIFY": 27, "CACHE_STATUS": 29, "ESPNOW_ECHO_PING": 30, "SET_LOG_LEVEL": 31, } ) func (x MessageType) Enum() *MessageType { p := new(MessageType) *p = x return p } func (x MessageType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MessageType) Descriptor() protoreflect.EnumDescriptor { return file_uart_messages_proto_enumTypes[0].Descriptor() } func (MessageType) Type() protoreflect.EnumType { return &file_uart_messages_proto_enumTypes[0] } func (x MessageType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MessageType.Descriptor instead. func (MessageType) EnumDescriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{0} } type TapKind int32 const ( TapKind_TAP_NONE TapKind = 0 TapKind_TAP_SINGLE TapKind = 1 TapKind_TAP_DOUBLE TapKind = 2 TapKind_TAP_TRIPLE TapKind = 3 ) // Enum value maps for TapKind. var ( TapKind_name = map[int32]string{ 0: "TAP_NONE", 1: "TAP_SINGLE", 2: "TAP_DOUBLE", 3: "TAP_TRIPLE", } TapKind_value = map[string]int32{ "TAP_NONE": 0, "TAP_SINGLE": 1, "TAP_DOUBLE": 2, "TAP_TRIPLE": 3, } ) func (x TapKind) Enum() *TapKind { p := new(TapKind) *p = x return p } func (x TapKind) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TapKind) Descriptor() protoreflect.EnumDescriptor { return file_uart_messages_proto_enumTypes[1].Descriptor() } func (TapKind) Type() protoreflect.EnumType { return &file_uart_messages_proto_enumTypes[1] } func (x TapKind) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TapKind.Descriptor instead. func (TapKind) EnumDescriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{1} } type UartMessage struct { state protoimpl.MessageState `protogen:"open.v1"` Type MessageType `protobuf:"varint,1,opt,name=type,proto3,enum=alox.MessageType" json:"type,omitempty"` // Types that are valid to be assigned to Payload: // // *UartMessage_AckPayload // *UartMessage_EchoPayload // *UartMessage_VersionResponse // *UartMessage_ClientInfoResponse // *UartMessage_ClientInputResponse // *UartMessage_OtaStart // *UartMessage_OtaPayload // *UartMessage_OtaEnd // *UartMessage_OtaStatus // *UartMessage_AccelDeadzoneRequest // *UartMessage_AccelDeadzoneResponse // *UartMessage_EspnowUnicastTestRequest // *UartMessage_EspnowUnicastTestResponse // *UartMessage_OtaSlaveProgressRequest // *UartMessage_OtaSlaveProgressResponse // *UartMessage_LedRingProgressRequest // *UartMessage_LedRingProgressResponse // *UartMessage_EspnowFindMeRequest // *UartMessage_EspnowFindMeResponse // *UartMessage_RestartRequest // *UartMessage_RestartResponse // *UartMessage_AccelStreamRequest // *UartMessage_AccelStreamResponse // *UartMessage_BatteryStatusRequest // *UartMessage_BatteryStatusResponse // *UartMessage_TapNotifyRequest // *UartMessage_TapNotifyResponse // *UartMessage_CacheStatusRequest // *UartMessage_CacheStatusResponse // *UartMessage_EspnowEchoPingRequest // *UartMessage_EspnowEchoPingResponse // *UartMessage_SetLogLevelRequest // *UartMessage_SetLogLevelResponse Payload isUartMessage_Payload `protobuf_oneof:"payload"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UartMessage) Reset() { *x = UartMessage{} mi := &file_uart_messages_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UartMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*UartMessage) ProtoMessage() {} func (x *UartMessage) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[0] 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 UartMessage.ProtoReflect.Descriptor instead. func (*UartMessage) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{0} } func (x *UartMessage) GetType() MessageType { if x != nil { return x.Type } return MessageType_UNKNOWN } func (x *UartMessage) GetPayload() isUartMessage_Payload { if x != nil { return x.Payload } return nil } func (x *UartMessage) GetAckPayload() *Ack { if x != nil { if x, ok := x.Payload.(*UartMessage_AckPayload); ok { return x.AckPayload } } return nil } func (x *UartMessage) GetEchoPayload() *EchoPayload { if x != nil { if x, ok := x.Payload.(*UartMessage_EchoPayload); ok { return x.EchoPayload } } return nil } func (x *UartMessage) GetVersionResponse() *VersionResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_VersionResponse); ok { return x.VersionResponse } } return nil } func (x *UartMessage) GetClientInfoResponse() *ClientInfoResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_ClientInfoResponse); ok { return x.ClientInfoResponse } } return nil } func (x *UartMessage) GetClientInputResponse() *ClientInputResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_ClientInputResponse); ok { return x.ClientInputResponse } } return nil } func (x *UartMessage) GetOtaStart() *OtaStartPayload { if x != nil { if x, ok := x.Payload.(*UartMessage_OtaStart); ok { return x.OtaStart } } return nil } func (x *UartMessage) GetOtaPayload() *OtaPayload { if x != nil { if x, ok := x.Payload.(*UartMessage_OtaPayload); ok { return x.OtaPayload } } return nil } func (x *UartMessage) GetOtaEnd() *OtaEndPayload { if x != nil { if x, ok := x.Payload.(*UartMessage_OtaEnd); ok { return x.OtaEnd } } return nil } func (x *UartMessage) GetOtaStatus() *OtaStatusPayload { if x != nil { if x, ok := x.Payload.(*UartMessage_OtaStatus); ok { return x.OtaStatus } } return nil } func (x *UartMessage) GetAccelDeadzoneRequest() *AccelDeadzoneRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_AccelDeadzoneRequest); ok { return x.AccelDeadzoneRequest } } return nil } func (x *UartMessage) GetAccelDeadzoneResponse() *AccelDeadzoneResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_AccelDeadzoneResponse); ok { return x.AccelDeadzoneResponse } } return nil } func (x *UartMessage) GetEspnowUnicastTestRequest() *EspNowUnicastTestRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_EspnowUnicastTestRequest); ok { return x.EspnowUnicastTestRequest } } return nil } func (x *UartMessage) GetEspnowUnicastTestResponse() *EspNowUnicastTestResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_EspnowUnicastTestResponse); ok { return x.EspnowUnicastTestResponse } } return nil } func (x *UartMessage) GetOtaSlaveProgressRequest() *OtaSlaveProgressRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_OtaSlaveProgressRequest); ok { return x.OtaSlaveProgressRequest } } return nil } func (x *UartMessage) GetOtaSlaveProgressResponse() *OtaSlaveProgressResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_OtaSlaveProgressResponse); ok { return x.OtaSlaveProgressResponse } } return nil } func (x *UartMessage) GetLedRingProgressRequest() *LedRingProgressRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_LedRingProgressRequest); ok { return x.LedRingProgressRequest } } return nil } func (x *UartMessage) GetLedRingProgressResponse() *LedRingProgressResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_LedRingProgressResponse); ok { return x.LedRingProgressResponse } } return nil } func (x *UartMessage) GetEspnowFindMeRequest() *EspNowFindMeRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_EspnowFindMeRequest); ok { return x.EspnowFindMeRequest } } return nil } func (x *UartMessage) GetEspnowFindMeResponse() *EspNowFindMeResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_EspnowFindMeResponse); ok { return x.EspnowFindMeResponse } } return nil } func (x *UartMessage) GetRestartRequest() *RestartRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_RestartRequest); ok { return x.RestartRequest } } return nil } func (x *UartMessage) GetRestartResponse() *RestartResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_RestartResponse); ok { return x.RestartResponse } } return nil } func (x *UartMessage) GetAccelStreamRequest() *AccelStreamRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_AccelStreamRequest); ok { return x.AccelStreamRequest } } return nil } func (x *UartMessage) GetAccelStreamResponse() *AccelStreamResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_AccelStreamResponse); ok { return x.AccelStreamResponse } } return nil } func (x *UartMessage) GetBatteryStatusRequest() *BatteryStatusRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_BatteryStatusRequest); ok { return x.BatteryStatusRequest } } return nil } func (x *UartMessage) GetBatteryStatusResponse() *BatteryStatusResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_BatteryStatusResponse); ok { return x.BatteryStatusResponse } } return nil } func (x *UartMessage) GetTapNotifyRequest() *TapNotifyRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_TapNotifyRequest); ok { return x.TapNotifyRequest } } return nil } func (x *UartMessage) GetTapNotifyResponse() *TapNotifyResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_TapNotifyResponse); ok { return x.TapNotifyResponse } } return nil } func (x *UartMessage) GetCacheStatusRequest() *CacheStatusRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_CacheStatusRequest); ok { return x.CacheStatusRequest } } return nil } func (x *UartMessage) GetCacheStatusResponse() *CacheStatusResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_CacheStatusResponse); ok { return x.CacheStatusResponse } } return nil } func (x *UartMessage) GetEspnowEchoPingRequest() *EspNowEchoPingRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_EspnowEchoPingRequest); ok { return x.EspnowEchoPingRequest } } return nil } func (x *UartMessage) GetEspnowEchoPingResponse() *EspNowEchoPingResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_EspnowEchoPingResponse); ok { return x.EspnowEchoPingResponse } } return nil } func (x *UartMessage) GetSetLogLevelRequest() *SetLogLevelRequest { if x != nil { if x, ok := x.Payload.(*UartMessage_SetLogLevelRequest); ok { return x.SetLogLevelRequest } } return nil } func (x *UartMessage) GetSetLogLevelResponse() *SetLogLevelResponse { if x != nil { if x, ok := x.Payload.(*UartMessage_SetLogLevelResponse); ok { return x.SetLogLevelResponse } } return nil } type isUartMessage_Payload interface { isUartMessage_Payload() } type UartMessage_AckPayload struct { AckPayload *Ack `protobuf:"bytes,2,opt,name=ack_payload,json=ackPayload,proto3,oneof"` } type UartMessage_EchoPayload struct { EchoPayload *EchoPayload `protobuf:"bytes,3,opt,name=echo_payload,json=echoPayload,proto3,oneof"` } type UartMessage_VersionResponse struct { VersionResponse *VersionResponse `protobuf:"bytes,4,opt,name=version_response,json=versionResponse,proto3,oneof"` } type UartMessage_ClientInfoResponse struct { ClientInfoResponse *ClientInfoResponse `protobuf:"bytes,5,opt,name=client_info_response,json=clientInfoResponse,proto3,oneof"` } type UartMessage_ClientInputResponse struct { ClientInputResponse *ClientInputResponse `protobuf:"bytes,6,opt,name=client_input_response,json=clientInputResponse,proto3,oneof"` } type UartMessage_OtaStart struct { OtaStart *OtaStartPayload `protobuf:"bytes,7,opt,name=ota_start,json=otaStart,proto3,oneof"` } type UartMessage_OtaPayload struct { OtaPayload *OtaPayload `protobuf:"bytes,8,opt,name=ota_payload,json=otaPayload,proto3,oneof"` } type UartMessage_OtaEnd struct { OtaEnd *OtaEndPayload `protobuf:"bytes,9,opt,name=ota_end,json=otaEnd,proto3,oneof"` } type UartMessage_OtaStatus struct { OtaStatus *OtaStatusPayload `protobuf:"bytes,10,opt,name=ota_status,json=otaStatus,proto3,oneof"` } type UartMessage_AccelDeadzoneRequest struct { AccelDeadzoneRequest *AccelDeadzoneRequest `protobuf:"bytes,11,opt,name=accel_deadzone_request,json=accelDeadzoneRequest,proto3,oneof"` } type UartMessage_AccelDeadzoneResponse struct { AccelDeadzoneResponse *AccelDeadzoneResponse `protobuf:"bytes,12,opt,name=accel_deadzone_response,json=accelDeadzoneResponse,proto3,oneof"` } type UartMessage_EspnowUnicastTestRequest struct { EspnowUnicastTestRequest *EspNowUnicastTestRequest `protobuf:"bytes,13,opt,name=espnow_unicast_test_request,json=espnowUnicastTestRequest,proto3,oneof"` } type UartMessage_EspnowUnicastTestResponse struct { EspnowUnicastTestResponse *EspNowUnicastTestResponse `protobuf:"bytes,14,opt,name=espnow_unicast_test_response,json=espnowUnicastTestResponse,proto3,oneof"` } type UartMessage_OtaSlaveProgressRequest struct { OtaSlaveProgressRequest *OtaSlaveProgressRequest `protobuf:"bytes,15,opt,name=ota_slave_progress_request,json=otaSlaveProgressRequest,proto3,oneof"` } type UartMessage_OtaSlaveProgressResponse struct { OtaSlaveProgressResponse *OtaSlaveProgressResponse `protobuf:"bytes,16,opt,name=ota_slave_progress_response,json=otaSlaveProgressResponse,proto3,oneof"` } type UartMessage_LedRingProgressRequest struct { LedRingProgressRequest *LedRingProgressRequest `protobuf:"bytes,17,opt,name=led_ring_progress_request,json=ledRingProgressRequest,proto3,oneof"` } type UartMessage_LedRingProgressResponse struct { LedRingProgressResponse *LedRingProgressResponse `protobuf:"bytes,18,opt,name=led_ring_progress_response,json=ledRingProgressResponse,proto3,oneof"` } type UartMessage_EspnowFindMeRequest struct { EspnowFindMeRequest *EspNowFindMeRequest `protobuf:"bytes,19,opt,name=espnow_find_me_request,json=espnowFindMeRequest,proto3,oneof"` } type UartMessage_EspnowFindMeResponse struct { EspnowFindMeResponse *EspNowFindMeResponse `protobuf:"bytes,20,opt,name=espnow_find_me_response,json=espnowFindMeResponse,proto3,oneof"` } type UartMessage_RestartRequest struct { RestartRequest *RestartRequest `protobuf:"bytes,21,opt,name=restart_request,json=restartRequest,proto3,oneof"` } type UartMessage_RestartResponse struct { RestartResponse *RestartResponse `protobuf:"bytes,22,opt,name=restart_response,json=restartResponse,proto3,oneof"` } type UartMessage_AccelStreamRequest struct { AccelStreamRequest *AccelStreamRequest `protobuf:"bytes,25,opt,name=accel_stream_request,json=accelStreamRequest,proto3,oneof"` } type UartMessage_AccelStreamResponse struct { AccelStreamResponse *AccelStreamResponse `protobuf:"bytes,26,opt,name=accel_stream_response,json=accelStreamResponse,proto3,oneof"` } type UartMessage_BatteryStatusRequest struct { BatteryStatusRequest *BatteryStatusRequest `protobuf:"bytes,27,opt,name=battery_status_request,json=batteryStatusRequest,proto3,oneof"` } type UartMessage_BatteryStatusResponse struct { BatteryStatusResponse *BatteryStatusResponse `protobuf:"bytes,28,opt,name=battery_status_response,json=batteryStatusResponse,proto3,oneof"` } type UartMessage_TapNotifyRequest struct { TapNotifyRequest *TapNotifyRequest `protobuf:"bytes,29,opt,name=tap_notify_request,json=tapNotifyRequest,proto3,oneof"` } type UartMessage_TapNotifyResponse struct { TapNotifyResponse *TapNotifyResponse `protobuf:"bytes,30,opt,name=tap_notify_response,json=tapNotifyResponse,proto3,oneof"` } type UartMessage_CacheStatusRequest struct { CacheStatusRequest *CacheStatusRequest `protobuf:"bytes,33,opt,name=cache_status_request,json=cacheStatusRequest,proto3,oneof"` } type UartMessage_CacheStatusResponse struct { CacheStatusResponse *CacheStatusResponse `protobuf:"bytes,34,opt,name=cache_status_response,json=cacheStatusResponse,proto3,oneof"` } type UartMessage_EspnowEchoPingRequest struct { EspnowEchoPingRequest *EspNowEchoPingRequest `protobuf:"bytes,35,opt,name=espnow_echo_ping_request,json=espnowEchoPingRequest,proto3,oneof"` } type UartMessage_EspnowEchoPingResponse struct { EspnowEchoPingResponse *EspNowEchoPingResponse `protobuf:"bytes,36,opt,name=espnow_echo_ping_response,json=espnowEchoPingResponse,proto3,oneof"` } type UartMessage_SetLogLevelRequest struct { SetLogLevelRequest *SetLogLevelRequest `protobuf:"bytes,37,opt,name=set_log_level_request,json=setLogLevelRequest,proto3,oneof"` } type UartMessage_SetLogLevelResponse struct { SetLogLevelResponse *SetLogLevelResponse `protobuf:"bytes,38,opt,name=set_log_level_response,json=setLogLevelResponse,proto3,oneof"` } func (*UartMessage_AckPayload) isUartMessage_Payload() {} func (*UartMessage_EchoPayload) isUartMessage_Payload() {} func (*UartMessage_VersionResponse) isUartMessage_Payload() {} func (*UartMessage_ClientInfoResponse) isUartMessage_Payload() {} func (*UartMessage_ClientInputResponse) isUartMessage_Payload() {} func (*UartMessage_OtaStart) isUartMessage_Payload() {} func (*UartMessage_OtaPayload) isUartMessage_Payload() {} func (*UartMessage_OtaEnd) isUartMessage_Payload() {} func (*UartMessage_OtaStatus) isUartMessage_Payload() {} func (*UartMessage_AccelDeadzoneRequest) isUartMessage_Payload() {} func (*UartMessage_AccelDeadzoneResponse) isUartMessage_Payload() {} func (*UartMessage_EspnowUnicastTestRequest) isUartMessage_Payload() {} func (*UartMessage_EspnowUnicastTestResponse) isUartMessage_Payload() {} func (*UartMessage_OtaSlaveProgressRequest) isUartMessage_Payload() {} func (*UartMessage_OtaSlaveProgressResponse) isUartMessage_Payload() {} func (*UartMessage_LedRingProgressRequest) isUartMessage_Payload() {} func (*UartMessage_LedRingProgressResponse) isUartMessage_Payload() {} func (*UartMessage_EspnowFindMeRequest) isUartMessage_Payload() {} func (*UartMessage_EspnowFindMeResponse) isUartMessage_Payload() {} func (*UartMessage_RestartRequest) isUartMessage_Payload() {} func (*UartMessage_RestartResponse) isUartMessage_Payload() {} func (*UartMessage_AccelStreamRequest) isUartMessage_Payload() {} func (*UartMessage_AccelStreamResponse) isUartMessage_Payload() {} func (*UartMessage_BatteryStatusRequest) isUartMessage_Payload() {} func (*UartMessage_BatteryStatusResponse) isUartMessage_Payload() {} func (*UartMessage_TapNotifyRequest) isUartMessage_Payload() {} func (*UartMessage_TapNotifyResponse) isUartMessage_Payload() {} func (*UartMessage_CacheStatusRequest) isUartMessage_Payload() {} func (*UartMessage_CacheStatusResponse) isUartMessage_Payload() {} func (*UartMessage_EspnowEchoPingRequest) isUartMessage_Payload() {} func (*UartMessage_EspnowEchoPingResponse) isUartMessage_Payload() {} func (*UartMessage_SetLogLevelRequest) isUartMessage_Payload() {} func (*UartMessage_SetLogLevelResponse) isUartMessage_Payload() {} type Ack struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Ack) Reset() { *x = Ack{} mi := &file_uart_messages_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Ack) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ack) ProtoMessage() {} func (x *Ack) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[1] 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 Ack.ProtoReflect.Descriptor instead. func (*Ack) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{1} } type EchoPayload struct { state protoimpl.MessageState `protogen:"open.v1"` Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EchoPayload) Reset() { *x = EchoPayload{} mi := &file_uart_messages_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EchoPayload) String() string { return protoimpl.X.MessageStringOf(x) } func (*EchoPayload) ProtoMessage() {} func (x *EchoPayload) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[2] 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 EchoPayload.ProtoReflect.Descriptor instead. func (*EchoPayload) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{2} } func (x *EchoPayload) GetData() []byte { if x != nil { return x.Data } return nil } type VersionResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` GitHash string `protobuf:"bytes,2,opt,name=git_hash,json=gitHash,proto3" json:"git_hash,omitempty"` // * Active OTA app partition label, e.g. "ota_0" or "ota_1". RunningPartition string `protobuf:"bytes,3,opt,name=running_partition,json=runningPartition,proto3" json:"running_partition,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *VersionResponse) Reset() { *x = VersionResponse{} mi := &file_uart_messages_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *VersionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[3] 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 VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{3} } func (x *VersionResponse) GetVersion() uint32 { if x != nil { return x.Version } return 0 } func (x *VersionResponse) GetGitHash() string { if x != nil { return x.GitHash } return "" } func (x *VersionResponse) GetRunningPartition() string { if x != nil { return x.RunningPartition } return "" } type ClientInfo struct { state protoimpl.MessageState `protogen:"open.v1"` Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Available bool `protobuf:"varint,2,opt,name=available,proto3" json:"available,omitempty"` Used bool `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"` Mac []byte `protobuf:"bytes,4,opt,name=mac,proto3" json:"mac,omitempty"` LastPing uint32 `protobuf:"varint,5,opt,name=last_ping,json=lastPing,proto3" json:"last_ping,omitempty"` LastSuccessPing uint32 `protobuf:"varint,6,opt,name=last_success_ping,json=lastSuccessPing,proto3" json:"last_success_ping,omitempty"` Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"` // * Master: ESP-NOW accel stream enabled for this slave. AccelStreamEnabled bool `protobuf:"varint,8,opt,name=accel_stream_enabled,json=accelStreamEnabled,proto3" json:"accel_stream_enabled,omitempty"` // * Master: ESP-NOW tap notify flags for this slave. TapNotifySingle bool `protobuf:"varint,9,opt,name=tap_notify_single,json=tapNotifySingle,proto3" json:"tap_notify_single,omitempty"` TapNotifyDouble bool `protobuf:"varint,10,opt,name=tap_notify_double,json=tapNotifyDouble,proto3" json:"tap_notify_double,omitempty"` TapNotifyTriple bool `protobuf:"varint,11,opt,name=tap_notify_triple,json=tapNotifyTriple,proto3" json:"tap_notify_triple,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClientInfo) Reset() { *x = ClientInfo{} mi := &file_uart_messages_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ClientInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientInfo) ProtoMessage() {} func (x *ClientInfo) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[4] 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 ClientInfo.ProtoReflect.Descriptor instead. func (*ClientInfo) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{4} } func (x *ClientInfo) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *ClientInfo) GetAvailable() bool { if x != nil { return x.Available } return false } func (x *ClientInfo) GetUsed() bool { if x != nil { return x.Used } return false } func (x *ClientInfo) GetMac() []byte { if x != nil { return x.Mac } return nil } func (x *ClientInfo) GetLastPing() uint32 { if x != nil { return x.LastPing } return 0 } func (x *ClientInfo) GetLastSuccessPing() uint32 { if x != nil { return x.LastSuccessPing } return 0 } func (x *ClientInfo) GetVersion() uint32 { if x != nil { return x.Version } return 0 } func (x *ClientInfo) GetAccelStreamEnabled() bool { if x != nil { return x.AccelStreamEnabled } return false } func (x *ClientInfo) GetTapNotifySingle() bool { if x != nil { return x.TapNotifySingle } return false } func (x *ClientInfo) GetTapNotifyDouble() bool { if x != nil { return x.TapNotifyDouble } return false } func (x *ClientInfo) GetTapNotifyTriple() bool { if x != nil { return x.TapNotifyTriple } return false } type ClientInfoResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Clients []*ClientInfo `protobuf:"bytes,1,rep,name=clients,proto3" json:"clients,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClientInfoResponse) Reset() { *x = ClientInfoResponse{} mi := &file_uart_messages_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ClientInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientInfoResponse) ProtoMessage() {} func (x *ClientInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[5] 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 ClientInfoResponse.ProtoReflect.Descriptor instead. func (*ClientInfoResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{5} } func (x *ClientInfoResponse) GetClients() []*ClientInfo { if x != nil { return x.Clients } return nil } type ClientInput struct { state protoimpl.MessageState `protogen:"open.v1"` Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` LageX float32 `protobuf:"fixed32,2,opt,name=lage_x,json=lageX,proto3" json:"lage_x,omitempty"` LageY float32 `protobuf:"fixed32,3,opt,name=lage_y,json=lageY,proto3" json:"lage_y,omitempty"` Bitmask uint32 `protobuf:"varint,4,opt,name=bitmask,proto3" json:"bitmask,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClientInput) Reset() { *x = ClientInput{} mi := &file_uart_messages_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ClientInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientInput) ProtoMessage() {} func (x *ClientInput) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[6] 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 ClientInput.ProtoReflect.Descriptor instead. func (*ClientInput) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{6} } func (x *ClientInput) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *ClientInput) GetLageX() float32 { if x != nil { return x.LageX } return 0 } func (x *ClientInput) GetLageY() float32 { if x != nil { return x.LageY } return 0 } func (x *ClientInput) GetBitmask() uint32 { if x != nil { return x.Bitmask } return 0 } type ClientInputResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Clients []*ClientInput `protobuf:"bytes,1,rep,name=clients,proto3" json:"clients,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClientInputResponse) Reset() { *x = ClientInputResponse{} mi := &file_uart_messages_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ClientInputResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientInputResponse) ProtoMessage() {} func (x *ClientInputResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[7] 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 ClientInputResponse.ProtoReflect.Descriptor instead. func (*ClientInputResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{7} } func (x *ClientInputResponse) GetClients() []*ClientInput { if x != nil { return x.Clients } return nil } // 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. type AccelDeadzoneRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Write bool `protobuf:"varint,1,opt,name=write,proto3" json:"write,omitempty"` Deadzone uint32 `protobuf:"varint,2,opt,name=deadzone,proto3" json:"deadzone,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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AccelDeadzoneRequest) Reset() { *x = AccelDeadzoneRequest{} mi := &file_uart_messages_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AccelDeadzoneRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccelDeadzoneRequest) ProtoMessage() {} func (x *AccelDeadzoneRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[8] 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 AccelDeadzoneRequest.ProtoReflect.Descriptor instead. func (*AccelDeadzoneRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{8} } func (x *AccelDeadzoneRequest) GetWrite() bool { if x != nil { return x.Write } return false } func (x *AccelDeadzoneRequest) GetDeadzone() uint32 { if x != nil { return x.Deadzone } return 0 } func (x *AccelDeadzoneRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *AccelDeadzoneRequest) GetAllClients() bool { if x != nil { return x.AllClients } return false } type AccelDeadzoneResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Deadzone uint32 `protobuf:"varint,1,opt,name=deadzone,proto3" json:"deadzone,omitempty"` ClientId uint32 `protobuf:"varint,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` SlavesUpdated uint32 `protobuf:"varint,4,opt,name=slaves_updated,json=slavesUpdated,proto3" json:"slaves_updated,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AccelDeadzoneResponse) Reset() { *x = AccelDeadzoneResponse{} mi := &file_uart_messages_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AccelDeadzoneResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccelDeadzoneResponse) ProtoMessage() {} func (x *AccelDeadzoneResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[9] 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 AccelDeadzoneResponse.ProtoReflect.Descriptor instead. func (*AccelDeadzoneResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{9} } func (x *AccelDeadzoneResponse) GetDeadzone() uint32 { if x != nil { return x.Deadzone } return 0 } func (x *AccelDeadzoneResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *AccelDeadzoneResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *AccelDeadzoneResponse) GetSlavesUpdated() uint32 { if x != nil { return x.SlavesUpdated } return 0 } // 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). 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AccelStreamRequest) Reset() { *x = AccelStreamRequest{} mi := &file_uart_messages_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AccelStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccelStreamRequest) ProtoMessage() {} func (x *AccelStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[10] 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 AccelStreamRequest.ProtoReflect.Descriptor instead. func (*AccelStreamRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{10} } func (x *AccelStreamRequest) GetWrite() bool { if x != nil { return x.Write } return false } func (x *AccelStreamRequest) GetEnable() bool { if x != nil { return x.Enable } return false } func (x *AccelStreamRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *AccelStreamRequest) GetAllClients() bool { if x != nil { return x.AllClients } return false } type AccelStreamResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` ClientId uint32 `protobuf:"varint,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` SlavesUpdated uint32 `protobuf:"varint,4,opt,name=slaves_updated,json=slavesUpdated,proto3" json:"slaves_updated,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AccelStreamResponse) Reset() { *x = AccelStreamResponse{} mi := &file_uart_messages_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AccelStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccelStreamResponse) ProtoMessage() {} func (x *AccelStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[11] 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 AccelStreamResponse.ProtoReflect.Descriptor instead. func (*AccelStreamResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{11} } func (x *AccelStreamResponse) GetEnabled() bool { if x != nil { return x.Enabled } return false } func (x *AccelStreamResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *AccelStreamResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *AccelStreamResponse) GetSlavesUpdated() uint32 { if x != nil { return x.SlavesUpdated } return 0 } // * Host → master: read LiPo ADC voltages (master local and/or slaves via ESP-NOW). type BatteryStatusRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // * 0 = master only; >0 = one slave; ignored when all_clients ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // * Master (client_id 0) plus every registered slave AllClients bool `protobuf:"varint,2,opt,name=all_clients,json=allClients,proto3" json:"all_clients,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BatteryStatusRequest) Reset() { *x = BatteryStatusRequest{} mi := &file_uart_messages_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BatteryStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BatteryStatusRequest) ProtoMessage() {} func (x *BatteryStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[12] 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 BatteryStatusRequest.ProtoReflect.Descriptor instead. func (*BatteryStatusRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{12} } func (x *BatteryStatusRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *BatteryStatusRequest) GetAllClients() bool { if x != nil { return x.AllClients } return false } type LipoReading struct { state protoimpl.MessageState `protogen:"open.v1"` Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` // * Estimated pack voltage in millivolts from ADC VoltageMv uint32 `protobuf:"varint,2,opt,name=voltage_mv,json=voltageMv,proto3" json:"voltage_mv,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LipoReading) Reset() { *x = LipoReading{} mi := &file_uart_messages_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LipoReading) String() string { return protoimpl.X.MessageStringOf(x) } func (*LipoReading) ProtoMessage() {} func (x *LipoReading) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[13] 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 LipoReading.ProtoReflect.Descriptor instead. func (*LipoReading) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{13} } func (x *LipoReading) GetValid() bool { if x != nil { return x.Valid } return false } func (x *LipoReading) GetVoltageMv() uint32 { if x != nil { return x.VoltageMv } return 0 } type BatterySample struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Lipo1 *LipoReading `protobuf:"bytes,2,opt,name=lipo1,proto3" json:"lipo1,omitempty"` Lipo2 *LipoReading `protobuf:"bytes,3,opt,name=lipo2,proto3" json:"lipo2,omitempty"` // * Milliseconds since last ESP-NOW battery report from this pod. AgeMs uint32 `protobuf:"varint,4,opt,name=age_ms,json=ageMs,proto3" json:"age_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BatterySample) Reset() { *x = BatterySample{} mi := &file_uart_messages_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BatterySample) String() string { return protoimpl.X.MessageStringOf(x) } func (*BatterySample) ProtoMessage() {} func (x *BatterySample) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[14] 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 BatterySample.ProtoReflect.Descriptor instead. func (*BatterySample) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{14} } func (x *BatterySample) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *BatterySample) GetLipo1() *LipoReading { if x != nil { return x.Lipo1 } return nil } func (x *BatterySample) GetLipo2() *LipoReading { if x != nil { return x.Lipo2 } return nil } func (x *BatterySample) GetAgeMs() uint32 { if x != nil { return x.AgeMs } return 0 } type BatteryStatusResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Samples []*BatterySample `protobuf:"bytes,2,rep,name=samples,proto3" json:"samples,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BatteryStatusResponse) Reset() { *x = BatteryStatusResponse{} mi := &file_uart_messages_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BatteryStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BatteryStatusResponse) ProtoMessage() {} func (x *BatteryStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[15] 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 BatteryStatusResponse.ProtoReflect.Descriptor instead. func (*BatteryStatusResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{15} } func (x *BatteryStatusResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *BatteryStatusResponse) GetSamples() []*BatterySample { if x != nil { return x.Samples } return nil } // * Legacy host-side sample shape (dashboard helpers); use CACHE_STATUS on the wire. type AccelSample struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Valid bool `protobuf:"varint,2,opt,name=valid,proto3" json:"valid,omitempty"` X int32 `protobuf:"zigzag32,3,opt,name=x,proto3" json:"x,omitempty"` Y int32 `protobuf:"zigzag32,4,opt,name=y,proto3" json:"y,omitempty"` Z int32 `protobuf:"zigzag32,5,opt,name=z,proto3" json:"z,omitempty"` // * Milliseconds since last ESP-NOW sample from this slave. AgeMs uint32 `protobuf:"varint,6,opt,name=age_ms,json=ageMs,proto3" json:"age_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AccelSample) Reset() { *x = AccelSample{} mi := &file_uart_messages_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AccelSample) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccelSample) ProtoMessage() {} func (x *AccelSample) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[16] 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 AccelSample.ProtoReflect.Descriptor instead. func (*AccelSample) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{16} } func (x *AccelSample) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *AccelSample) GetValid() bool { if x != nil { return x.Valid } return false } func (x *AccelSample) GetX() int32 { if x != nil { return x.X } return 0 } func (x *AccelSample) GetY() int32 { if x != nil { return x.Y } return 0 } func (x *AccelSample) GetZ() int32 { if x != nil { return x.Z } return 0 } func (x *AccelSample) GetAgeMs() uint32 { if x != nil { return x.AgeMs } return 0 } // * Host → master: enable/disable tap ESP-NOW notify per slave (single/double/triple). type TapNotifyRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Write bool `protobuf:"varint,1,opt,name=write,proto3" json:"write,omitempty"` ClientId uint32 `protobuf:"varint,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` AllClients bool `protobuf:"varint,3,opt,name=all_clients,json=allClients,proto3" json:"all_clients,omitempty"` Single bool `protobuf:"varint,4,opt,name=single,proto3" json:"single,omitempty"` DoubleTap bool `protobuf:"varint,5,opt,name=double_tap,json=doubleTap,proto3" json:"double_tap,omitempty"` Triple bool `protobuf:"varint,6,opt,name=triple,proto3" json:"triple,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TapNotifyRequest) Reset() { *x = TapNotifyRequest{} mi := &file_uart_messages_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TapNotifyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapNotifyRequest) ProtoMessage() {} func (x *TapNotifyRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[17] 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 TapNotifyRequest.ProtoReflect.Descriptor instead. func (*TapNotifyRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{17} } func (x *TapNotifyRequest) GetWrite() bool { if x != nil { return x.Write } return false } func (x *TapNotifyRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *TapNotifyRequest) GetAllClients() bool { if x != nil { return x.AllClients } return false } func (x *TapNotifyRequest) GetSingle() bool { if x != nil { return x.Single } return false } func (x *TapNotifyRequest) GetDoubleTap() bool { if x != nil { return x.DoubleTap } return false } func (x *TapNotifyRequest) GetTriple() bool { if x != nil { return x.Triple } return false } type TapNotifyResponse struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` SlavesUpdated uint32 `protobuf:"varint,3,opt,name=slaves_updated,json=slavesUpdated,proto3" json:"slaves_updated,omitempty"` Single bool `protobuf:"varint,4,opt,name=single,proto3" json:"single,omitempty"` DoubleTap bool `protobuf:"varint,5,opt,name=double_tap,json=doubleTap,proto3" json:"double_tap,omitempty"` Triple bool `protobuf:"varint,6,opt,name=triple,proto3" json:"triple,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TapNotifyResponse) Reset() { *x = TapNotifyResponse{} mi := &file_uart_messages_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TapNotifyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapNotifyResponse) ProtoMessage() {} func (x *TapNotifyResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[18] 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 TapNotifyResponse.ProtoReflect.Descriptor instead. func (*TapNotifyResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{18} } func (x *TapNotifyResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *TapNotifyResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *TapNotifyResponse) GetSlavesUpdated() uint32 { if x != nil { return x.SlavesUpdated } return 0 } func (x *TapNotifyResponse) GetSingle() bool { if x != nil { return x.Single } return false } func (x *TapNotifyResponse) GetDoubleTap() bool { if x != nil { return x.DoubleTap } return false } func (x *TapNotifyResponse) GetTriple() bool { if x != nil { return x.Triple } return false } // * Legacy tap event shape (dashboard helpers); use CACHE_STATUS on the wire. type TapEvent struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Valid bool `protobuf:"varint,2,opt,name=valid,proto3" json:"valid,omitempty"` Kind TapKind `protobuf:"varint,3,opt,name=kind,proto3,enum=alox.TapKind" json:"kind,omitempty"` AgeMs uint32 `protobuf:"varint,4,opt,name=age_ms,json=ageMs,proto3" json:"age_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TapEvent) Reset() { *x = TapEvent{} mi := &file_uart_messages_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TapEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*TapEvent) ProtoMessage() {} func (x *TapEvent) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[19] 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 TapEvent.ProtoReflect.Descriptor instead. func (*TapEvent) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{19} } func (x *TapEvent) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *TapEvent) GetValid() bool { if x != nil { return x.Valid } return false } func (x *TapEvent) GetKind() TapKind { if x != nil { return x.Kind } return TapKind_TAP_NONE } func (x *TapEvent) GetAgeMs() uint32 { if x != nil { return x.AgeMs } return 0 } // * Host → master: one-shot read of subscribed cached slave data (no request body). type CacheStatusRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CacheStatusRequest) Reset() { *x = CacheStatusRequest{} mi := &file_uart_messages_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CacheStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheStatusRequest) ProtoMessage() {} func (x *CacheStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[20] 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 CacheStatusRequest.ProtoReflect.Descriptor instead. func (*CacheStatusRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{20} } // * Accel slice inside CACHE_STATUS (no client_id — use parent CacheClientStatus). type CacheClientAccel struct { state protoimpl.MessageState `protogen:"open.v1"` Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` X int32 `protobuf:"zigzag32,2,opt,name=x,proto3" json:"x,omitempty"` Y int32 `protobuf:"zigzag32,3,opt,name=y,proto3" json:"y,omitempty"` Z int32 `protobuf:"zigzag32,4,opt,name=z,proto3" json:"z,omitempty"` AgeMs uint32 `protobuf:"varint,5,opt,name=age_ms,json=ageMs,proto3" json:"age_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CacheClientAccel) Reset() { *x = CacheClientAccel{} mi := &file_uart_messages_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CacheClientAccel) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheClientAccel) ProtoMessage() {} func (x *CacheClientAccel) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[21] 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 CacheClientAccel.ProtoReflect.Descriptor instead. func (*CacheClientAccel) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{21} } func (x *CacheClientAccel) GetValid() bool { if x != nil { return x.Valid } return false } func (x *CacheClientAccel) GetX() int32 { if x != nil { return x.X } return 0 } func (x *CacheClientAccel) GetY() int32 { if x != nil { return x.Y } return 0 } func (x *CacheClientAccel) GetZ() int32 { if x != nil { return x.Z } return 0 } func (x *CacheClientAccel) GetAgeMs() uint32 { if x != nil { return x.AgeMs } return 0 } // * Tap slice inside CACHE_STATUS; only present when a pending tap was consumed. type CacheClientTap struct { state protoimpl.MessageState `protogen:"open.v1"` Kind TapKind `protobuf:"varint,1,opt,name=kind,proto3,enum=alox.TapKind" json:"kind,omitempty"` AgeMs uint32 `protobuf:"varint,2,opt,name=age_ms,json=ageMs,proto3" json:"age_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CacheClientTap) Reset() { *x = CacheClientTap{} mi := &file_uart_messages_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CacheClientTap) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheClientTap) ProtoMessage() {} func (x *CacheClientTap) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[22] 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 CacheClientTap.ProtoReflect.Descriptor instead. func (*CacheClientTap) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{22} } func (x *CacheClientTap) GetKind() TapKind { if x != nil { return x.Kind } return TapKind_TAP_NONE } func (x *CacheClientTap) GetAgeMs() uint32 { if x != nil { return x.AgeMs } return 0 } // * One slave with accel and/or tap notify enabled; only subscribed fields are set. type CacheClientStatus struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Accel *CacheClientAccel `protobuf:"bytes,2,opt,name=accel,proto3" json:"accel,omitempty"` Tap *CacheClientTap `protobuf:"bytes,3,opt,name=tap,proto3" json:"tap,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CacheClientStatus) Reset() { *x = CacheClientStatus{} mi := &file_uart_messages_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CacheClientStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheClientStatus) ProtoMessage() {} func (x *CacheClientStatus) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[23] 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 CacheClientStatus.ProtoReflect.Descriptor instead. func (*CacheClientStatus) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{23} } func (x *CacheClientStatus) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *CacheClientStatus) GetAccel() *CacheClientAccel { if x != nil { return x.Accel } return nil } func (x *CacheClientStatus) GetTap() *CacheClientTap { if x != nil { return x.Tap } return nil } type CacheStatusResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // * Slaves with accel_stream and/or tap notify; omitted fields are not subscribed. Clients []*CacheClientStatus `protobuf:"bytes,1,rep,name=clients,proto3" json:"clients,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CacheStatusResponse) Reset() { *x = CacheStatusResponse{} mi := &file_uart_messages_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CacheStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CacheStatusResponse) ProtoMessage() {} func (x *CacheStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[24] 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 CacheStatusResponse.ProtoReflect.Descriptor instead. func (*CacheStatusResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{24} } func (x *CacheStatusResponse) 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"` Seq uint32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EspNowUnicastTestRequest) Reset() { *x = EspNowUnicastTestRequest{} mi := &file_uart_messages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EspNowUnicastTestRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EspNowUnicastTestRequest) ProtoMessage() {} func (x *EspNowUnicastTestRequest) 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 EspNowUnicastTestRequest.ProtoReflect.Descriptor instead. func (*EspNowUnicastTestRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{25} } func (x *EspNowUnicastTestRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *EspNowUnicastTestRequest) GetSeq() uint32 { if x != nil { return x.Seq } return 0 } type EspNowUnicastTestResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Seq uint32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EspNowUnicastTestResponse) Reset() { *x = EspNowUnicastTestResponse{} mi := &file_uart_messages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EspNowUnicastTestResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EspNowUnicastTestResponse) ProtoMessage() {} func (x *EspNowUnicastTestResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[26] 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 EspNowUnicastTestResponse.ProtoReflect.Descriptor instead. func (*EspNowUnicastTestResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{26} } func (x *EspNowUnicastTestResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *EspNowUnicastTestResponse) GetSeq() uint32 { if x != nil { return x.Seq } return 0 } // * Host → master: ESP-NOW echo ping to one slave (timestamp echoed back). type EspNowEchoPingRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // * Microseconds since Unix epoch (host clock). TimestampUs uint64 `protobuf:"varint,2,opt,name=timestamp_us,json=timestampUs,proto3" json:"timestamp_us,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EspNowEchoPingRequest) Reset() { *x = EspNowEchoPingRequest{} mi := &file_uart_messages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EspNowEchoPingRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EspNowEchoPingRequest) ProtoMessage() {} func (x *EspNowEchoPingRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[27] 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 EspNowEchoPingRequest.ProtoReflect.Descriptor instead. func (*EspNowEchoPingRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{27} } func (x *EspNowEchoPingRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *EspNowEchoPingRequest) GetTimestampUs() uint64 { if x != nil { return x.TimestampUs } return 0 } type EspNowEchoPingResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` ClientId uint32 `protobuf:"varint,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // * Echoed host timestamp from goTool request. TimestampUs uint64 `protobuf:"varint,3,opt,name=timestamp_us,json=timestampUs,proto3" json:"timestamp_us,omitempty"` // * esp_timer_get_time() delta from ping send to pong recv (master→slave→master). EspRttUs uint32 `protobuf:"varint,4,opt,name=esp_rtt_us,json=espRttUs,proto3" json:"esp_rtt_us,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EspNowEchoPingResponse) Reset() { *x = EspNowEchoPingResponse{} mi := &file_uart_messages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EspNowEchoPingResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EspNowEchoPingResponse) ProtoMessage() {} func (x *EspNowEchoPingResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[28] 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 EspNowEchoPingResponse.ProtoReflect.Descriptor instead. func (*EspNowEchoPingResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{28} } func (x *EspNowEchoPingResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *EspNowEchoPingResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *EspNowEchoPingResponse) GetTimestampUs() uint64 { if x != nil { return x.TimestampUs } return 0 } func (x *EspNowEchoPingResponse) GetEspRttUs() uint32 { if x != nil { return x.EspRttUs } return 0 } // Host → master: LED ring on master (client_id=0) and/or slaves via ESP-NOW. // mode: 0=clear, 1=progress (0–100 %), 2=digit (0–10), 3=blink, 4=find-me, 5=all LEDs solid color. type LedRingProgressRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Mode uint32 `protobuf:"varint,1,opt,name=mode,proto3" json:"mode,omitempty"` // * 0–100: fraction of ring LEDs to light (mode=progress) Progress uint32 `protobuf:"varint,2,opt,name=progress,proto3" json:"progress,omitempty"` // * 0–10 (mode=digit) Digit uint32 `protobuf:"varint,3,opt,name=digit,proto3" json:"digit,omitempty"` R uint32 `protobuf:"varint,4,opt,name=r,proto3" json:"r,omitempty"` G uint32 `protobuf:"varint,5,opt,name=g,proto3" json:"g,omitempty"` B uint32 `protobuf:"varint,6,opt,name=b,proto3" json:"b,omitempty"` // * 0–255 brightness scale; 0 = firmware default (~5 %) Intensity uint32 `protobuf:"varint,7,opt,name=intensity,proto3" json:"intensity,omitempty"` // * Pulse length in ms (mode=blink, default 350) BlinkMs uint32 `protobuf:"varint,8,opt,name=blink_ms,json=blinkMs,proto3" json:"blink_ms,omitempty"` // * Number of pulses (mode=blink, default 1) BlinkCount uint32 `protobuf:"varint,9,opt,name=blink_count,json=blinkCount,proto3" json:"blink_count,omitempty"` // * 0 = master ring only; >0 = one slave; ignored when all_clients ClientId uint32 `protobuf:"varint,10,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // * Broadcast to all registered slaves (and optionally master unless slaves_only) AllClients bool `protobuf:"varint,11,opt,name=all_clients,json=allClients,proto3" json:"all_clients,omitempty"` // * With all_clients: do not change master ring SlavesOnly bool `protobuf:"varint,12,opt,name=slaves_only,json=slavesOnly,proto3" json:"slaves_only,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LedRingProgressRequest) Reset() { *x = LedRingProgressRequest{} mi := &file_uart_messages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LedRingProgressRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LedRingProgressRequest) ProtoMessage() {} func (x *LedRingProgressRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[29] 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 LedRingProgressRequest.ProtoReflect.Descriptor instead. func (*LedRingProgressRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{29} } func (x *LedRingProgressRequest) GetMode() uint32 { if x != nil { return x.Mode } return 0 } func (x *LedRingProgressRequest) GetProgress() uint32 { if x != nil { return x.Progress } return 0 } func (x *LedRingProgressRequest) GetDigit() uint32 { if x != nil { return x.Digit } return 0 } func (x *LedRingProgressRequest) GetR() uint32 { if x != nil { return x.R } return 0 } func (x *LedRingProgressRequest) GetG() uint32 { if x != nil { return x.G } return 0 } func (x *LedRingProgressRequest) GetB() uint32 { if x != nil { return x.B } return 0 } func (x *LedRingProgressRequest) GetIntensity() uint32 { if x != nil { return x.Intensity } return 0 } func (x *LedRingProgressRequest) GetBlinkMs() uint32 { if x != nil { return x.BlinkMs } return 0 } func (x *LedRingProgressRequest) GetBlinkCount() uint32 { if x != nil { return x.BlinkCount } return 0 } func (x *LedRingProgressRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *LedRingProgressRequest) GetAllClients() bool { if x != nil { return x.AllClients } return false } func (x *LedRingProgressRequest) GetSlavesOnly() bool { if x != nil { return x.SlavesOnly } return false } type LedRingProgressResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Mode uint32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` Progress uint32 `protobuf:"varint,3,opt,name=progress,proto3" json:"progress,omitempty"` Digit uint32 `protobuf:"varint,4,opt,name=digit,proto3" json:"digit,omitempty"` ClientId uint32 `protobuf:"varint,5,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` SlavesUpdated uint32 `protobuf:"varint,6,opt,name=slaves_updated,json=slavesUpdated,proto3" json:"slaves_updated,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LedRingProgressResponse) Reset() { *x = LedRingProgressResponse{} mi := &file_uart_messages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LedRingProgressResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LedRingProgressResponse) ProtoMessage() {} func (x *LedRingProgressResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[30] 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 LedRingProgressResponse.ProtoReflect.Descriptor instead. func (*LedRingProgressResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{30} } func (x *LedRingProgressResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *LedRingProgressResponse) GetMode() uint32 { if x != nil { return x.Mode } return 0 } func (x *LedRingProgressResponse) GetProgress() uint32 { if x != nil { return x.Progress } return 0 } func (x *LedRingProgressResponse) GetDigit() uint32 { if x != nil { return x.Digit } return 0 } func (x *LedRingProgressResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *LedRingProgressResponse) GetSlavesUpdated() uint32 { if x != nil { return x.SlavesUpdated } return 0 } // * Host → master: find-me on local ring (client_id=0) or ESP-NOW unicast to one slave. type EspNowFindMeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EspNowFindMeRequest) Reset() { *x = EspNowFindMeRequest{} mi := &file_uart_messages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EspNowFindMeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EspNowFindMeRequest) ProtoMessage() {} func (x *EspNowFindMeRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[31] 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 EspNowFindMeRequest.ProtoReflect.Descriptor instead. func (*EspNowFindMeRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{31} } func (x *EspNowFindMeRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } type EspNowFindMeResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` ClientId uint32 `protobuf:"varint,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EspNowFindMeResponse) Reset() { *x = EspNowFindMeResponse{} mi := &file_uart_messages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EspNowFindMeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EspNowFindMeResponse) ProtoMessage() {} func (x *EspNowFindMeResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[32] 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 EspNowFindMeResponse.ProtoReflect.Descriptor instead. func (*EspNowFindMeResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{32} } func (x *EspNowFindMeResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *EspNowFindMeResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } // * Host → master: restart local node (client_id=0) or ESP-NOW unicast to one slave. type RestartRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RestartRequest) Reset() { *x = RestartRequest{} mi := &file_uart_messages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RestartRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestartRequest) ProtoMessage() {} func (x *RestartRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[33] 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 RestartRequest.ProtoReflect.Descriptor instead. func (*RestartRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{33} } func (x *RestartRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } type RestartResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` ClientId uint32 `protobuf:"varint,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RestartResponse) Reset() { *x = RestartResponse{} mi := &file_uart_messages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RestartResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestartResponse) ProtoMessage() {} func (x *RestartResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[34] 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 RestartResponse.ProtoReflect.Descriptor instead. func (*RestartResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{34} } func (x *RestartResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *RestartResponse) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } // * Host → master: read/write global log level (esp_log_level_set("*", …)). type SetLogLevelRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Write bool `protobuf:"varint,1,opt,name=write,proto3" json:"write,omitempty"` // * esp_log_level_t: 0=NONE, 1=ERROR, 2=WARN, 3=INFO, 4=DEBUG, 5=VERBOSE Level uint32 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SetLogLevelRequest) Reset() { *x = SetLogLevelRequest{} mi := &file_uart_messages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SetLogLevelRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetLogLevelRequest) ProtoMessage() {} func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[35] 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 SetLogLevelRequest.ProtoReflect.Descriptor instead. func (*SetLogLevelRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{35} } func (x *SetLogLevelRequest) GetWrite() bool { if x != nil { return x.Write } return false } func (x *SetLogLevelRequest) GetLevel() uint32 { if x != nil { return x.Level } return 0 } type SetLogLevelResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Level uint32 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SetLogLevelResponse) Reset() { *x = SetLogLevelResponse{} mi := &file_uart_messages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SetLogLevelResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetLogLevelResponse) ProtoMessage() {} func (x *SetLogLevelResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[36] 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 SetLogLevelResponse.ProtoReflect.Descriptor instead. func (*SetLogLevelResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{36} } func (x *SetLogLevelResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *SetLogLevelResponse) GetLevel() uint32 { if x != nil { return x.Level } return 0 } // Host → device: begin UART OTA (erase inactive OTA slot; device replies OTA_STATUS). type OtaStartPayload struct { state protoimpl.MessageState `protogen:"open.v1"` TotalSize uint32 `protobuf:"varint,1,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaStartPayload) Reset() { *x = OtaStartPayload{} mi := &file_uart_messages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaStartPayload) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaStartPayload) ProtoMessage() {} func (x *OtaStartPayload) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[37] 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 OtaStartPayload.ProtoReflect.Descriptor instead. func (*OtaStartPayload) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{37} } func (x *OtaStartPayload) GetTotalSize() uint32 { if x != nil { return x.TotalSize } return 0 } // Host → device: firmware chunk (up to 200 bytes); device buffers 4 KiB before flash write. type OtaPayload struct { state protoimpl.MessageState `protogen:"open.v1"` Seq uint32 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaPayload) Reset() { *x = OtaPayload{} mi := &file_uart_messages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaPayload) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaPayload) ProtoMessage() {} func (x *OtaPayload) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[38] 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 OtaPayload.ProtoReflect.Descriptor instead. func (*OtaPayload) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{38} } func (x *OtaPayload) GetSeq() uint32 { if x != nil { return x.Seq } return 0 } func (x *OtaPayload) GetData() []byte { if x != nil { return x.Data } return nil } // Host → device: no more payload; device flushes buffer and finalizes OTA. type OtaEndPayload struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaEndPayload) Reset() { *x = OtaEndPayload{} mi := &file_uart_messages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaEndPayload) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaEndPayload) ProtoMessage() {} func (x *OtaEndPayload) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[39] 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 OtaEndPayload.ProtoReflect.Descriptor instead. func (*OtaEndPayload) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{39} } // 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 type OtaStatusPayload struct { state protoimpl.MessageState `protogen:"open.v1"` Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` BytesWritten uint32 `protobuf:"varint,2,opt,name=bytes_written,json=bytesWritten,proto3" json:"bytes_written,omitempty"` TargetSlot uint32 `protobuf:"varint,3,opt,name=target_slot,json=targetSlot,proto3" json:"target_slot,omitempty"` Error uint32 `protobuf:"varint,4,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaStatusPayload) Reset() { *x = OtaStatusPayload{} mi := &file_uart_messages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaStatusPayload) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaStatusPayload) ProtoMessage() {} func (x *OtaStatusPayload) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[40] 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 OtaStatusPayload.ProtoReflect.Descriptor instead. func (*OtaStatusPayload) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{40} } func (x *OtaStatusPayload) GetStatus() uint32 { if x != nil { return x.Status } return 0 } func (x *OtaStatusPayload) GetBytesWritten() uint32 { if x != nil { return x.BytesWritten } return 0 } func (x *OtaStatusPayload) GetTargetSlot() uint32 { if x != nil { return x.TargetSlot } return 0 } func (x *OtaStatusPayload) GetError() uint32 { if x != nil { return x.Error } return 0 } // Host → master: query ESP-NOW slave OTA progress (client_id 0 = all slaves in session). type OtaSlaveProgressRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaSlaveProgressRequest) Reset() { *x = OtaSlaveProgressRequest{} mi := &file_uart_messages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaSlaveProgressRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaSlaveProgressRequest) ProtoMessage() {} func (x *OtaSlaveProgressRequest) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[41] 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 OtaSlaveProgressRequest.ProtoReflect.Descriptor instead. func (*OtaSlaveProgressRequest) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{41} } func (x *OtaSlaveProgressRequest) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } type OtaSlaveProgressEntry struct { state protoimpl.MessageState `protogen:"open.v1"` ClientId uint32 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` BytesWritten uint32 `protobuf:"varint,2,opt,name=bytes_written,json=bytesWritten,proto3" json:"bytes_written,omitempty"` TotalBytes uint32 `protobuf:"varint,3,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` // * 0=idle, 1=preparing, 2=ready, 3=distributing, 4=success, 5=failed Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` Error uint32 `protobuf:"varint,5,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaSlaveProgressEntry) Reset() { *x = OtaSlaveProgressEntry{} mi := &file_uart_messages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaSlaveProgressEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaSlaveProgressEntry) ProtoMessage() {} func (x *OtaSlaveProgressEntry) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[42] 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 OtaSlaveProgressEntry.ProtoReflect.Descriptor instead. func (*OtaSlaveProgressEntry) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{42} } func (x *OtaSlaveProgressEntry) GetClientId() uint32 { if x != nil { return x.ClientId } return 0 } func (x *OtaSlaveProgressEntry) GetBytesWritten() uint32 { if x != nil { return x.BytesWritten } return 0 } func (x *OtaSlaveProgressEntry) GetTotalBytes() uint32 { if x != nil { return x.TotalBytes } return 0 } func (x *OtaSlaveProgressEntry) GetStatus() uint32 { if x != nil { return x.Status } return 0 } func (x *OtaSlaveProgressEntry) GetError() uint32 { if x != nil { return x.Error } return 0 } type OtaSlaveProgressResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` TotalBytes uint32 `protobuf:"varint,2,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` AggregateBytes uint32 `protobuf:"varint,3,opt,name=aggregate_bytes,json=aggregateBytes,proto3" json:"aggregate_bytes,omitempty"` SlaveCount uint32 `protobuf:"varint,4,opt,name=slave_count,json=slaveCount,proto3" json:"slave_count,omitempty"` Slaves []*OtaSlaveProgressEntry `protobuf:"bytes,5,rep,name=slaves,proto3" json:"slaves,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OtaSlaveProgressResponse) Reset() { *x = OtaSlaveProgressResponse{} mi := &file_uart_messages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OtaSlaveProgressResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OtaSlaveProgressResponse) ProtoMessage() {} func (x *OtaSlaveProgressResponse) ProtoReflect() protoreflect.Message { mi := &file_uart_messages_proto_msgTypes[43] 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 OtaSlaveProgressResponse.ProtoReflect.Descriptor instead. func (*OtaSlaveProgressResponse) Descriptor() ([]byte, []int) { return file_uart_messages_proto_rawDescGZIP(), []int{43} } func (x *OtaSlaveProgressResponse) GetActive() bool { if x != nil { return x.Active } return false } func (x *OtaSlaveProgressResponse) GetTotalBytes() uint32 { if x != nil { return x.TotalBytes } return 0 } func (x *OtaSlaveProgressResponse) GetAggregateBytes() uint32 { if x != nil { return x.AggregateBytes } return 0 } func (x *OtaSlaveProgressResponse) GetSlaveCount() uint32 { if x != nil { return x.SlaveCount } return 0 } func (x *OtaSlaveProgressResponse) GetSlaves() []*OtaSlaveProgressEntry { if x != nil { return x.Slaves } return nil } var File_uart_messages_proto protoreflect.FileDescriptor const file_uart_messages_proto_rawDesc = "" + "\n" + "\x13uart_messages.proto\x12\x04alox\x1a\fnanopb.proto\"\xc0\x14\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" + "ackPayload\x126\n" + "\fecho_payload\x18\x03 \x01(\v2\x11.alox.EchoPayloadH\x00R\vechoPayload\x12B\n" + "\x10version_response\x18\x04 \x01(\v2\x15.alox.VersionResponseH\x00R\x0fversionResponse\x12L\n" + "\x14client_info_response\x18\x05 \x01(\v2\x18.alox.ClientInfoResponseH\x00R\x12clientInfoResponse\x12O\n" + "\x15client_input_response\x18\x06 \x01(\v2\x19.alox.ClientInputResponseH\x00R\x13clientInputResponse\x124\n" + "\tota_start\x18\a \x01(\v2\x15.alox.OtaStartPayloadH\x00R\botaStart\x123\n" + "\vota_payload\x18\b \x01(\v2\x10.alox.OtaPayloadH\x00R\n" + "otaPayload\x12.\n" + "\aota_end\x18\t \x01(\v2\x13.alox.OtaEndPayloadH\x00R\x06otaEnd\x127\n" + "\n" + "ota_status\x18\n" + " \x01(\v2\x16.alox.OtaStatusPayloadH\x00R\totaStatus\x12R\n" + "\x16accel_deadzone_request\x18\v \x01(\v2\x1a.alox.AccelDeadzoneRequestH\x00R\x14accelDeadzoneRequest\x12U\n" + "\x17accel_deadzone_response\x18\f \x01(\v2\x1b.alox.AccelDeadzoneResponseH\x00R\x15accelDeadzoneResponse\x12_\n" + "\x1bespnow_unicast_test_request\x18\r \x01(\v2\x1e.alox.EspNowUnicastTestRequestH\x00R\x18espnowUnicastTestRequest\x12b\n" + "\x1cespnow_unicast_test_response\x18\x0e \x01(\v2\x1f.alox.EspNowUnicastTestResponseH\x00R\x19espnowUnicastTestResponse\x12\\\n" + "\x1aota_slave_progress_request\x18\x0f \x01(\v2\x1d.alox.OtaSlaveProgressRequestH\x00R\x17otaSlaveProgressRequest\x12_\n" + "\x1bota_slave_progress_response\x18\x10 \x01(\v2\x1e.alox.OtaSlaveProgressResponseH\x00R\x18otaSlaveProgressResponse\x12Y\n" + "\x19led_ring_progress_request\x18\x11 \x01(\v2\x1c.alox.LedRingProgressRequestH\x00R\x16ledRingProgressRequest\x12\\\n" + "\x1aled_ring_progress_response\x18\x12 \x01(\v2\x1d.alox.LedRingProgressResponseH\x00R\x17ledRingProgressResponse\x12P\n" + "\x16espnow_find_me_request\x18\x13 \x01(\v2\x19.alox.EspNowFindMeRequestH\x00R\x13espnowFindMeRequest\x12S\n" + "\x17espnow_find_me_response\x18\x14 \x01(\v2\x1a.alox.EspNowFindMeResponseH\x00R\x14espnowFindMeResponse\x12?\n" + "\x0frestart_request\x18\x15 \x01(\v2\x14.alox.RestartRequestH\x00R\x0erestartRequest\x12B\n" + "\x10restart_response\x18\x16 \x01(\v2\x15.alox.RestartResponseH\x00R\x0frestartResponse\x12L\n" + "\x14accel_stream_request\x18\x19 \x01(\v2\x18.alox.AccelStreamRequestH\x00R\x12accelStreamRequest\x12O\n" + "\x15accel_stream_response\x18\x1a \x01(\v2\x19.alox.AccelStreamResponseH\x00R\x13accelStreamResponse\x12R\n" + "\x16battery_status_request\x18\x1b \x01(\v2\x1a.alox.BatteryStatusRequestH\x00R\x14batteryStatusRequest\x12U\n" + "\x17battery_status_response\x18\x1c \x01(\v2\x1b.alox.BatteryStatusResponseH\x00R\x15batteryStatusResponse\x12F\n" + "\x12tap_notify_request\x18\x1d \x01(\v2\x16.alox.TapNotifyRequestH\x00R\x10tapNotifyRequest\x12I\n" + "\x13tap_notify_response\x18\x1e \x01(\v2\x17.alox.TapNotifyResponseH\x00R\x11tapNotifyResponse\x12L\n" + "\x14cache_status_request\x18! \x01(\v2\x18.alox.CacheStatusRequestH\x00R\x12cacheStatusRequest\x12O\n" + "\x15cache_status_response\x18\" \x01(\v2\x19.alox.CacheStatusResponseH\x00R\x13cacheStatusResponse\x12V\n" + "\x18espnow_echo_ping_request\x18# \x01(\v2\x1b.alox.EspNowEchoPingRequestH\x00R\x15espnowEchoPingRequest\x12Y\n" + "\x19espnow_echo_ping_response\x18$ \x01(\v2\x1c.alox.EspNowEchoPingResponseH\x00R\x16espnowEchoPingResponse\x12M\n" + "\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\x13setLogLevelResponseB\t\n" + "\apayload\"\x05\n" + "\x03Ack\"!\n" + "\vEchoPayload\x12\x12\n" + "\x04data\x18\x01 \x01(\fR\x04data\"s\n" + "\x0fVersionResponse\x12\x18\n" + "\aversion\x18\x01 \x01(\rR\aversion\x12\x19\n" + "\bgit_hash\x18\x02 \x01(\tR\agitHash\x12+\n" + "\x11running_partition\x18\x03 \x01(\tR\x10runningPartition\"\xf9\x02\n" + "\n" + "ClientInfo\x12\x0e\n" + "\x02id\x18\x01 \x01(\rR\x02id\x12\x1c\n" + "\tavailable\x18\x02 \x01(\bR\tavailable\x12\x12\n" + "\x04used\x18\x03 \x01(\bR\x04used\x12\x10\n" + "\x03mac\x18\x04 \x01(\fR\x03mac\x12\x1b\n" + "\tlast_ping\x18\x05 \x01(\rR\blastPing\x12*\n" + "\x11last_success_ping\x18\x06 \x01(\rR\x0flastSuccessPing\x12\x18\n" + "\aversion\x18\a \x01(\rR\aversion\x120\n" + "\x14accel_stream_enabled\x18\b \x01(\bR\x12accelStreamEnabled\x12*\n" + "\x11tap_notify_single\x18\t \x01(\bR\x0ftapNotifySingle\x12*\n" + "\x11tap_notify_double\x18\n" + " \x01(\bR\x0ftapNotifyDouble\x12*\n" + "\x11tap_notify_triple\x18\v \x01(\bR\x0ftapNotifyTriple\"@\n" + "\x12ClientInfoResponse\x12*\n" + "\aclients\x18\x01 \x03(\v2\x10.alox.ClientInfoR\aclients\"e\n" + "\vClientInput\x12\x0e\n" + "\x02id\x18\x01 \x01(\rR\x02id\x12\x15\n" + "\x06lage_x\x18\x02 \x01(\x02R\x05lageX\x12\x15\n" + "\x06lage_y\x18\x03 \x01(\x02R\x05lageY\x12\x18\n" + "\abitmask\x18\x04 \x01(\rR\abitmask\"B\n" + "\x13ClientInputResponse\x12+\n" + "\aclients\x18\x01 \x03(\v2\x11.alox.ClientInputR\aclients\"\x86\x01\n" + "\x14AccelDeadzoneRequest\x12\x14\n" + "\x05write\x18\x01 \x01(\bR\x05write\x12\x1a\n" + "\bdeadzone\x18\x02 \x01(\rR\bdeadzone\x12\x1b\n" + "\tclient_id\x18\x03 \x01(\rR\bclientId\x12\x1f\n" + "\vall_clients\x18\x04 \x01(\bR\n" + "allClients\"\x91\x01\n" + "\x15AccelDeadzoneResponse\x12\x1a\n" + "\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" + "\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" + "\x13AccelStreamResponse\x12\x18\n" + "\aenabled\x18\x01 \x01(\bR\aenabled\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\"T\n" + "\x14BatteryStatusRequest\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12\x1f\n" + "\vall_clients\x18\x02 \x01(\bR\n" + "allClients\"B\n" + "\vLipoReading\x12\x14\n" + "\x05valid\x18\x01 \x01(\bR\x05valid\x12\x1d\n" + "\n" + "voltage_mv\x18\x02 \x01(\rR\tvoltageMv\"\x95\x01\n" + "\rBatterySample\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12'\n" + "\x05lipo1\x18\x02 \x01(\v2\x11.alox.LipoReadingR\x05lipo1\x12'\n" + "\x05lipo2\x18\x03 \x01(\v2\x11.alox.LipoReadingR\x05lipo2\x12\x15\n" + "\x06age_ms\x18\x04 \x01(\rR\x05ageMs\"g\n" + "\x15BatteryStatusResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x124\n" + "\asamples\x18\x02 \x03(\v2\x13.alox.BatterySampleB\x05\x92?\x02\x10\x11R\asamples\"\x81\x01\n" + "\vAccelSample\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12\x14\n" + "\x05valid\x18\x02 \x01(\bR\x05valid\x12\f\n" + "\x01x\x18\x03 \x01(\x11R\x01x\x12\f\n" + "\x01y\x18\x04 \x01(\x11R\x01y\x12\f\n" + "\x01z\x18\x05 \x01(\x11R\x01z\x12\x15\n" + "\x06age_ms\x18\x06 \x01(\rR\x05ageMs\"\xb5\x01\n" + "\x10TapNotifyRequest\x12\x14\n" + "\x05write\x18\x01 \x01(\bR\x05write\x12\x1b\n" + "\tclient_id\x18\x02 \x01(\rR\bclientId\x12\x1f\n" + "\vall_clients\x18\x03 \x01(\bR\n" + "allClients\x12\x16\n" + "\x06single\x18\x04 \x01(\bR\x06single\x12\x1d\n" + "\n" + "double_tap\x18\x05 \x01(\bR\tdoubleTap\x12\x16\n" + "\x06triple\x18\x06 \x01(\bR\x06triple\"\xc0\x01\n" + "\x11TapNotifyResponse\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12\x18\n" + "\asuccess\x18\x02 \x01(\bR\asuccess\x12%\n" + "\x0eslaves_updated\x18\x03 \x01(\rR\rslavesUpdated\x12\x16\n" + "\x06single\x18\x04 \x01(\bR\x06single\x12\x1d\n" + "\n" + "double_tap\x18\x05 \x01(\bR\tdoubleTap\x12\x16\n" + "\x06triple\x18\x06 \x01(\bR\x06triple\"w\n" + "\bTapEvent\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12\x14\n" + "\x05valid\x18\x02 \x01(\bR\x05valid\x12!\n" + "\x04kind\x18\x03 \x01(\x0e2\r.alox.TapKindR\x04kind\x12\x15\n" + "\x06age_ms\x18\x04 \x01(\rR\x05ageMs\"\x14\n" + "\x12CacheStatusRequest\"i\n" + "\x10CacheClientAccel\x12\x14\n" + "\x05valid\x18\x01 \x01(\bR\x05valid\x12\f\n" + "\x01x\x18\x02 \x01(\x11R\x01x\x12\f\n" + "\x01y\x18\x03 \x01(\x11R\x01y\x12\f\n" + "\x01z\x18\x04 \x01(\x11R\x01z\x12\x15\n" + "\x06age_ms\x18\x05 \x01(\rR\x05ageMs\"J\n" + "\x0eCacheClientTap\x12!\n" + "\x04kind\x18\x01 \x01(\x0e2\r.alox.TapKindR\x04kind\x12\x15\n" + "\x06age_ms\x18\x02 \x01(\rR\x05ageMs\"\x86\x01\n" + "\x11CacheClientStatus\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12,\n" + "\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" + "\x18EspNowUnicastTestRequest\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12\x10\n" + "\x03seq\x18\x02 \x01(\rR\x03seq\"G\n" + "\x19EspNowUnicastTestResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x10\n" + "\x03seq\x18\x02 \x01(\rR\x03seq\"W\n" + "\x15EspNowEchoPingRequest\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12!\n" + "\ftimestamp_us\x18\x02 \x01(\x04R\vtimestampUs\"\x90\x01\n" + "\x16EspNowEchoPingResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x1b\n" + "\tclient_id\x18\x02 \x01(\rR\bclientId\x12!\n" + "\ftimestamp_us\x18\x03 \x01(\x04R\vtimestampUs\x12\x1c\n" + "\n" + "esp_rtt_us\x18\x04 \x01(\rR\bespRttUs\"\xc1\x02\n" + "\x16LedRingProgressRequest\x12\x12\n" + "\x04mode\x18\x01 \x01(\rR\x04mode\x12\x1a\n" + "\bprogress\x18\x02 \x01(\rR\bprogress\x12\x14\n" + "\x05digit\x18\x03 \x01(\rR\x05digit\x12\f\n" + "\x01r\x18\x04 \x01(\rR\x01r\x12\f\n" + "\x01g\x18\x05 \x01(\rR\x01g\x12\f\n" + "\x01b\x18\x06 \x01(\rR\x01b\x12\x1c\n" + "\tintensity\x18\a \x01(\rR\tintensity\x12\x19\n" + "\bblink_ms\x18\b \x01(\rR\ablinkMs\x12\x1f\n" + "\vblink_count\x18\t \x01(\rR\n" + "blinkCount\x12\x1b\n" + "\tclient_id\x18\n" + " \x01(\rR\bclientId\x12\x1f\n" + "\vall_clients\x18\v \x01(\bR\n" + "allClients\x12\x1f\n" + "\vslaves_only\x18\f \x01(\bR\n" + "slavesOnly\"\xbd\x01\n" + "\x17LedRingProgressResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x12\n" + "\x04mode\x18\x02 \x01(\rR\x04mode\x12\x1a\n" + "\bprogress\x18\x03 \x01(\rR\bprogress\x12\x14\n" + "\x05digit\x18\x04 \x01(\rR\x05digit\x12\x1b\n" + "\tclient_id\x18\x05 \x01(\rR\bclientId\x12%\n" + "\x0eslaves_updated\x18\x06 \x01(\rR\rslavesUpdated\"2\n" + "\x13EspNowFindMeRequest\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\"M\n" + "\x14EspNowFindMeResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x1b\n" + "\tclient_id\x18\x02 \x01(\rR\bclientId\"-\n" + "\x0eRestartRequest\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\"H\n" + "\x0fRestartResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x1b\n" + "\tclient_id\x18\x02 \x01(\rR\bclientId\"@\n" + "\x12SetLogLevelRequest\x12\x14\n" + "\x05write\x18\x01 \x01(\bR\x05write\x12\x14\n" + "\x05level\x18\x02 \x01(\rR\x05level\"E\n" + "\x13SetLogLevelResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x14\n" + "\x05level\x18\x02 \x01(\rR\x05level\"0\n" + "\x0fOtaStartPayload\x12\x1d\n" + "\n" + "total_size\x18\x01 \x01(\rR\ttotalSize\":\n" + "\n" + "OtaPayload\x12\x10\n" + "\x03seq\x18\x01 \x01(\rR\x03seq\x12\x1a\n" + "\x04data\x18\x02 \x01(\fB\x06\x92?\x03\b\xc8\x01R\x04data\"\x0f\n" + "\rOtaEndPayload\"\x86\x01\n" + "\x10OtaStatusPayload\x12\x16\n" + "\x06status\x18\x01 \x01(\rR\x06status\x12#\n" + "\rbytes_written\x18\x02 \x01(\rR\fbytesWritten\x12\x1f\n" + "\vtarget_slot\x18\x03 \x01(\rR\n" + "targetSlot\x12\x14\n" + "\x05error\x18\x04 \x01(\rR\x05error\"6\n" + "\x17OtaSlaveProgressRequest\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\"\xa8\x01\n" + "\x15OtaSlaveProgressEntry\x12\x1b\n" + "\tclient_id\x18\x01 \x01(\rR\bclientId\x12#\n" + "\rbytes_written\x18\x02 \x01(\rR\fbytesWritten\x12\x1f\n" + "\vtotal_bytes\x18\x03 \x01(\rR\n" + "totalBytes\x12\x16\n" + "\x06status\x18\x04 \x01(\rR\x06status\x12\x14\n" + "\x05error\x18\x05 \x01(\rR\x05error\"\xd9\x01\n" + "\x18OtaSlaveProgressResponse\x12\x16\n" + "\x06active\x18\x01 \x01(\bR\x06active\x12\x1f\n" + "\vtotal_bytes\x18\x02 \x01(\rR\n" + "totalBytes\x12'\n" + "\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*\x9a\x03\n" + "\vMessageType\x12\v\n" + "\aUNKNOWN\x10\x00\x12\a\n" + "\x03ACK\x10\x01\x12\b\n" + "\x04ECHO\x10\x02\x12\v\n" + "\aVERSION\x10\x03\x12\x0f\n" + "\vCLIENT_INFO\x10\x04\x12\x10\n" + "\fCLIENT_INPUT\x10\x05\x12\x12\n" + "\x0eACCEL_DEADZONE\x10\x06\x12\x17\n" + "\x13ESPNOW_UNICAST_TEST\x10\a\x12\f\n" + "\bLED_RING\x10\b\x12\r\n" + "\tOTA_START\x10\x10\x12\x0f\n" + "\vOTA_PAYLOAD\x10\x11\x12\v\n" + "\aOTA_END\x10\x12\x12\x0e\n" + "\n" + "OTA_STATUS\x10\x13\x12\x14\n" + "\x10OTA_START_ESPNOW\x10\x14\x12\x16\n" + "\x12OTA_SLAVE_PROGRESS\x10\x15\x12\v\n" + "\aFIND_ME\x10\x16\x12\v\n" + "\aRESTART\x10\x17\x12\x10\n" + "\fACCEL_STREAM\x10\x19\x12\x12\n" + "\x0eBATTERY_STATUS\x10\x1a\x12\x0e\n" + "\n" + "TAP_NOTIFY\x10\x1b\x12\x10\n" + "\fCACHE_STATUS\x10\x1d\x12\x14\n" + "\x10ESPNOW_ECHO_PING\x10\x1e\x12\x11\n" + "\rSET_LOG_LEVEL\x10\x1f\"\x04\b\x18\x10\x18\"\x04\b\x1c\x10\x1c*G\n" + "\aTapKind\x12\f\n" + "\bTAP_NONE\x10\x00\x12\x0e\n" + "\n" + "TAP_SINGLE\x10\x01\x12\x0e\n" + "\n" + "TAP_DOUBLE\x10\x02\x12\x0e\n" + "\n" + "TAP_TRIPLE\x10\x03b\x06proto3" var ( file_uart_messages_proto_rawDescOnce sync.Once file_uart_messages_proto_rawDescData []byte ) func file_uart_messages_proto_rawDescGZIP() []byte { file_uart_messages_proto_rawDescOnce.Do(func() { file_uart_messages_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_uart_messages_proto_rawDesc), len(file_uart_messages_proto_rawDesc))) }) return file_uart_messages_proto_rawDescData } var file_uart_messages_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_uart_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 44) var file_uart_messages_proto_goTypes = []any{ (MessageType)(0), // 0: alox.MessageType (TapKind)(0), // 1: alox.TapKind (*UartMessage)(nil), // 2: alox.UartMessage (*Ack)(nil), // 3: alox.Ack (*EchoPayload)(nil), // 4: alox.EchoPayload (*VersionResponse)(nil), // 5: alox.VersionResponse (*ClientInfo)(nil), // 6: alox.ClientInfo (*ClientInfoResponse)(nil), // 7: alox.ClientInfoResponse (*ClientInput)(nil), // 8: alox.ClientInput (*ClientInputResponse)(nil), // 9: alox.ClientInputResponse (*AccelDeadzoneRequest)(nil), // 10: alox.AccelDeadzoneRequest (*AccelDeadzoneResponse)(nil), // 11: alox.AccelDeadzoneResponse (*AccelStreamRequest)(nil), // 12: alox.AccelStreamRequest (*AccelStreamResponse)(nil), // 13: alox.AccelStreamResponse (*BatteryStatusRequest)(nil), // 14: alox.BatteryStatusRequest (*LipoReading)(nil), // 15: alox.LipoReading (*BatterySample)(nil), // 16: alox.BatterySample (*BatteryStatusResponse)(nil), // 17: alox.BatteryStatusResponse (*AccelSample)(nil), // 18: alox.AccelSample (*TapNotifyRequest)(nil), // 19: alox.TapNotifyRequest (*TapNotifyResponse)(nil), // 20: alox.TapNotifyResponse (*TapEvent)(nil), // 21: alox.TapEvent (*CacheStatusRequest)(nil), // 22: alox.CacheStatusRequest (*CacheClientAccel)(nil), // 23: alox.CacheClientAccel (*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 (*OtaStartPayload)(nil), // 39: alox.OtaStartPayload (*OtaPayload)(nil), // 40: alox.OtaPayload (*OtaEndPayload)(nil), // 41: alox.OtaEndPayload (*OtaStatusPayload)(nil), // 42: alox.OtaStatusPayload (*OtaSlaveProgressRequest)(nil), // 43: alox.OtaSlaveProgressRequest (*OtaSlaveProgressEntry)(nil), // 44: alox.OtaSlaveProgressEntry (*OtaSlaveProgressResponse)(nil), // 45: alox.OtaSlaveProgressResponse } var file_uart_messages_proto_depIdxs = []int32{ 0, // 0: alox.UartMessage.type:type_name -> alox.MessageType 3, // 1: alox.UartMessage.ack_payload:type_name -> alox.Ack 4, // 2: alox.UartMessage.echo_payload:type_name -> alox.EchoPayload 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 39, // 6: alox.UartMessage.ota_start:type_name -> alox.OtaStartPayload 40, // 7: alox.UartMessage.ota_payload:type_name -> alox.OtaPayload 41, // 8: alox.UartMessage.ota_end:type_name -> alox.OtaEndPayload 42, // 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 43, // 14: alox.UartMessage.ota_slave_progress_request:type_name -> alox.OtaSlaveProgressRequest 45, // 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 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 17, // 25: alox.UartMessage.battery_status_response:type_name -> alox.BatteryStatusResponse 19, // 26: alox.UartMessage.tap_notify_request:type_name -> alox.TapNotifyRequest 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 6, // 34: alox.ClientInfoResponse.clients:type_name -> alox.ClientInfo 8, // 35: alox.ClientInputResponse.clients:type_name -> alox.ClientInput 15, // 36: alox.BatterySample.lipo1:type_name -> alox.LipoReading 15, // 37: alox.BatterySample.lipo2:type_name -> alox.LipoReading 16, // 38: alox.BatteryStatusResponse.samples:type_name -> alox.BatterySample 1, // 39: alox.TapEvent.kind:type_name -> alox.TapKind 1, // 40: alox.CacheClientTap.kind:type_name -> alox.TapKind 23, // 41: alox.CacheClientStatus.accel:type_name -> alox.CacheClientAccel 24, // 42: alox.CacheClientStatus.tap:type_name -> alox.CacheClientTap 25, // 43: alox.CacheStatusResponse.clients:type_name -> alox.CacheClientStatus 44, // 44: alox.OtaSlaveProgressResponse.slaves:type_name -> alox.OtaSlaveProgressEntry 45, // [45:45] is the sub-list for method output_type 45, // [45:45] is the sub-list for method input_type 45, // [45:45] is the sub-list for extension type_name 45, // [45:45] is the sub-list for extension extendee 0, // [0:45] is the sub-list for field type_name } func init() { file_uart_messages_proto_init() } func file_uart_messages_proto_init() { if File_uart_messages_proto != nil { return } file_uart_messages_proto_msgTypes[0].OneofWrappers = []any{ (*UartMessage_AckPayload)(nil), (*UartMessage_EchoPayload)(nil), (*UartMessage_VersionResponse)(nil), (*UartMessage_ClientInfoResponse)(nil), (*UartMessage_ClientInputResponse)(nil), (*UartMessage_OtaStart)(nil), (*UartMessage_OtaPayload)(nil), (*UartMessage_OtaEnd)(nil), (*UartMessage_OtaStatus)(nil), (*UartMessage_AccelDeadzoneRequest)(nil), (*UartMessage_AccelDeadzoneResponse)(nil), (*UartMessage_EspnowUnicastTestRequest)(nil), (*UartMessage_EspnowUnicastTestResponse)(nil), (*UartMessage_OtaSlaveProgressRequest)(nil), (*UartMessage_OtaSlaveProgressResponse)(nil), (*UartMessage_LedRingProgressRequest)(nil), (*UartMessage_LedRingProgressResponse)(nil), (*UartMessage_EspnowFindMeRequest)(nil), (*UartMessage_EspnowFindMeResponse)(nil), (*UartMessage_RestartRequest)(nil), (*UartMessage_RestartResponse)(nil), (*UartMessage_AccelStreamRequest)(nil), (*UartMessage_AccelStreamResponse)(nil), (*UartMessage_BatteryStatusRequest)(nil), (*UartMessage_BatteryStatusResponse)(nil), (*UartMessage_TapNotifyRequest)(nil), (*UartMessage_TapNotifyResponse)(nil), (*UartMessage_CacheStatusRequest)(nil), (*UartMessage_CacheStatusResponse)(nil), (*UartMessage_EspnowEchoPingRequest)(nil), (*UartMessage_EspnowEchoPingResponse)(nil), (*UartMessage_SetLogLevelRequest)(nil), (*UartMessage_SetLogLevelResponse)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_uart_messages_proto_rawDesc), len(file_uart_messages_proto_rawDesc)), NumEnums: 2, NumMessages: 44, NumExtensions: 0, NumServices: 0, }, GoTypes: file_uart_messages_proto_goTypes, DependencyIndexes: file_uart_messages_proto_depIdxs, EnumInfos: file_uart_messages_proto_enumTypes, MessageInfos: file_uart_messages_proto_msgTypes, }.Build() File_uart_messages_proto = out.File file_uart_messages_proto_goTypes = nil file_uart_messages_proto_depIdxs = nil }