check / check (push) Failing after 4s
Detection is a TCP connect to the dish endpoint bound to the physical interface; once a dish answers, get_status is read every 5s and two status lines render under the physical pane, red on disconnect or alert. No dish: nothing drawn, no RPC. Minimal vendored proto bindings for get_status only. Independent review passed (PR 7 comment 100012). Model: opus-4-8 (implementation and review); model: claude-fable-5 (merge)
630 lines
20 KiB
Go
630 lines
20 KiB
Go
// 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<Z:git.eeqj.de/sneak/rtnetmon/internal/starlink/pb;starlinkpbb\x06proto3"
|
|
|
|
var (
|
|
file_internal_starlink_pb_starlink_proto_rawDescOnce sync.Once
|
|
file_internal_starlink_pb_starlink_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_internal_starlink_pb_starlink_proto_rawDescGZIP() []byte {
|
|
file_internal_starlink_pb_starlink_proto_rawDescOnce.Do(func() {
|
|
file_internal_starlink_pb_starlink_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_starlink_pb_starlink_proto_rawDesc), len(file_internal_starlink_pb_starlink_proto_rawDesc)))
|
|
})
|
|
return file_internal_starlink_pb_starlink_proto_rawDescData
|
|
}
|
|
|
|
var file_internal_starlink_pb_starlink_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
|
var file_internal_starlink_pb_starlink_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
|
var file_internal_starlink_pb_starlink_proto_goTypes = []any{
|
|
(DishState)(0), // 0: SpaceX.API.Device.DishState
|
|
(*Request)(nil), // 1: SpaceX.API.Device.Request
|
|
(*GetStatusRequest)(nil), // 2: SpaceX.API.Device.GetStatusRequest
|
|
(*Response)(nil), // 3: SpaceX.API.Device.Response
|
|
(*DishGetStatusResponse)(nil), // 4: SpaceX.API.Device.DishGetStatusResponse
|
|
(*DeviceState)(nil), // 5: SpaceX.API.Device.DeviceState
|
|
(*DishObstructionStats)(nil), // 6: SpaceX.API.Device.DishObstructionStats
|
|
(*DishAlerts)(nil), // 7: SpaceX.API.Device.DishAlerts
|
|
}
|
|
var file_internal_starlink_pb_starlink_proto_depIdxs = []int32{
|
|
2, // 0: SpaceX.API.Device.Request.get_status:type_name -> 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
|
|
}
|