// A minimal slice of the Starlink dish's local gRPC API: just the one // unary RPC (SpaceX.API.Device.Device/Handle) and the get_status request // and dish status response, reduced to the handful of fields rtnetmon // shows. The proto package name and field numbers must match the dish // exactly for the wire format to line up; every other field the dish sends // is ignored as an unknown field. // // Field numbers, message names and the DishState enum are transcribed from // the community-maintained pre-generated bindings at // github.com/starlink-community/starlink-grpc-go, commit // 2e89f3d7e3092adecbcc04e9e003e61ed5f7c6a3 (get_status = 1004, // dish_get_status = 2004). They are not verified against a live dish here. // // Regenerate with: // protoc --go_out=. --go_opt=paths=source_relative \ // --go-grpc_out=. --go-grpc_opt=paths=source_relative \ // internal/starlink/pb/starlink.proto // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.6 // protoc v7.36.2 // source: internal/starlink/pb/starlink.proto package starlinkpb import ( reflect "reflect" sync "sync" unsafe "unsafe" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) 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 DishState int32 const ( DishState_UNKNOWN DishState = 0 DishState_CONNECTED DishState = 1 DishState_SEARCHING DishState = 2 DishState_BOOTING DishState = 3 ) // Enum value maps for DishState. var ( DishState_name = map[int32]string{ 0: "UNKNOWN", 1: "CONNECTED", 2: "SEARCHING", 3: "BOOTING", } DishState_value = map[string]int32{ "UNKNOWN": 0, "CONNECTED": 1, "SEARCHING": 2, "BOOTING": 3, } ) func (x DishState) Enum() *DishState { p := new(DishState) *p = x return p } func (x DishState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DishState) Descriptor() protoreflect.EnumDescriptor { return file_internal_starlink_pb_starlink_proto_enumTypes[0].Descriptor() } func (DishState) Type() protoreflect.EnumType { return &file_internal_starlink_pb_starlink_proto_enumTypes[0] } func (x DishState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DishState.Descriptor instead. func (DishState) EnumDescriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{0} } type Request struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Request: // // *Request_GetStatus Request isRequest_Request `protobuf_oneof:"request"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Request) Reset() { *x = Request{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request) ProtoMessage() {} func (x *Request) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 Request.ProtoReflect.Descriptor instead. func (*Request) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{0} } func (x *Request) GetRequest() isRequest_Request { if x != nil { return x.Request } return nil } func (x *Request) GetGetStatus() *GetStatusRequest { if x != nil { if x, ok := x.Request.(*Request_GetStatus); ok { return x.GetStatus } } return nil } type isRequest_Request interface { isRequest_Request() } type Request_GetStatus struct { GetStatus *GetStatusRequest `protobuf:"bytes,1004,opt,name=get_status,json=getStatus,proto3,oneof"` } func (*Request_GetStatus) isRequest_Request() {} type GetStatusRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetStatusRequest) Reset() { *x = GetStatusRequest{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetStatusRequest) ProtoMessage() {} func (x *GetStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 GetStatusRequest.ProtoReflect.Descriptor instead. func (*GetStatusRequest) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{1} } type Response struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Response: // // *Response_DishGetStatus Response isResponse_Response `protobuf_oneof:"response"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Response) Reset() { *x = Response{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Response) String() string { return protoimpl.X.MessageStringOf(x) } func (*Response) ProtoMessage() {} func (x *Response) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 Response.ProtoReflect.Descriptor instead. func (*Response) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{2} } func (x *Response) GetResponse() isResponse_Response { if x != nil { return x.Response } return nil } func (x *Response) GetDishGetStatus() *DishGetStatusResponse { if x != nil { if x, ok := x.Response.(*Response_DishGetStatus); ok { return x.DishGetStatus } } return nil } type isResponse_Response interface { isResponse_Response() } type Response_DishGetStatus struct { DishGetStatus *DishGetStatusResponse `protobuf:"bytes,2004,opt,name=dish_get_status,json=dishGetStatus,proto3,oneof"` } func (*Response_DishGetStatus) isResponse_Response() {} type DishGetStatusResponse struct { state protoimpl.MessageState `protogen:"open.v1"` DeviceState *DeviceState `protobuf:"bytes,2,opt,name=device_state,json=deviceState,proto3" json:"device_state,omitempty"` ObstructionStats *DishObstructionStats `protobuf:"bytes,1004,opt,name=obstruction_stats,json=obstructionStats,proto3" json:"obstruction_stats,omitempty"` Alerts *DishAlerts `protobuf:"bytes,1005,opt,name=alerts,proto3" json:"alerts,omitempty"` State DishState `protobuf:"varint,1006,opt,name=state,proto3,enum=SpaceX.API.Device.DishState" json:"state,omitempty"` PopPingDropRate float32 `protobuf:"fixed32,1003,opt,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"` DownlinkThroughputBps float32 `protobuf:"fixed32,1007,opt,name=downlink_throughput_bps,json=downlinkThroughputBps,proto3" json:"downlink_throughput_bps,omitempty"` UplinkThroughputBps float32 `protobuf:"fixed32,1008,opt,name=uplink_throughput_bps,json=uplinkThroughputBps,proto3" json:"uplink_throughput_bps,omitempty"` PopPingLatencyMs float32 `protobuf:"fixed32,1009,opt,name=pop_ping_latency_ms,json=popPingLatencyMs,proto3" json:"pop_ping_latency_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DishGetStatusResponse) Reset() { *x = DishGetStatusResponse{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DishGetStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DishGetStatusResponse) ProtoMessage() {} func (x *DishGetStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 DishGetStatusResponse.ProtoReflect.Descriptor instead. func (*DishGetStatusResponse) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{3} } func (x *DishGetStatusResponse) GetDeviceState() *DeviceState { if x != nil { return x.DeviceState } return nil } func (x *DishGetStatusResponse) GetObstructionStats() *DishObstructionStats { if x != nil { return x.ObstructionStats } return nil } func (x *DishGetStatusResponse) GetAlerts() *DishAlerts { if x != nil { return x.Alerts } return nil } func (x *DishGetStatusResponse) GetState() DishState { if x != nil { return x.State } return DishState_UNKNOWN } func (x *DishGetStatusResponse) GetPopPingDropRate() float32 { if x != nil { return x.PopPingDropRate } return 0 } func (x *DishGetStatusResponse) GetDownlinkThroughputBps() float32 { if x != nil { return x.DownlinkThroughputBps } return 0 } func (x *DishGetStatusResponse) GetUplinkThroughputBps() float32 { if x != nil { return x.UplinkThroughputBps } return 0 } func (x *DishGetStatusResponse) GetPopPingLatencyMs() float32 { if x != nil { return x.PopPingLatencyMs } return 0 } type DeviceState struct { state protoimpl.MessageState `protogen:"open.v1"` UptimeS uint64 `protobuf:"varint,1,opt,name=uptime_s,json=uptimeS,proto3" json:"uptime_s,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeviceState) Reset() { *x = DeviceState{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DeviceState) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeviceState) ProtoMessage() {} func (x *DeviceState) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 DeviceState.ProtoReflect.Descriptor instead. func (*DeviceState) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{4} } func (x *DeviceState) GetUptimeS() uint64 { if x != nil { return x.UptimeS } return 0 } type DishObstructionStats struct { state protoimpl.MessageState `protogen:"open.v1"` FractionObstructed float32 `protobuf:"fixed32,1,opt,name=fraction_obstructed,json=fractionObstructed,proto3" json:"fraction_obstructed,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DishObstructionStats) Reset() { *x = DishObstructionStats{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DishObstructionStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*DishObstructionStats) ProtoMessage() {} func (x *DishObstructionStats) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 DishObstructionStats.ProtoReflect.Descriptor instead. func (*DishObstructionStats) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{5} } func (x *DishObstructionStats) GetFractionObstructed() float32 { if x != nil { return x.FractionObstructed } return 0 } type DishAlerts struct { state protoimpl.MessageState `protogen:"open.v1"` MotorsStuck bool `protobuf:"varint,1,opt,name=motors_stuck,json=motorsStuck,proto3" json:"motors_stuck,omitempty"` ThermalShutdown bool `protobuf:"varint,2,opt,name=thermal_shutdown,json=thermalShutdown,proto3" json:"thermal_shutdown,omitempty"` ThermalThrottle bool `protobuf:"varint,3,opt,name=thermal_throttle,json=thermalThrottle,proto3" json:"thermal_throttle,omitempty"` UnexpectedLocation bool `protobuf:"varint,4,opt,name=unexpected_location,json=unexpectedLocation,proto3" json:"unexpected_location,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DishAlerts) Reset() { *x = DishAlerts{} mi := &file_internal_starlink_pb_starlink_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DishAlerts) String() string { return protoimpl.X.MessageStringOf(x) } func (*DishAlerts) ProtoMessage() {} func (x *DishAlerts) ProtoReflect() protoreflect.Message { mi := &file_internal_starlink_pb_starlink_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 DishAlerts.ProtoReflect.Descriptor instead. func (*DishAlerts) Descriptor() ([]byte, []int) { return file_internal_starlink_pb_starlink_proto_rawDescGZIP(), []int{6} } func (x *DishAlerts) GetMotorsStuck() bool { if x != nil { return x.MotorsStuck } return false } func (x *DishAlerts) GetThermalShutdown() bool { if x != nil { return x.ThermalShutdown } return false } func (x *DishAlerts) GetThermalThrottle() bool { if x != nil { return x.ThermalThrottle } return false } func (x *DishAlerts) GetUnexpectedLocation() bool { if x != nil { return x.UnexpectedLocation } return false } var File_internal_starlink_pb_starlink_proto protoreflect.FileDescriptor const file_internal_starlink_pb_starlink_proto_rawDesc = "" + "\n" + "#internal/starlink/pb/starlink.proto\x12\x11SpaceX.API.Device\"[\n" + "\aRequest\x12E\n" + "\n" + "get_status\x18\xec\a \x01(\v2#.SpaceX.API.Device.GetStatusRequestH\x00R\tgetStatusB\t\n" + "\arequest\"\x12\n" + "\x10GetStatusRequest\"k\n" + "\bResponse\x12S\n" + "\x0fdish_get_status\x18\xd4\x0f \x01(\v2(.SpaceX.API.Device.DishGetStatusResponseH\x00R\rdishGetStatusB\n" + "\n" + "\bresponse\"\xea\x03\n" + "\x15DishGetStatusResponse\x12A\n" + "\fdevice_state\x18\x02 \x01(\v2\x1e.SpaceX.API.Device.DeviceStateR\vdeviceState\x12U\n" + "\x11obstruction_stats\x18\xec\a \x01(\v2'.SpaceX.API.Device.DishObstructionStatsR\x10obstructionStats\x126\n" + "\x06alerts\x18\xed\a \x01(\v2\x1d.SpaceX.API.Device.DishAlertsR\x06alerts\x123\n" + "\x05state\x18\xee\a \x01(\x0e2\x1c.SpaceX.API.Device.DishStateR\x05state\x12,\n" + "\x12pop_ping_drop_rate\x18\xeb\a \x01(\x02R\x0fpopPingDropRate\x127\n" + "\x17downlink_throughput_bps\x18\xef\a \x01(\x02R\x15downlinkThroughputBps\x123\n" + "\x15uplink_throughput_bps\x18\xf0\a \x01(\x02R\x13uplinkThroughputBps\x12.\n" + "\x13pop_ping_latency_ms\x18\xf1\a \x01(\x02R\x10popPingLatencyMs\"(\n" + "\vDeviceState\x12\x19\n" + "\buptime_s\x18\x01 \x01(\x04R\auptimeS\"G\n" + "\x14DishObstructionStats\x12/\n" + "\x13fraction_obstructed\x18\x01 \x01(\x02R\x12fractionObstructed\"\xb6\x01\n" + "\n" + "DishAlerts\x12!\n" + "\fmotors_stuck\x18\x01 \x01(\bR\vmotorsStuck\x12)\n" + "\x10thermal_shutdown\x18\x02 \x01(\bR\x0fthermalShutdown\x12)\n" + "\x10thermal_throttle\x18\x03 \x01(\bR\x0fthermalThrottle\x12/\n" + "\x13unexpected_location\x18\x04 \x01(\bR\x12unexpectedLocation*C\n" + "\tDishState\x12\v\n" + "\aUNKNOWN\x10\x00\x12\r\n" + "\tCONNECTED\x10\x01\x12\r\n" + "\tSEARCHING\x10\x02\x12\v\n" + "\aBOOTING\x10\x032K\n" + "\x06Device\x12A\n" + "\x06Handle\x12\x1a.SpaceX.API.Device.Request\x1a\x1b.SpaceX.API.Device.ResponseB SpaceX.API.Device.GetStatusRequest 4, // 1: SpaceX.API.Device.Response.dish_get_status:type_name -> SpaceX.API.Device.DishGetStatusResponse 5, // 2: SpaceX.API.Device.DishGetStatusResponse.device_state:type_name -> SpaceX.API.Device.DeviceState 6, // 3: SpaceX.API.Device.DishGetStatusResponse.obstruction_stats:type_name -> SpaceX.API.Device.DishObstructionStats 7, // 4: SpaceX.API.Device.DishGetStatusResponse.alerts:type_name -> SpaceX.API.Device.DishAlerts 0, // 5: SpaceX.API.Device.DishGetStatusResponse.state:type_name -> SpaceX.API.Device.DishState 1, // 6: SpaceX.API.Device.Device.Handle:input_type -> SpaceX.API.Device.Request 3, // 7: SpaceX.API.Device.Device.Handle:output_type -> SpaceX.API.Device.Response 7, // [7:8] is the sub-list for method output_type 6, // [6:7] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_internal_starlink_pb_starlink_proto_init() } func file_internal_starlink_pb_starlink_proto_init() { if File_internal_starlink_pb_starlink_proto != nil { return } file_internal_starlink_pb_starlink_proto_msgTypes[0].OneofWrappers = []any{ (*Request_GetStatus)(nil), } file_internal_starlink_pb_starlink_proto_msgTypes[2].OneofWrappers = []any{ (*Response_DishGetStatus)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_starlink_pb_starlink_proto_rawDesc), len(file_internal_starlink_pb_starlink_proto_rawDesc)), NumEnums: 1, NumMessages: 7, NumExtensions: 0, NumServices: 1, }, GoTypes: file_internal_starlink_pb_starlink_proto_goTypes, DependencyIndexes: file_internal_starlink_pb_starlink_proto_depIdxs, EnumInfos: file_internal_starlink_pb_starlink_proto_enumTypes, MessageInfos: file_internal_starlink_pb_starlink_proto_msgTypes, }.Build() File_internal_starlink_pb_starlink_proto = out.File file_internal_starlink_pb_starlink_proto_goTypes = nil file_internal_starlink_pb_starlink_proto_depIdxs = nil }