diff --git a/go/gw/gw.pb.go b/go/gw/gw.pb.go index f5f1e8f6..31183a12 100644 --- a/go/gw/gw.pb.go +++ b/go/gw/gw.pb.go @@ -595,10 +595,12 @@ type UplinkRXInfo struct { // Unique and random ID which can be used to correlate the uplink across multiple logs. UplinkId []byte `protobuf:"bytes,16,opt,name=uplink_id,json=uplinkID,proto3" json:"uplink_id,omitempty"` // CRC status. - CrcStatus CRCStatus `protobuf:"varint,17,opt,name=crc_status,json=crcStatus,proto3,enum=gw.CRCStatus" json:"crc_status,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CrcStatus CRCStatus `protobuf:"varint,17,opt,name=crc_status,json=crcStatus,proto3,enum=gw.CRCStatus" json:"crc_status,omitempty"` + // Frequency offset from the centre frequency + FrequencyOffset int32 `protobuf:"varint,18,opt,name=frequency_offset,json=foff,proto3" json:"frequency_offset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UplinkRXInfo) Reset() { *m = UplinkRXInfo{} } @@ -761,6 +763,13 @@ func (m *UplinkRXInfo) GetCrcStatus() CRCStatus { return CRCStatus_NO_CRC } +func (m *UplinkRXInfo) GetFrequencyOffset() int32 { + if m != nil { + return m.FrequencyOffset + } + return 0 +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*UplinkRXInfo) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -1926,119 +1935,120 @@ func init() { func init() { proto.RegisterFile("gw/gw.proto", fileDescriptor_b93a753e2b32e8e7) } var fileDescriptor_b93a753e2b32e8e7 = []byte{ - // 1819 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x73, 0xe2, 0xc8, - 0x11, 0xb7, 0x58, 0x63, 0xa0, 0x31, 0x36, 0x0c, 0xd8, 0xd6, 0x3a, 0xc9, 0x9d, 0xa3, 0xaa, 0x54, - 0xed, 0xfa, 0x36, 0x90, 0xf2, 0x26, 0x95, 0x54, 0xb6, 0x2a, 0x55, 0x36, 0xe0, 0x5d, 0xd6, 0xff, - 0xa8, 0xc1, 0xb9, 0xba, 0xcd, 0x8b, 0x6e, 0x2c, 0x0d, 0x58, 0x05, 0x48, 0xca, 0x68, 0x30, 0x90, - 0xbc, 0x26, 0x95, 0x7c, 0x80, 0x7b, 0xba, 0x6f, 0x90, 0xc7, 0x7c, 0x90, 0xbc, 0xe6, 0xf3, 0xa4, - 0x66, 0x46, 0x12, 0x12, 0x70, 0xc7, 0x6e, 0xe5, 0xee, 0x09, 0xba, 0xa7, 0xa7, 0xbb, 0xa7, 0xfb, - 0xa7, 0xdf, 0xf4, 0x40, 0x71, 0x30, 0x6d, 0x0c, 0xa6, 0x75, 0x9f, 0x79, 0xdc, 0x43, 0x99, 0xc1, - 0xf4, 0xb8, 0x6a, 0x79, 0xe3, 0xb1, 0xe7, 0x36, 0xd4, 0x8f, 0x5a, 0x38, 0xfe, 0x7c, 0xe0, 0x79, - 0x83, 0x11, 0x6d, 0x48, 0xe9, 0x61, 0xd2, 0x6f, 0x70, 0x67, 0x4c, 0x03, 0x4e, 0xc6, 0x7e, 0x68, - 0xf0, 0xd9, 0xb2, 0x81, 0x3d, 0x61, 0x84, 0x3b, 0x91, 0x03, 0xe3, 0x9f, 0x19, 0xd8, 0xfd, 0xa3, - 0x3f, 0x72, 0xdc, 0xe1, 0xfd, 0x57, 0x1d, 0xb7, 0xef, 0xa1, 0x9f, 0x42, 0xa1, 0xcf, 0xe8, 0x9f, - 0x27, 0xd4, 0xb5, 0xe6, 0xba, 0x76, 0xa2, 0xbd, 0x28, 0xe1, 0x85, 0x02, 0x9d, 0x01, 0x8c, 0x3d, - 0x7b, 0x32, 0x92, 0x2e, 0xf4, 0xcc, 0x89, 0xf6, 0x62, 0xef, 0x0c, 0xd5, 0xc3, 0x94, 0x6e, 0xe2, - 0x15, 0x9c, 0xb0, 0x42, 0xef, 0xa1, 0x36, 0xf2, 0x18, 0x31, 0x17, 0x2a, 0xd3, 0x71, 0xfb, 0x9e, - 0xfe, 0xec, 0x44, 0x7b, 0x51, 0x3c, 0x3b, 0xac, 0x0f, 0xa6, 0xf5, 0x6b, 0x0f, 0x93, 0xc5, 0x6e, - 0x91, 0xc7, 0xbb, 0x2d, 0x8c, 0x46, 0x2b, 0x5a, 0xf4, 0x16, 0xaa, 0xfd, 0x60, 0xb8, 0xe2, 0x6a, - 0x5b, 0xba, 0x3a, 0x10, 0xae, 0x2e, 0x7b, 0x57, 0x2b, 0x9e, 0x2a, 0xfd, 0x60, 0x98, 0x56, 0x5e, - 0x54, 0x60, 0x7f, 0xc9, 0x89, 0xf1, 0x6f, 0x0d, 0xd0, 0x6a, 0x22, 0xa2, 0x20, 0x0f, 0xc4, 0xb5, - 0xa7, 0x8e, 0xcd, 0x1f, 0xa3, 0x82, 0xc4, 0x0a, 0xf4, 0x12, 0xca, 0x81, 0xcf, 0x28, 0xb1, 0x1d, - 0x77, 0x60, 0xf6, 0x89, 0xc5, 0x3d, 0x26, 0xcb, 0x52, 0xc2, 0xfb, 0xb1, 0xfe, 0x52, 0xaa, 0xd1, - 0x4f, 0xa0, 0x60, 0x79, 0x36, 0x35, 0x19, 0xe1, 0x54, 0x1e, 0xbe, 0x80, 0xf3, 0x42, 0x81, 0x09, - 0xa7, 0xe8, 0x37, 0x70, 0xe8, 0x7b, 0x23, 0xc2, 0x9c, 0xbf, 0x44, 0x19, 0x3d, 0x51, 0x16, 0x88, - 0x22, 0x8b, 0xb3, 0xe5, 0xf1, 0x41, 0x72, 0xb5, 0x13, 0x2d, 0x1a, 0x5f, 0x43, 0x65, 0xe5, 0xc0, - 0xa8, 0x01, 0xd5, 0xb8, 0x63, 0xa6, 0x4d, 0x9f, 0x1c, 0xd5, 0x2d, 0x95, 0x3b, 0x8a, 0x97, 0x5a, - 0xd1, 0x0a, 0x3a, 0x86, 0xbc, 0x4d, 0x38, 0x91, 0x89, 0xa9, 0xe4, 0x63, 0xd9, 0x98, 0xc1, 0x61, - 0xdb, 0xb5, 0xd8, 0xdc, 0xe7, 0xd4, 0xbe, 0x74, 0x5c, 0x7a, 0x1f, 0x01, 0x0c, 0x19, 0x50, 0x22, - 0x34, 0x30, 0x87, 0x74, 0x6e, 0x3a, 0xae, 0x4d, 0x67, 0x61, 0x80, 0x22, 0xa1, 0xc1, 0x15, 0x9d, - 0x77, 0x84, 0x0a, 0xfd, 0x1c, 0x76, 0x69, 0xb4, 0xdb, 0x74, 0x03, 0xe9, 0x7d, 0x17, 0x17, 0x63, - 0xdd, 0x6d, 0x0f, 0x1d, 0x41, 0xae, 0xef, 0x0f, 0x88, 0xe9, 0xd8, 0xb2, 0x28, 0xbb, 0x78, 0x47, - 0x88, 0x9d, 0x96, 0xd1, 0x02, 0xd4, 0x1d, 0x11, 0xc7, 0x4d, 0x47, 0xad, 0xc3, 0xb6, 0xc0, 0xb8, - 0x0c, 0x56, 0x3c, 0x3b, 0xae, 0x2b, 0x7c, 0xd7, 0x23, 0x7c, 0xd7, 0x63, 0x4b, 0x2c, 0xed, 0x8c, - 0x6f, 0xb7, 0x61, 0xf7, 0x2d, 0xe1, 0x74, 0x4a, 0xe6, 0x3d, 0x4e, 0x78, 0x80, 0x7e, 0x06, 0x30, - 0x50, 0xb2, 0x08, 0xa9, 0xc9, 0x90, 0x85, 0x50, 0xd3, 0x69, 0xa1, 0x3d, 0xc8, 0x38, 0xbe, 0x5e, - 0x90, 0xed, 0xc9, 0x38, 0x8b, 0x78, 0x99, 0x8f, 0x8b, 0x87, 0x5e, 0x41, 0x7e, 0xe4, 0x59, 0xaa, - 0xe2, 0x0a, 0xe1, 0xe5, 0xe8, 0xfb, 0xb8, 0x0e, 0xf5, 0x38, 0xb6, 0x40, 0xbf, 0x80, 0x3d, 0xcb, - 0x73, 0xfb, 0xce, 0xc0, 0x4c, 0xb6, 0xbb, 0x80, 0x4b, 0x4a, 0xfb, 0xa5, 0x52, 0xa2, 0x3a, 0x54, - 0xd9, 0xcc, 0xf4, 0x89, 0x35, 0xa4, 0x3c, 0x30, 0x19, 0xb5, 0xa8, 0xf3, 0x44, 0x6d, 0x3d, 0x2b, - 0x0b, 0x5e, 0x61, 0xb3, 0xae, 0x5a, 0xc1, 0xe1, 0x02, 0x7a, 0x0d, 0x87, 0x6b, 0xec, 0x4d, 0x6f, - 0xa8, 0xef, 0xc8, 0x2d, 0xd5, 0x95, 0x2d, 0x77, 0x57, 0x22, 0x08, 0x5f, 0x13, 0x24, 0xa7, 0x82, - 0xf0, 0x95, 0x20, 0xaf, 0x00, 0x25, 0xec, 0xe9, 0xd8, 0xe1, 0x9c, 0xda, 0x7a, 0x5e, 0x9a, 0x97, - 0x63, 0xf3, 0xb6, 0xd2, 0xa3, 0x37, 0x50, 0x18, 0x53, 0x4e, 0x4c, 0x01, 0x2c, 0x1d, 0x4e, 0x9e, - 0xbd, 0x28, 0x9e, 0x7d, 0x26, 0xbe, 0xd7, 0x64, 0x6f, 0xea, 0x37, 0x94, 0x93, 0x16, 0xe1, 0xa4, - 0xed, 0x72, 0x36, 0xc7, 0xf9, 0x71, 0x28, 0xa2, 0xe7, 0x90, 0x0f, 0x84, 0x81, 0xe8, 0x58, 0x51, - 0x76, 0x2c, 0x27, 0xe5, 0x4e, 0xeb, 0xf8, 0x0d, 0x94, 0x52, 0xbb, 0x50, 0x19, 0x9e, 0x0d, 0xa9, - 0xa2, 0xae, 0x02, 0x16, 0x7f, 0x51, 0x0d, 0xb2, 0x4f, 0x64, 0x34, 0x51, 0x3d, 0x2c, 0x60, 0x25, - 0xfc, 0x3e, 0xf3, 0x3b, 0xcd, 0xf8, 0x4f, 0x36, 0x62, 0x3f, 0xac, 0xd8, 0x6f, 0x03, 0x38, 0x3e, - 0x15, 0x0c, 0xef, 0xa1, 0x26, 0x7e, 0xcd, 0xc0, 0x71, 0x2d, 0x6a, 0x0e, 0xfc, 0xc0, 0xa4, 0xbe, - 0x67, 0x3d, 0x86, 0xc0, 0x78, 0xbe, 0xb2, 0xbf, 0x15, 0x92, 0x33, 0xae, 0x88, 0x6d, 0x3d, 0xb1, - 0xeb, 0x6d, 0xb7, 0xd7, 0x16, 0x7b, 0x10, 0x82, 0x6d, 0x16, 0x04, 0x8e, 0x6c, 0x7a, 0x16, 0xcb, - 0xff, 0xa2, 0x2e, 0x92, 0x5a, 0x03, 0x97, 0xc9, 0xce, 0x6a, 0x38, 0x27, 0x48, 0xb3, 0x77, 0x8b, - 0x91, 0x0e, 0x39, 0xeb, 0x91, 0xb8, 0x2e, 0x1d, 0x85, 0x1d, 0x8c, 0x44, 0xb1, 0x89, 0xf5, 0x4d, - 0xeb, 0x91, 0x38, 0x6e, 0xd8, 0xad, 0x1c, 0xeb, 0x37, 0x85, 0x28, 0x2a, 0xf5, 0xe0, 0x11, 0x66, - 0x4b, 0xfc, 0x97, 0xb0, 0x12, 0x84, 0x2b, 0xe2, 0x72, 0xea, 0xba, 0xa2, 0x71, 0xd2, 0x3e, 0x14, - 0x53, 0x60, 0x2f, 0x6e, 0x04, 0x7b, 0x1b, 0xaa, 0x7d, 0xc7, 0xa5, 0x66, 0x7c, 0x47, 0x99, 0x7c, - 0xee, 0x53, 0x7d, 0x57, 0xde, 0x22, 0x8a, 0xbc, 0x93, 0x9f, 0xfa, 0xfd, 0xdc, 0xa7, 0xb8, 0xd2, - 0x5f, 0x56, 0xa1, 0x2f, 0x41, 0x5f, 0x70, 0x4a, 0xda, 0xa1, 0x5e, 0x8a, 0x1a, 0x33, 0xad, 0xaf, - 0x67, 0xad, 0x77, 0x5b, 0xf8, 0x90, 0xae, 0xe7, 0xb3, 0xf7, 0x50, 0xf3, 0x05, 0xdf, 0x2c, 0xfb, - 0xdc, 0x5b, 0xdc, 0x53, 0xab, 0x7c, 0x24, 0xee, 0x29, 0x7f, 0x95, 0xa5, 0x44, 0xf5, 0x3d, 0x97, - 0xd3, 0x19, 0xd7, 0xf7, 0x15, 0x5e, 0x43, 0x51, 0xdc, 0x02, 0x13, 0x89, 0x38, 0x01, 0xb0, 0xb2, - 0x5c, 0xcb, 0x2b, 0x45, 0xa7, 0x85, 0x5e, 0x01, 0x58, 0xcc, 0x32, 0x05, 0xb6, 0x27, 0x81, 0x5e, - 0x91, 0x85, 0x29, 0x89, 0xc0, 0x4d, 0xdc, 0xec, 0x49, 0x25, 0x2e, 0x58, 0xcc, 0x52, 0x7f, 0x2f, - 0xca, 0xb0, 0x97, 0x4e, 0xd5, 0xf8, 0x57, 0x16, 0xf6, 0x5a, 0xde, 0xd4, 0x4d, 0xdc, 0xe7, 0x1b, - 0x10, 0x9d, 0xba, 0xee, 0xb3, 0xcb, 0xd7, 0x7d, 0x0d, 0xb2, 0xbe, 0x37, 0xa5, 0x0a, 0x5c, 0x59, - 0xac, 0x84, 0xa5, 0x21, 0x20, 0xf7, 0x7f, 0x0d, 0x01, 0xf9, 0x1f, 0x6e, 0x08, 0x28, 0x7c, 0xea, - 0x10, 0xb0, 0x80, 0x3b, 0x7c, 0x07, 0xdc, 0x8b, 0x69, 0xb8, 0x9f, 0xc2, 0x0e, 0x77, 0xc6, 0x8e, - 0x3b, 0x08, 0x31, 0x8b, 0x44, 0xac, 0xb8, 0xde, 0x72, 0x05, 0x87, 0x16, 0xa8, 0x07, 0x47, 0xce, - 0x78, 0x4c, 0x6d, 0x87, 0x70, 0x3a, 0x9a, 0x9b, 0x4a, 0xab, 0x12, 0x2d, 0x45, 0x5f, 0xff, 0xb4, - 0xde, 0x59, 0x98, 0xa8, 0xfd, 0x32, 0x59, 0x0d, 0x1f, 0x38, 0xeb, 0x16, 0xd0, 0x39, 0x54, 0x6c, - 0x3a, 0x22, 0x69, 0x77, 0x0a, 0x9f, 0x55, 0x99, 0x8b, 0x58, 0x4c, 0x39, 0xda, 0xb7, 0xd3, 0x2a, - 0x74, 0x05, 0x07, 0x31, 0x0f, 0xa5, 0xdc, 0xec, 0x2f, 0x3a, 0x11, 0x71, 0x4e, 0xca, 0x13, 0x1a, - 0xf8, 0xc1, 0x92, 0x36, 0x09, 0xf3, 0x72, 0x0a, 0xe6, 0x6b, 0xe6, 0xab, 0x8b, 0x12, 0x14, 0x13, - 0xf1, 0x8c, 0x23, 0x38, 0x58, 0x7b, 0x7a, 0xe3, 0x02, 0xf6, 0x97, 0xce, 0x81, 0x1a, 0x90, 0x95, - 0xe7, 0x08, 0x6f, 0xfd, 0xef, 0x21, 0x4e, 0x65, 0x67, 0x7c, 0x0d, 0x68, 0xf5, 0x10, 0xdf, 0x49, - 0xc7, 0xda, 0xa7, 0xd3, 0xb1, 0xf1, 0x37, 0x0d, 0x8a, 0xea, 0xea, 0xb8, 0x64, 0x64, 0x4c, 0xd1, - 0xe7, 0x50, 0xf4, 0x1f, 0xe7, 0xa6, 0x4f, 0xe6, 0x23, 0x8f, 0x44, 0x1f, 0x1a, 0xf8, 0x8f, 0xf3, - 0xae, 0xd2, 0xa0, 0x97, 0x90, 0xe3, 0x33, 0x55, 0xea, 0x4c, 0x48, 0x95, 0x83, 0x69, 0x3d, 0x39, - 0x7b, 0xe3, 0x1d, 0x3e, 0x93, 0x79, 0xbe, 0x84, 0x1c, 0x9b, 0x25, 0x87, 0xe4, 0x84, 0x29, 0x0e, - 0x4d, 0x99, 0x34, 0x35, 0xfe, 0xa1, 0xc1, 0x5e, 0x22, 0x8d, 0x1e, 0xe5, 0x3f, 0x5e, 0x26, 0xcf, - 0xbe, 0x37, 0x93, 0x6f, 0x34, 0x28, 0x45, 0xdf, 0xc2, 0x47, 0x96, 0xe4, 0x8b, 0xe5, 0x44, 0xd2, - 0x1f, 0x54, 0x3a, 0x95, 0x1a, 0x64, 0xb9, 0x37, 0xa4, 0x6a, 0xaa, 0x2a, 0x61, 0x25, 0x88, 0x18, - 0x76, 0x68, 0x2f, 0xf8, 0x6d, 0x5b, 0xc5, 0x88, 0x54, 0x9d, 0x96, 0xf1, 0xd7, 0x45, 0x56, 0xf7, - 0x5f, 0x9d, 0x5b, 0xc3, 0x4d, 0x84, 0x18, 0x87, 0xc9, 0x24, 0xc3, 0xd4, 0x20, 0x4b, 0x19, 0xf3, - 0x58, 0x38, 0xb7, 0x2b, 0x61, 0x73, 0xf0, 0xbf, 0x6b, 0x50, 0x0b, 0x07, 0x9c, 0xa6, 0x1c, 0xe8, - 0x42, 0x40, 0x6d, 0x4a, 0x42, 0x87, 0x5c, 0x34, 0x0f, 0xaa, 0x99, 0x25, 0x12, 0xd1, 0xaf, 0x21, - 0x1f, 0xde, 0xe3, 0x41, 0xd8, 0x11, 0x5d, 0xde, 0x0f, 0x4a, 0x97, 0x0a, 0x82, 0x63, 0x4b, 0xe3, - 0xbf, 0x19, 0xa8, 0xad, 0x33, 0xf9, 0x11, 0x5e, 0x7b, 0x5d, 0x38, 0x5c, 0x26, 0x7a, 0x35, 0xcb, - 0x86, 0x50, 0xd6, 0x57, 0xa9, 0x5e, 0xa5, 0xf4, 0x6e, 0x0b, 0xd7, 0x46, 0x6b, 0xf4, 0xe8, 0x06, - 0x0e, 0x96, 0xe8, 0x3e, 0x74, 0xa8, 0x5e, 0x7d, 0x47, 0x2b, 0x84, 0x1f, 0xfb, 0xab, 0xa6, 0x28, - 0x3f, 0x74, 0x17, 0x93, 0x7e, 0x36, 0x49, 0xfa, 0x27, 0x50, 0xb4, 0x69, 0x18, 0xc2, 0x63, 0xe1, - 0x98, 0x9c, 0x54, 0x5d, 0x54, 0xa1, 0xb2, 0x92, 0x82, 0x41, 0xa0, 0xb6, 0xee, 0x2c, 0x1b, 0x1e, - 0x8d, 0x5f, 0x40, 0x65, 0xf9, 0xd1, 0x28, 0x9e, 0x46, 0xcf, 0xc4, 0xe0, 0xbc, 0xf4, 0x6a, 0x0c, - 0x8c, 0x1b, 0xa8, 0xae, 0x39, 0xdd, 0x86, 0x08, 0x3a, 0xe4, 0x1e, 0x1c, 0x9e, 0x78, 0xd0, 0x45, - 0xa2, 0xf1, 0x4d, 0x06, 0x9e, 0xc7, 0x90, 0x1c, 0x8f, 0x89, 0x6b, 0xb7, 0x67, 0xd4, 0xc2, 0xa2, - 0xe5, 0x01, 0xff, 0x08, 0x5c, 0x5a, 0x6a, 0x53, 0x84, 0xcb, 0x50, 0x44, 0x87, 0xb0, 0x23, 0xfc, - 0x74, 0xe2, 0x47, 0x1c, 0x15, 0x92, 0xfc, 0x9c, 0x02, 0x6e, 0x3b, 0x6e, 0xf8, 0x71, 0x28, 0x01, - 0x75, 0xa1, 0x48, 0xdd, 0x27, 0x87, 0x79, 0xee, 0x98, 0xba, 0x5c, 0xcf, 0x4a, 0x20, 0xd7, 0x13, - 0xcf, 0x81, 0xd5, 0xd4, 0xea, 0xed, 0xc5, 0x06, 0xf5, 0x3c, 0x48, 0xba, 0x38, 0xfe, 0x03, 0x94, - 0x97, 0x0d, 0x3e, 0xe9, 0x25, 0xf0, 0xad, 0x06, 0xc7, 0xeb, 0x62, 0x07, 0xbe, 0xe7, 0x06, 0x74, - 0x53, 0x5d, 0x8e, 0x20, 0x27, 0xce, 0x2b, 0xd6, 0x32, 0xa9, 0xe3, 0x1f, 0xc2, 0x4e, 0xc0, 0x6d, - 0x6f, 0xc2, 0xa3, 0xb2, 0x28, 0x29, 0xd4, 0x53, 0xc6, 0xc2, 0xba, 0x84, 0xd2, 0x82, 0x67, 0xb2, - 0x09, 0x9e, 0x31, 0x1c, 0x38, 0xc2, 0x64, 0xaa, 0x1e, 0x54, 0x97, 0x1e, 0x9b, 0x12, 0x66, 0x53, - 0xd6, 0x7e, 0xa2, 0xee, 0xc6, 0x86, 0x1d, 0xc0, 0x0e, 0x23, 0xd3, 0x45, 0x5e, 0x59, 0x46, 0xa6, - 0xaa, 0x8f, 0x11, 0x2b, 0xab, 0xbc, 0x22, 0xd1, 0x18, 0xc2, 0xf3, 0xd5, 0x50, 0x61, 0x45, 0x7e, - 0xe8, 0x60, 0xa7, 0x6f, 0x12, 0xd3, 0xaa, 0x9a, 0x9a, 0xf6, 0xa1, 0xd8, 0xb9, 0xb9, 0x69, 0xb7, - 0x3a, 0xe7, 0xf7, 0xed, 0xeb, 0x0f, 0xe5, 0x2d, 0x54, 0x80, 0x6c, 0xab, 0x7d, 0x7d, 0xfe, 0xa1, - 0xac, 0xa1, 0x12, 0x14, 0xde, 0x76, 0x7b, 0x66, 0xbb, 0x7b, 0xd7, 0x7c, 0x57, 0xce, 0x9c, 0xfe, - 0x16, 0x2a, 0x2b, 0xcf, 0x05, 0x94, 0x87, 0xed, 0xdb, 0xbb, 0xdb, 0x76, 0x79, 0x4b, 0x58, 0xb7, - 0x6f, 0x9b, 0xf8, 0x43, 0xf7, 0xbe, 0xdd, 0x2a, 0x6b, 0xc2, 0x4f, 0xf7, 0xfa, 0xbc, 0x73, 0x5b, - 0xce, 0x9c, 0xfe, 0x0a, 0x0a, 0xf1, 0x38, 0x8d, 0x00, 0x76, 0x6e, 0xef, 0xcc, 0x26, 0x6e, 0x96, - 0xb7, 0x50, 0x11, 0x72, 0x17, 0xe7, 0x2d, 0x29, 0x68, 0x62, 0xa1, 0x89, 0x9b, 0xe6, 0xdd, 0x55, - 0x39, 0x73, 0xf1, 0xea, 0x4f, 0xa7, 0x03, 0x87, 0x3f, 0x4e, 0x1e, 0x04, 0xf7, 0x35, 0x1e, 0x98, - 0x67, 0x11, 0xc2, 0x1a, 0xd6, 0xa3, 0xc3, 0xfc, 0x80, 0x13, 0x6b, 0xf8, 0x4b, 0xe2, 0x3b, 0x8d, - 0x81, 0xd7, 0x78, 0x7a, 0xdd, 0x18, 0x4c, 0x1f, 0x76, 0xe4, 0xfc, 0xf0, 0xfa, 0x7f, 0x01, 0x00, - 0x00, 0xff, 0xff, 0xcf, 0x1f, 0xbf, 0x0e, 0xc2, 0x13, 0x00, 0x00, + // 1837 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xef, 0x72, 0xe2, 0xc8, + 0x11, 0x37, 0xd8, 0x18, 0x68, 0x8c, 0x0d, 0x03, 0xb6, 0xb5, 0x4e, 0xb2, 0xe7, 0xa8, 0x2a, 0x55, + 0xbb, 0xbe, 0x0d, 0xa4, 0xbc, 0x49, 0x25, 0x95, 0xad, 0x4a, 0x95, 0x0d, 0x78, 0x97, 0xf5, 0x3f, + 0x6a, 0x70, 0xae, 0x6e, 0xf3, 0x45, 0x37, 0x96, 0x46, 0x58, 0x05, 0x48, 0xca, 0x68, 0x6c, 0x20, + 0xf9, 0x9a, 0x54, 0xf2, 0x00, 0xf7, 0xe9, 0xde, 0x20, 0x1f, 0xf3, 0x32, 0x79, 0x8b, 0xbc, 0x43, + 0x6a, 0x66, 0x24, 0x21, 0x01, 0x77, 0xec, 0x56, 0x6e, 0x3f, 0x49, 0xfd, 0x67, 0xba, 0x7b, 0xba, + 0x7b, 0x7e, 0xd3, 0x03, 0xa5, 0xc1, 0xa4, 0x39, 0x98, 0x34, 0x7c, 0xe6, 0x71, 0x0f, 0x65, 0x07, + 0x93, 0xa3, 0x9a, 0xe9, 0x8d, 0xc7, 0x9e, 0xdb, 0x54, 0x1f, 0x25, 0x38, 0xfa, 0x62, 0xe0, 0x79, + 0x83, 0x11, 0x6d, 0x4a, 0xea, 0xfe, 0xd1, 0x6e, 0x72, 0x67, 0x4c, 0x03, 0x4e, 0xc6, 0x7e, 0xa8, + 0xf0, 0x7c, 0x51, 0xc1, 0x7a, 0x64, 0x84, 0x3b, 0x91, 0x01, 0xfd, 0x9f, 0x59, 0xd8, 0xf9, 0xa3, + 0x3f, 0x72, 0xdc, 0xe1, 0xdd, 0xd7, 0x5d, 0xd7, 0xf6, 0xd0, 0x4f, 0xa1, 0x68, 0x33, 0xfa, 0xe7, + 0x47, 0xea, 0x9a, 0x33, 0x2d, 0x73, 0x9c, 0x79, 0x51, 0xc6, 0x73, 0x06, 0x3a, 0x05, 0x18, 0x7b, + 0xd6, 0xe3, 0x48, 0x9a, 0xd0, 0xb2, 0xc7, 0x99, 0x17, 0xbb, 0xa7, 0xa8, 0x11, 0x86, 0x74, 0x1d, + 0x4b, 0x70, 0x42, 0x0b, 0xbd, 0x87, 0xfa, 0xc8, 0x63, 0xc4, 0x98, 0xb3, 0x0c, 0xc7, 0xb5, 0x3d, + 0x6d, 0xf3, 0x38, 0xf3, 0xa2, 0x74, 0x7a, 0xd0, 0x18, 0x4c, 0x1a, 0x57, 0x1e, 0x26, 0xf3, 0xd5, + 0x22, 0x8e, 0x77, 0x1b, 0x18, 0x8d, 0x96, 0xb8, 0xe8, 0x2d, 0xd4, 0xec, 0x60, 0xb8, 0x64, 0x6a, + 0x4b, 0x9a, 0xda, 0x17, 0xa6, 0x2e, 0xfa, 0x97, 0x4b, 0x96, 0xaa, 0x76, 0x30, 0x4c, 0x33, 0xcf, + 0xab, 0xb0, 0xb7, 0x60, 0x44, 0xff, 0x77, 0x06, 0xd0, 0x72, 0x20, 0x22, 0x21, 0xf7, 0xc4, 0xb5, + 0x26, 0x8e, 0xc5, 0x1f, 0xa2, 0x84, 0xc4, 0x0c, 0xf4, 0x12, 0x2a, 0x81, 0xcf, 0x28, 0xb1, 0x1c, + 0x77, 0x60, 0xd8, 0xc4, 0xe4, 0x1e, 0x93, 0x69, 0x29, 0xe3, 0xbd, 0x98, 0x7f, 0x21, 0xd9, 0xe8, + 0x27, 0x50, 0x34, 0x3d, 0x8b, 0x1a, 0x8c, 0x70, 0x2a, 0x37, 0x5f, 0xc4, 0x05, 0xc1, 0xc0, 0x84, + 0x53, 0xf4, 0x1b, 0x38, 0xf0, 0xbd, 0x11, 0x61, 0xce, 0x5f, 0xa2, 0x88, 0x9e, 0x28, 0x0b, 0x44, + 0x92, 0xc5, 0xde, 0x0a, 0x78, 0x3f, 0x29, 0xed, 0x46, 0x42, 0xfd, 0x1b, 0xa8, 0x2e, 0x6d, 0x18, + 0x35, 0xa1, 0x16, 0x57, 0xcc, 0xb0, 0xe8, 0x93, 0xa3, 0xaa, 0xa5, 0x62, 0x47, 0xb1, 0xa8, 0x1d, + 0x49, 0xd0, 0x11, 0x14, 0x2c, 0xc2, 0x89, 0x0c, 0x4c, 0x05, 0x1f, 0xd3, 0xfa, 0x14, 0x0e, 0x3a, + 0xae, 0xc9, 0x66, 0x3e, 0xa7, 0xd6, 0x85, 0xe3, 0xd2, 0xbb, 0xa8, 0xc1, 0x90, 0x0e, 0x65, 0x42, + 0x03, 0x63, 0x48, 0x67, 0x86, 0xe3, 0x5a, 0x74, 0x1a, 0x3a, 0x28, 0x11, 0x1a, 0x5c, 0xd2, 0x59, + 0x57, 0xb0, 0xd0, 0xcf, 0x61, 0x87, 0x46, 0xab, 0x0d, 0x37, 0x90, 0xd6, 0x77, 0x70, 0x29, 0xe6, + 0xdd, 0xf4, 0xd1, 0x21, 0xe4, 0x6d, 0x7f, 0x40, 0x0c, 0xc7, 0x92, 0x49, 0xd9, 0xc1, 0xdb, 0x82, + 0xec, 0xb6, 0xf5, 0x36, 0xa0, 0xde, 0x88, 0x38, 0x6e, 0xda, 0x6b, 0x03, 0xb6, 0x44, 0x8f, 0x4b, + 0x67, 0xa5, 0xd3, 0xa3, 0x86, 0xea, 0xef, 0x46, 0xd4, 0xdf, 0x8d, 0x58, 0x13, 0x4b, 0x3d, 0xfd, + 0xbb, 0x2d, 0xd8, 0x79, 0x4b, 0x38, 0x9d, 0x90, 0x59, 0x9f, 0x13, 0x1e, 0xa0, 0x9f, 0x01, 0x0c, + 0x14, 0x2d, 0x5c, 0x66, 0xa4, 0xcb, 0x62, 0xc8, 0xe9, 0xb6, 0xd1, 0x2e, 0x64, 0x1d, 0x5f, 0x2b, + 0xca, 0xf2, 0x64, 0x9d, 0xb9, 0xbf, 0xec, 0xc7, 0xf9, 0x43, 0xaf, 0xa0, 0x30, 0xf2, 0x4c, 0x95, + 0x71, 0xd5, 0xe1, 0x95, 0xe8, 0x7c, 0x5c, 0x85, 0x7c, 0x1c, 0x6b, 0xa0, 0x5f, 0xc0, 0xae, 0xe9, + 0xb9, 0xb6, 0x33, 0x30, 0x92, 0xe5, 0x2e, 0xe2, 0xb2, 0xe2, 0x7e, 0xa5, 0x98, 0xa8, 0x01, 0x35, + 0x36, 0x35, 0x7c, 0x62, 0x0e, 0x29, 0x0f, 0x0c, 0x46, 0x4d, 0xea, 0x3c, 0x51, 0x4b, 0xcb, 0xc9, + 0x84, 0x57, 0xd9, 0xb4, 0xa7, 0x24, 0x38, 0x14, 0xa0, 0xd7, 0x70, 0xb0, 0x42, 0xdf, 0xf0, 0x86, + 0xda, 0xb6, 0x5c, 0x52, 0x5b, 0x5a, 0x72, 0x7b, 0x29, 0x9c, 0xf0, 0x15, 0x4e, 0xf2, 0xca, 0x09, + 0x5f, 0x72, 0xf2, 0x0a, 0x50, 0x42, 0x9f, 0x8e, 0x1d, 0xce, 0xa9, 0xa5, 0x15, 0xa4, 0x7a, 0x25, + 0x56, 0xef, 0x28, 0x3e, 0x7a, 0x03, 0xc5, 0x31, 0xe5, 0xc4, 0x10, 0x8d, 0xa5, 0xc1, 0xf1, 0xe6, + 0x8b, 0xd2, 0xe9, 0x73, 0x71, 0x5e, 0x93, 0xb5, 0x69, 0x5c, 0x53, 0x4e, 0xda, 0x84, 0x93, 0x8e, + 0xcb, 0xd9, 0x0c, 0x17, 0xc6, 0x21, 0x89, 0x9e, 0x41, 0x21, 0x10, 0x0a, 0xa2, 0x62, 0x25, 0x59, + 0xb1, 0xbc, 0xa4, 0xbb, 0xed, 0xa3, 0x37, 0x50, 0x4e, 0xad, 0x42, 0x15, 0xd8, 0x1c, 0x52, 0x05, + 0x5d, 0x45, 0x2c, 0x7e, 0x51, 0x1d, 0x72, 0x4f, 0x64, 0xf4, 0xa8, 0x6a, 0x58, 0xc4, 0x8a, 0xf8, + 0x7d, 0xf6, 0x77, 0x19, 0xfd, 0xbf, 0xb9, 0x08, 0xfd, 0xb0, 0x42, 0xbf, 0x35, 0xcd, 0xf1, 0xa9, + 0xcd, 0xf0, 0x1e, 0xea, 0xe2, 0x6b, 0x04, 0x8e, 0x6b, 0x52, 0x63, 0xe0, 0x07, 0x06, 0xf5, 0x3d, + 0xf3, 0x21, 0x6c, 0x8c, 0x67, 0x4b, 0xeb, 0xdb, 0x21, 0x38, 0xe3, 0xaa, 0x58, 0xd6, 0x17, 0xab, + 0xde, 0xf6, 0xfa, 0x1d, 0xb1, 0x06, 0x21, 0xd8, 0x62, 0x41, 0xe0, 0xc8, 0xa2, 0xe7, 0xb0, 0xfc, + 0x17, 0x79, 0x91, 0xd0, 0x1a, 0xb8, 0x4c, 0x56, 0x36, 0x83, 0xf3, 0x02, 0x34, 0xfb, 0x37, 0x18, + 0x69, 0x90, 0x37, 0x1f, 0x88, 0xeb, 0xd2, 0x51, 0x58, 0xc1, 0x88, 0x14, 0x8b, 0x98, 0x6d, 0x98, + 0x0f, 0xc4, 0x71, 0xc3, 0x6a, 0xe5, 0x99, 0xdd, 0x12, 0xa4, 0xc8, 0xd4, 0xbd, 0x47, 0x98, 0x25, + 0xfb, 0xbf, 0x8c, 0x15, 0x21, 0x4c, 0x11, 0x97, 0x53, 0xd7, 0x15, 0x85, 0x93, 0xfa, 0x21, 0x99, + 0x6a, 0xf6, 0xd2, 0xda, 0x66, 0xef, 0x40, 0xcd, 0x76, 0x5c, 0x6a, 0xc4, 0x77, 0x94, 0xc1, 0x67, + 0x3e, 0xd5, 0x76, 0xe4, 0x2d, 0xa2, 0xc0, 0x3b, 0x79, 0xd4, 0xef, 0x66, 0x3e, 0xc5, 0x55, 0x7b, + 0x91, 0x85, 0xbe, 0x02, 0x6d, 0x8e, 0x29, 0x69, 0x83, 0x5a, 0x39, 0x2a, 0xcc, 0xa4, 0xb1, 0x1a, + 0xb5, 0xde, 0x6d, 0xe0, 0x03, 0xba, 0x1a, 0xcf, 0xde, 0x43, 0xdd, 0x17, 0x78, 0xb3, 0x68, 0x73, + 0x77, 0x7e, 0x4f, 0x2d, 0xe3, 0x91, 0xb8, 0xa7, 0xfc, 0x65, 0x94, 0x12, 0xd9, 0xf7, 0x5c, 0x4e, + 0xa7, 0x5c, 0xdb, 0x53, 0xfd, 0x1a, 0x92, 0xe2, 0x16, 0x78, 0x94, 0x1d, 0x27, 0x1a, 0xac, 0x22, + 0x65, 0x05, 0xc5, 0xe8, 0xb6, 0xd1, 0x2b, 0x00, 0x93, 0x99, 0x86, 0xe8, 0xed, 0xc7, 0x40, 0xab, + 0xca, 0xc4, 0x94, 0x85, 0xe3, 0x16, 0x6e, 0xf5, 0x25, 0x13, 0x17, 0x4d, 0x66, 0xaa, 0x5f, 0xf4, + 0x1c, 0x2a, 0x73, 0x9c, 0xf7, 0x6c, 0x3b, 0xa0, 0x5c, 0x43, 0xaa, 0x3b, 0x6c, 0xcf, 0xb6, 0xcf, + 0x2b, 0xb0, 0x9b, 0xde, 0x8a, 0xfe, 0xaf, 0x1c, 0xec, 0xb6, 0xbd, 0x89, 0x9b, 0xb8, 0xef, 0xd7, + 0x74, 0x7c, 0x6a, 0x1c, 0xc8, 0x2d, 0x8e, 0x03, 0x75, 0xc8, 0xf9, 0xde, 0x84, 0xaa, 0xe6, 0xcb, + 0x61, 0x45, 0x2c, 0x0c, 0x09, 0xf9, 0xff, 0x6b, 0x48, 0x28, 0xfc, 0x78, 0x43, 0x42, 0xf1, 0x53, + 0x87, 0x84, 0xf9, 0x71, 0x80, 0xef, 0x39, 0x0e, 0xa5, 0xf4, 0x71, 0x38, 0x81, 0x6d, 0xee, 0x8c, + 0x1d, 0x77, 0x10, 0xf6, 0x34, 0x12, 0xbe, 0xe2, 0x7c, 0x4b, 0x09, 0x0e, 0x35, 0x50, 0x1f, 0x0e, + 0x9d, 0xf1, 0x98, 0x5a, 0x0e, 0xe1, 0x74, 0x34, 0x33, 0x14, 0x57, 0x05, 0x5a, 0x8e, 0xd0, 0x61, + 0xd2, 0xe8, 0xce, 0x55, 0xd4, 0x7a, 0x19, 0x6c, 0x06, 0xef, 0x3b, 0xab, 0x04, 0xe8, 0x0c, 0xaa, + 0x16, 0x1d, 0x91, 0xb4, 0x39, 0xd5, 0xbf, 0x35, 0x19, 0x8b, 0x10, 0xa6, 0x0c, 0xed, 0x59, 0x69, + 0x16, 0xba, 0x84, 0xfd, 0x18, 0xa7, 0x52, 0x66, 0xf6, 0xe6, 0x95, 0x88, 0x30, 0x29, 0x65, 0x09, + 0x0d, 0xfc, 0x60, 0x81, 0x9b, 0x3c, 0x06, 0x95, 0xd4, 0x31, 0x58, 0x31, 0x7f, 0x9d, 0x97, 0xa1, + 0x94, 0xf0, 0xa7, 0x1f, 0xc2, 0xfe, 0xca, 0xdd, 0xeb, 0xe7, 0xb0, 0xb7, 0xb0, 0x0f, 0xd4, 0x84, + 0x9c, 0xdc, 0x47, 0x38, 0x15, 0xfc, 0x00, 0xb0, 0x2a, 0x3d, 0xfd, 0x1b, 0x40, 0xcb, 0x9b, 0xf8, + 0x5e, 0xb8, 0xce, 0x7c, 0x3a, 0x5c, 0xeb, 0x7f, 0xcb, 0x40, 0x49, 0x5d, 0x2d, 0x17, 0x8c, 0x8c, + 0x29, 0xfa, 0x02, 0x4a, 0xfe, 0xc3, 0xcc, 0xf0, 0xc9, 0x6c, 0xe4, 0x91, 0xe8, 0xa0, 0x81, 0xff, + 0x30, 0xeb, 0x29, 0x0e, 0x7a, 0x09, 0x79, 0x3e, 0x55, 0xa9, 0xce, 0x86, 0x50, 0x3a, 0x98, 0x34, + 0x92, 0xb3, 0x39, 0xde, 0xe6, 0x53, 0x19, 0xe7, 0x4b, 0xc8, 0xb3, 0x69, 0x72, 0x88, 0x4e, 0xa8, + 0xe2, 0x50, 0x95, 0x49, 0x55, 0xfd, 0x1f, 0x19, 0xd8, 0x4d, 0x84, 0xd1, 0xa7, 0xfc, 0xf3, 0x45, + 0xb2, 0xf9, 0x83, 0x91, 0x7c, 0x9b, 0x81, 0x72, 0x74, 0x16, 0x3e, 0x32, 0x25, 0x5f, 0x2e, 0x06, + 0x92, 0x3e, 0x50, 0xe9, 0x50, 0xea, 0x90, 0xe3, 0xde, 0x90, 0xaa, 0xa9, 0xab, 0x8c, 0x15, 0x21, + 0x7c, 0x58, 0xa1, 0xbe, 0xc0, 0xb7, 0x2d, 0xe5, 0x23, 0x62, 0x75, 0xdb, 0xfa, 0x5f, 0xe7, 0x51, + 0xdd, 0x7d, 0x7d, 0x66, 0x0e, 0xd7, 0x01, 0x62, 0xec, 0x26, 0x9b, 0x74, 0x53, 0x87, 0x1c, 0x65, + 0xcc, 0x63, 0xe1, 0x5c, 0xaf, 0x88, 0xf5, 0xce, 0xff, 0x9e, 0x81, 0x7a, 0x38, 0x00, 0xb5, 0xe4, + 0xc0, 0x17, 0x36, 0xd4, 0xba, 0x20, 0x34, 0xc8, 0x47, 0xf3, 0xa2, 0x9a, 0x69, 0x22, 0x12, 0xfd, + 0x1a, 0x0a, 0xe1, 0x3d, 0x1f, 0x84, 0x15, 0xd1, 0xe4, 0xfd, 0xa1, 0x78, 0x29, 0x27, 0x38, 0xd6, + 0xd4, 0xff, 0x93, 0x85, 0xfa, 0x2a, 0x95, 0xcf, 0xf0, 0x1a, 0xec, 0xc1, 0xc1, 0x22, 0xd0, 0xab, + 0x59, 0x37, 0x6c, 0x65, 0x6d, 0x19, 0xea, 0x55, 0x48, 0xef, 0x36, 0x70, 0x7d, 0xb4, 0x82, 0x8f, + 0xae, 0x61, 0x7f, 0x01, 0xee, 0x43, 0x83, 0xea, 0x55, 0x78, 0xb8, 0x04, 0xf8, 0xb1, 0xbd, 0x5a, + 0x0a, 0xf2, 0x43, 0x73, 0x31, 0xe8, 0xe7, 0x92, 0xa0, 0x7f, 0x0c, 0x25, 0x8b, 0x86, 0x2e, 0x3c, + 0x16, 0x8e, 0xd1, 0x49, 0xd6, 0x79, 0x0d, 0xaa, 0x4b, 0x21, 0xe8, 0x04, 0xea, 0xab, 0xf6, 0xb2, + 0xe6, 0x51, 0xf9, 0x25, 0x54, 0x17, 0x1f, 0x95, 0xe2, 0xe9, 0xb4, 0x29, 0x06, 0xeb, 0x85, 0x57, + 0x65, 0xa0, 0x5f, 0x43, 0x6d, 0xc5, 0xee, 0xd6, 0x78, 0xd0, 0x20, 0x7f, 0xef, 0xf0, 0xc4, 0x83, + 0x2f, 0x22, 0xf5, 0x6f, 0xb3, 0xf0, 0x2c, 0x6e, 0xc9, 0xf1, 0x98, 0xb8, 0x56, 0x67, 0x4a, 0x4d, + 0x2c, 0x4a, 0x1e, 0xf0, 0x8f, 0xe8, 0x4b, 0x53, 0x2d, 0x8a, 0xfa, 0x32, 0x24, 0xd1, 0x01, 0x6c, + 0x0b, 0x3b, 0xdd, 0xf8, 0x91, 0x47, 0x05, 0x25, 0x8f, 0x53, 0xc0, 0x2d, 0xc7, 0x0d, 0x0f, 0x87, + 0x22, 0x50, 0x0f, 0x4a, 0xd4, 0x7d, 0x72, 0x98, 0xe7, 0x8e, 0xa9, 0xcb, 0xb5, 0x9c, 0x6c, 0xe4, + 0x46, 0xe2, 0xb9, 0xb0, 0x1c, 0x5a, 0xa3, 0x33, 0x5f, 0xa0, 0x9e, 0x0f, 0x49, 0x13, 0x47, 0x7f, + 0x80, 0xca, 0xa2, 0xc2, 0x27, 0xbd, 0x14, 0xbe, 0xcb, 0xc0, 0xd1, 0x2a, 0xdf, 0x81, 0xef, 0xb9, + 0x01, 0x5d, 0x97, 0x97, 0x43, 0xc8, 0x8b, 0xfd, 0x0a, 0x59, 0x36, 0xb5, 0xfd, 0x03, 0xd8, 0x0e, + 0xb8, 0xe5, 0x3d, 0xf2, 0x28, 0x2d, 0x8a, 0x0a, 0xf9, 0x94, 0xb1, 0x30, 0x2f, 0x21, 0x35, 0xc7, + 0x99, 0x5c, 0x02, 0x67, 0x74, 0x07, 0x0e, 0x31, 0x99, 0xa8, 0x07, 0xd7, 0x85, 0xc7, 0x26, 0x84, + 0x59, 0x94, 0x75, 0x9e, 0xa8, 0xbb, 0xb6, 0x60, 0xfb, 0xb0, 0xcd, 0xc8, 0x64, 0x1e, 0x57, 0x8e, + 0x91, 0x89, 0xaa, 0x63, 0x84, 0xca, 0x2a, 0xae, 0x88, 0xd4, 0x87, 0xf0, 0x6c, 0xd9, 0x55, 0x98, + 0x91, 0x1f, 0xdb, 0xd9, 0xc9, 0x9b, 0xc4, 0xb4, 0xaa, 0xa6, 0xa6, 0x3d, 0x28, 0x75, 0xaf, 0xaf, + 0x3b, 0xed, 0xee, 0xd9, 0x5d, 0xe7, 0xea, 0x43, 0x65, 0x03, 0x15, 0x21, 0xd7, 0xee, 0x5c, 0x9d, + 0x7d, 0xa8, 0x64, 0x50, 0x19, 0x8a, 0x6f, 0x7b, 0x7d, 0xa3, 0xd3, 0xbb, 0x6d, 0xbd, 0xab, 0x64, + 0x4f, 0x7e, 0x0b, 0xd5, 0xa5, 0xe7, 0x04, 0x2a, 0xc0, 0xd6, 0xcd, 0xed, 0x4d, 0xa7, 0xb2, 0x21, + 0xb4, 0x3b, 0x37, 0x2d, 0xfc, 0xa1, 0x77, 0xd7, 0x69, 0x57, 0x32, 0xc2, 0x4e, 0xef, 0xea, 0xac, + 0x7b, 0x53, 0xc9, 0x9e, 0xfc, 0x0a, 0x8a, 0xf1, 0xb8, 0x8d, 0x00, 0xb6, 0x6f, 0x6e, 0x8d, 0x16, + 0x6e, 0x55, 0x36, 0x50, 0x09, 0xf2, 0xe7, 0x67, 0x6d, 0x49, 0x64, 0x84, 0xa0, 0x85, 0x5b, 0xc6, + 0xed, 0x65, 0x25, 0x7b, 0xfe, 0xea, 0x4f, 0x27, 0x03, 0x87, 0x3f, 0x3c, 0xde, 0x0b, 0xec, 0x6b, + 0xde, 0x33, 0xcf, 0x24, 0x84, 0x35, 0xcd, 0x07, 0x87, 0xf9, 0x01, 0x27, 0xe6, 0xf0, 0x97, 0xc4, + 0x77, 0x9a, 0x03, 0xaf, 0xf9, 0xf4, 0xba, 0x39, 0x98, 0xdc, 0x6f, 0xcb, 0xf9, 0xe1, 0xf5, 0xff, + 0x02, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x13, 0xee, 0xdd, 0xe2, 0x13, 0x00, 0x00, } diff --git a/js/gw/gw_pb.d.ts b/js/gw/gw_pb.d.ts index c5624311..4254233f 100644 --- a/js/gw/gw_pb.d.ts +++ b/js/gw/gw_pb.d.ts @@ -291,6 +291,9 @@ export class UplinkRXInfo extends jspb.Message { getCrcStatus(): CRCStatusMap[keyof CRCStatusMap]; setCrcStatus(value: CRCStatusMap[keyof CRCStatusMap]): void; + getFrequencyOffset(): number; + setFrequencyOffset(value: number): void; + getFineTimestampCase(): UplinkRXInfo.FineTimestampCase; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): UplinkRXInfo.AsObject; @@ -320,6 +323,7 @@ export namespace UplinkRXInfo { context: Uint8Array | string, uplinkId: Uint8Array | string, crcStatus: CRCStatusMap[keyof CRCStatusMap], + frequencyOffset: number, } export enum FineTimestampCase { diff --git a/js/gw/gw_pb.js b/js/gw/gw_pb.js index ae34b609..71580bfb 100644 --- a/js/gw/gw_pb.js +++ b/js/gw/gw_pb.js @@ -1798,7 +1798,8 @@ proto.gw.UplinkRXInfo.toObject = function(includeInstance, msg) { plainFineTimestamp: (f = msg.getPlainFineTimestamp()) && proto.gw.PlainFineTimestamp.toObject(includeInstance, f), context: msg.getContext_asB64(), uplinkId: msg.getUplinkId_asB64(), - crcStatus: msg.getCrcStatus() + crcStatus: msg.getCrcStatus(), + frequencyOffset: msg.getFrequencyOffset() }; if (includeInstance) { @@ -1904,6 +1905,10 @@ proto.gw.UplinkRXInfo.deserializeBinaryFromReader = function(msg, reader) { var value = /** @type {!proto.gw.CRCStatus} */ (reader.readEnum()); msg.setCrcStatus(value); break; + case 18: + var value = /** @type {number} */ (reader.readInt32()); + msg.setFrequencyOffset(value); + break; default: reader.skipField(); break; @@ -2059,6 +2064,13 @@ proto.gw.UplinkRXInfo.prototype.serializeBinaryToWriter = function (writer) { f ); } + f = this.getFrequencyOffset(); + if (f !== 0) { + writer.writeInt32( + 18, + f + ); + } }; @@ -2458,6 +2470,21 @@ proto.gw.UplinkRXInfo.prototype.setCrcStatus = function(value) { }; +/** + * optional int32 frequency_offset = 18; + * @return {number} + */ +proto.gw.UplinkRXInfo.prototype.getFrequencyOffset = function() { + return /** @type {number} */ (jspb.Message.getFieldProto3(this, 18, 0)); +}; + + +/** @param {number} value */ +proto.gw.UplinkRXInfo.prototype.setFrequencyOffset = function(value) { + jspb.Message.setField(this, 18, value); +}; + + /** * Generated by JsPbCodeGenerator. diff --git a/protobuf/gw/gw.proto b/protobuf/gw/gw.proto index 90a67371..246df65b 100644 --- a/protobuf/gw/gw.proto +++ b/protobuf/gw/gw.proto @@ -186,6 +186,10 @@ message UplinkRXInfo { // CRC status. CRCStatus crc_status = 17 [json_name = "crcStatus"]; + + // Frequency offset from the centre frequency + int32 frequency_offset = 18 [json_name = "foff"]; + } message DownlinkTXInfo { diff --git a/python/src/chirpstack_api/gw/gw_pb2.py b/python/src/chirpstack_api/gw/gw_pb2.py index 1d62c7d5..f8d492b2 100644 --- a/python/src/chirpstack_api/gw/gw_pb2.py +++ b/python/src/chirpstack_api/gw/gw_pb2.py @@ -22,7 +22,7 @@ package='gw', syntax='proto3', serialized_options=b'Z*github.com/brocaar/chirpstack-api/go/v3/gw', - serialized_pb=b'\n\x1a\x63hirpstack-api/gw/gw.proto\x12\x02gw\x1a\"chirpstack-api/common/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"\xde\x01\n\x0cUplinkTXInfo\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12&\n\nmodulation\x18\x02 \x01(\x0e\x32\x12.common.Modulation\x12J\n\x14lora_modulation_info\x18\x03 \x01(\x0b\x32\x16.gw.LoRaModulationInfoH\x00R\x12loRaModulationInfo\x12\x34\n\x13\x66sk_modulation_info\x18\x04 \x01(\x0b\x32\x15.gw.FSKModulationInfoH\x00\x42\x11\n\x0fmodulation_info\"t\n\x12LoRaModulationInfo\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x18\n\x10spreading_factor\x18\x02 \x01(\r\x12\x11\n\tcode_rate\x18\x03 \x01(\t\x12\x1e\n\x16polarization_inversion\x18\x04 \x01(\x08\"B\n\x11\x46SKModulationInfo\x12\x1b\n\x13\x66requency_deviation\x18\x01 \x01(\r\x12\x10\n\x08\x64\x61tarate\x18\x02 \x01(\r\"k\n\x16\x45ncryptedFineTimestamp\x12\x15\n\raes_key_index\x18\x01 \x01(\r\x12!\n\x0c\x65ncrypted_ns\x18\x02 \x01(\x0cR\x0b\x65ncryptedNS\x12\x17\n\x07\x66pga_id\x18\x03 \x01(\x0cR\x06\x66pgaID\">\n\x12PlainFineTimestamp\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa9\x03\n\x0cGatewayStats\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\n\n\x02ip\x18\t \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x08location\x18\x03 \x01(\x0b\x32\x10.common.Location\x12\x16\n\x0e\x63onfig_version\x18\x04 \x01(\t\x12\x1b\n\x13rx_packets_received\x18\x05 \x01(\r\x12\x33\n\x16rx_packets_received_ok\x18\x06 \x01(\rR\x13rxPacketsReceivedOK\x12\x1b\n\x13tx_packets_received\x18\x07 \x01(\r\x12\x1a\n\x12tx_packets_emitted\x18\x08 \x01(\r\x12\x31\n\tmeta_data\x18\n \x03(\x0b\x32\x1e.gw.GatewayStats.MetaDataEntry\x12\x19\n\x08stats_id\x18\x0b \x01(\x0cR\x07statsID\x1a/\n\rMetaDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcd\x04\n\x0cUplinkRXInfo\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12J\n\x14time_since_gps_epoch\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11timeSinceGPSEpoch\x12\x0c\n\x04rssi\x18\x05 \x01(\x05\x12\x19\n\x08lora_snr\x18\x06 \x01(\x01R\x07loRaSNR\x12\x0f\n\x07\x63hannel\x18\x07 \x01(\r\x12\x10\n\x08rf_chain\x18\x08 \x01(\r\x12\r\n\x05\x62oard\x18\t \x01(\r\x12\x0f\n\x07\x61ntenna\x18\n \x01(\r\x12\"\n\x08location\x18\x0b \x01(\x0b\x32\x10.common.Location\x12\x32\n\x13\x66ine_timestamp_type\x18\x0c \x01(\x0e\x32\x15.gw.FineTimestampType\x12>\n\x18\x65ncrypted_fine_timestamp\x18\r \x01(\x0b\x32\x1a.gw.EncryptedFineTimestampH\x00\x12\x36\n\x14plain_fine_timestamp\x18\x0e \x01(\x0b\x32\x16.gw.PlainFineTimestampH\x00\x12\x0f\n\x07\x63ontext\x18\x0f \x01(\x0c\x12\x1b\n\tuplink_id\x18\x10 \x01(\x0cR\x08uplinkID\x12,\n\ncrc_status\x18\x11 \x01(\x0e\x32\r.gw.CRCStatusR\tcrcStatusB\x10\n\x0e\x66ine_timestamp\"\x9b\x04\n\x0e\x44ownlinkTXInfo\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x11\n\tfrequency\x18\x05 \x01(\r\x12\r\n\x05power\x18\x06 \x01(\x05\x12&\n\nmodulation\x18\x07 \x01(\x0e\x32\x12.common.Modulation\x12J\n\x14lora_modulation_info\x18\x08 \x01(\x0b\x32\x16.gw.LoRaModulationInfoH\x00R\x12loRaModulationInfo\x12\x34\n\x13\x66sk_modulation_info\x18\t \x01(\x0b\x32\x15.gw.FSKModulationInfoH\x00\x12\r\n\x05\x62oard\x18\n \x01(\r\x12\x0f\n\x07\x61ntenna\x18\x0b \x01(\r\x12\"\n\x06timing\x18\x0c \x01(\x0e\x32\x12.gw.DownlinkTiming\x12<\n\x17immediately_timing_info\x18\r \x01(\x0b\x32\x19.gw.ImmediatelyTimingInfoH\x01\x12\x30\n\x11\x64\x65lay_timing_info\x18\x0e \x01(\x0b\x32\x13.gw.DelayTimingInfoH\x01\x12\x37\n\x15gps_epoch_timing_info\x18\x0f \x01(\x0b\x32\x16.gw.GPSEpochTimingInfoH\x01\x12\x0f\n\x07\x63ontext\x18\x10 \x01(\x0c\x42\x11\n\x0fmodulation_infoB\r\n\x0btiming_info\"\x17\n\x15ImmediatelyTimingInfo\";\n\x0f\x44\x65layTimingInfo\x12(\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"`\n\x12GPSEpochTimingInfo\x12J\n\x14time_since_gps_epoch\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11timeSinceGPSEpoch\"h\n\x0bUplinkFrame\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTXInfo\x12!\n\x07rx_info\x18\x03 \x01(\x0b\x32\x10.gw.UplinkRXInfo\"k\n\x0eUplinkFrameSet\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTXInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRXInfo\"y\n\rDownlinkFrame\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12#\n\x07tx_info\x18\x02 \x01(\x0b\x32\x12.gw.DownlinkTXInfo\x12\r\n\x05token\x18\x03 \x01(\r\x12\x1f\n\x0b\x64ownlink_id\x18\x04 \x01(\x0cR\ndownlinkID\"m\n\rDownlinkTXAck\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\r\n\x05token\x18\x02 \x01(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x1f\n\x0b\x64ownlink_id\x18\x04 \x01(\x0cR\ndownlinkID\"r\n\x14GatewayConfiguration\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x0f\n\x07version\x18\x02 \x01(\t\x12*\n\x08\x63hannels\x18\x03 \x03(\x0b\x32\x18.gw.ChannelConfiguration\"\x96\x02\n\x14\x43hannelConfiguration\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12&\n\nmodulation\x18\x02 \x01(\x0e\x32\x12.common.Modulation\x12P\n\x16lora_modulation_config\x18\x03 \x01(\x0b\x32\x18.gw.LoRaModulationConfigH\x00R\x14loRaModulationConfig\x12\x38\n\x15\x66sk_modulation_config\x18\x04 \x01(\x0b\x32\x17.gw.FSKModulationConfigH\x00\x12\r\n\x05\x62oard\x18\x05 \x01(\r\x12\x13\n\x0b\x64\x65modulator\x18\x06 \x01(\rB\x13\n\x11modulation_config\"D\n\x14LoRaModulationConfig\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x19\n\x11spreading_factors\x18\x02 \x03(\r\"9\n\x13\x46SKModulationConfig\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\"\xeb\x01\n\x19GatewayCommandExecRequest\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\x12\x16\n\x06\x45xecId\x18\x03 \x01(\x0cR\x06\x65xecID\x12\r\n\x05stdin\x18\x04 \x01(\x0c\x12\x43\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32..gw.GatewayCommandExecRequest.EnvironmentEntry\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x83\x01\n\x1aGatewayCommandExecResponse\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x17\n\x07\x65xec_id\x18\x02 \x01(\x0cR\x06\x65xecID\x12\x0e\n\x06stdout\x18\x03 \x01(\x0c\x12\x0e\n\x06stderr\x18\x04 \x01(\x0c\x12\r\n\x05\x65rror\x18\x05 \x01(\t\"`\n\x17RawPacketForwarderEvent\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x15\n\x06raw_id\x18\x02 \x01(\x0cR\x05rawID\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"b\n\x19RawPacketForwarderCommand\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x15\n\x06raw_id\x18\x02 \x01(\x0cR\x05rawID\x12\x0f\n\x07payload\x18\x03 \x01(\x0c*;\n\x0e\x44ownlinkTiming\x12\x0f\n\x0bIMMEDIATELY\x10\x00\x12\t\n\x05\x44\x45LAY\x10\x01\x12\r\n\tGPS_EPOCH\x10\x02*7\n\x11\x46ineTimestampType\x12\x08\n\x04NONE\x10\x00\x12\r\n\tENCRYPTED\x10\x01\x12\t\n\x05PLAIN\x10\x02*0\n\tCRCStatus\x12\n\n\x06NO_CRC\x10\x00\x12\x0b\n\x07\x42\x41\x44_CRC\x10\x01\x12\n\n\x06\x43RC_OK\x10\x02\x42,Z*github.com/brocaar/chirpstack-api/go/v3/gwb\x06proto3' + serialized_pb=b'\n\x1a\x63hirpstack-api/gw/gw.proto\x12\x02gw\x1a\"chirpstack-api/common/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"\xde\x01\n\x0cUplinkTXInfo\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12&\n\nmodulation\x18\x02 \x01(\x0e\x32\x12.common.Modulation\x12J\n\x14lora_modulation_info\x18\x03 \x01(\x0b\x32\x16.gw.LoRaModulationInfoH\x00R\x12loRaModulationInfo\x12\x34\n\x13\x66sk_modulation_info\x18\x04 \x01(\x0b\x32\x15.gw.FSKModulationInfoH\x00\x42\x11\n\x0fmodulation_info\"t\n\x12LoRaModulationInfo\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x18\n\x10spreading_factor\x18\x02 \x01(\r\x12\x11\n\tcode_rate\x18\x03 \x01(\t\x12\x1e\n\x16polarization_inversion\x18\x04 \x01(\x08\"B\n\x11\x46SKModulationInfo\x12\x1b\n\x13\x66requency_deviation\x18\x01 \x01(\r\x12\x10\n\x08\x64\x61tarate\x18\x02 \x01(\r\"k\n\x16\x45ncryptedFineTimestamp\x12\x15\n\raes_key_index\x18\x01 \x01(\r\x12!\n\x0c\x65ncrypted_ns\x18\x02 \x01(\x0cR\x0b\x65ncryptedNS\x12\x17\n\x07\x66pga_id\x18\x03 \x01(\x0cR\x06\x66pgaID\">\n\x12PlainFineTimestamp\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa9\x03\n\x0cGatewayStats\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\n\n\x02ip\x18\t \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x08location\x18\x03 \x01(\x0b\x32\x10.common.Location\x12\x16\n\x0e\x63onfig_version\x18\x04 \x01(\t\x12\x1b\n\x13rx_packets_received\x18\x05 \x01(\r\x12\x33\n\x16rx_packets_received_ok\x18\x06 \x01(\rR\x13rxPacketsReceivedOK\x12\x1b\n\x13tx_packets_received\x18\x07 \x01(\r\x12\x1a\n\x12tx_packets_emitted\x18\x08 \x01(\r\x12\x31\n\tmeta_data\x18\n \x03(\x0b\x32\x1e.gw.GatewayStats.MetaDataEntry\x12\x19\n\x08stats_id\x18\x0b \x01(\x0cR\x07statsID\x1a/\n\rMetaDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xed\x04\n\x0cUplinkRXInfo\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12J\n\x14time_since_gps_epoch\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11timeSinceGPSEpoch\x12\x0c\n\x04rssi\x18\x05 \x01(\x05\x12\x19\n\x08lora_snr\x18\x06 \x01(\x01R\x07loRaSNR\x12\x0f\n\x07\x63hannel\x18\x07 \x01(\r\x12\x10\n\x08rf_chain\x18\x08 \x01(\r\x12\r\n\x05\x62oard\x18\t \x01(\r\x12\x0f\n\x07\x61ntenna\x18\n \x01(\r\x12\"\n\x08location\x18\x0b \x01(\x0b\x32\x10.common.Location\x12\x32\n\x13\x66ine_timestamp_type\x18\x0c \x01(\x0e\x32\x15.gw.FineTimestampType\x12>\n\x18\x65ncrypted_fine_timestamp\x18\r \x01(\x0b\x32\x1a.gw.EncryptedFineTimestampH\x00\x12\x36\n\x14plain_fine_timestamp\x18\x0e \x01(\x0b\x32\x16.gw.PlainFineTimestampH\x00\x12\x0f\n\x07\x63ontext\x18\x0f \x01(\x0c\x12\x1b\n\tuplink_id\x18\x10 \x01(\x0cR\x08uplinkID\x12,\n\ncrc_status\x18\x11 \x01(\x0e\x32\r.gw.CRCStatusR\tcrcStatus\x12\x1e\n\x10\x66requency_offset\x18\x12 \x01(\x05R\x04\x66offB\x10\n\x0e\x66ine_timestamp\"\x9b\x04\n\x0e\x44ownlinkTXInfo\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x11\n\tfrequency\x18\x05 \x01(\r\x12\r\n\x05power\x18\x06 \x01(\x05\x12&\n\nmodulation\x18\x07 \x01(\x0e\x32\x12.common.Modulation\x12J\n\x14lora_modulation_info\x18\x08 \x01(\x0b\x32\x16.gw.LoRaModulationInfoH\x00R\x12loRaModulationInfo\x12\x34\n\x13\x66sk_modulation_info\x18\t \x01(\x0b\x32\x15.gw.FSKModulationInfoH\x00\x12\r\n\x05\x62oard\x18\n \x01(\r\x12\x0f\n\x07\x61ntenna\x18\x0b \x01(\r\x12\"\n\x06timing\x18\x0c \x01(\x0e\x32\x12.gw.DownlinkTiming\x12<\n\x17immediately_timing_info\x18\r \x01(\x0b\x32\x19.gw.ImmediatelyTimingInfoH\x01\x12\x30\n\x11\x64\x65lay_timing_info\x18\x0e \x01(\x0b\x32\x13.gw.DelayTimingInfoH\x01\x12\x37\n\x15gps_epoch_timing_info\x18\x0f \x01(\x0b\x32\x16.gw.GPSEpochTimingInfoH\x01\x12\x0f\n\x07\x63ontext\x18\x10 \x01(\x0c\x42\x11\n\x0fmodulation_infoB\r\n\x0btiming_info\"\x17\n\x15ImmediatelyTimingInfo\";\n\x0f\x44\x65layTimingInfo\x12(\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"`\n\x12GPSEpochTimingInfo\x12J\n\x14time_since_gps_epoch\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11timeSinceGPSEpoch\"h\n\x0bUplinkFrame\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTXInfo\x12!\n\x07rx_info\x18\x03 \x01(\x0b\x32\x10.gw.UplinkRXInfo\"k\n\x0eUplinkFrameSet\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTXInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRXInfo\"y\n\rDownlinkFrame\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12#\n\x07tx_info\x18\x02 \x01(\x0b\x32\x12.gw.DownlinkTXInfo\x12\r\n\x05token\x18\x03 \x01(\r\x12\x1f\n\x0b\x64ownlink_id\x18\x04 \x01(\x0cR\ndownlinkID\"m\n\rDownlinkTXAck\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\r\n\x05token\x18\x02 \x01(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x1f\n\x0b\x64ownlink_id\x18\x04 \x01(\x0cR\ndownlinkID\"r\n\x14GatewayConfiguration\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x0f\n\x07version\x18\x02 \x01(\t\x12*\n\x08\x63hannels\x18\x03 \x03(\x0b\x32\x18.gw.ChannelConfiguration\"\x96\x02\n\x14\x43hannelConfiguration\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12&\n\nmodulation\x18\x02 \x01(\x0e\x32\x12.common.Modulation\x12P\n\x16lora_modulation_config\x18\x03 \x01(\x0b\x32\x18.gw.LoRaModulationConfigH\x00R\x14loRaModulationConfig\x12\x38\n\x15\x66sk_modulation_config\x18\x04 \x01(\x0b\x32\x17.gw.FSKModulationConfigH\x00\x12\r\n\x05\x62oard\x18\x05 \x01(\r\x12\x13\n\x0b\x64\x65modulator\x18\x06 \x01(\rB\x13\n\x11modulation_config\"D\n\x14LoRaModulationConfig\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x19\n\x11spreading_factors\x18\x02 \x03(\r\"9\n\x13\x46SKModulationConfig\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\"\xeb\x01\n\x19GatewayCommandExecRequest\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\x12\x16\n\x06\x45xecId\x18\x03 \x01(\x0cR\x06\x65xecID\x12\r\n\x05stdin\x18\x04 \x01(\x0c\x12\x43\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32..gw.GatewayCommandExecRequest.EnvironmentEntry\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x83\x01\n\x1aGatewayCommandExecResponse\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x17\n\x07\x65xec_id\x18\x02 \x01(\x0cR\x06\x65xecID\x12\x0e\n\x06stdout\x18\x03 \x01(\x0c\x12\x0e\n\x06stderr\x18\x04 \x01(\x0c\x12\r\n\x05\x65rror\x18\x05 \x01(\t\"`\n\x17RawPacketForwarderEvent\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x15\n\x06raw_id\x18\x02 \x01(\x0cR\x05rawID\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"b\n\x19RawPacketForwarderCommand\x12\x1d\n\ngateway_id\x18\x01 \x01(\x0cR\tgatewayID\x12\x15\n\x06raw_id\x18\x02 \x01(\x0cR\x05rawID\x12\x0f\n\x07payload\x18\x03 \x01(\x0c*;\n\x0e\x44ownlinkTiming\x12\x0f\n\x0bIMMEDIATELY\x10\x00\x12\t\n\x05\x44\x45LAY\x10\x01\x12\r\n\tGPS_EPOCH\x10\x02*7\n\x11\x46ineTimestampType\x12\x08\n\x04NONE\x10\x00\x12\r\n\tENCRYPTED\x10\x01\x12\t\n\x05PLAIN\x10\x02*0\n\tCRCStatus\x12\n\n\x06NO_CRC\x10\x00\x12\x0b\n\x07\x42\x41\x44_CRC\x10\x01\x12\n\n\x06\x43RC_OK\x10\x02\x42,Z*github.com/brocaar/chirpstack-api/go/v3/gwb\x06proto3' , dependencies=[chirpstack__api_dot_common_dot_common__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) @@ -47,8 +47,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4010, - serialized_end=4069, + serialized_start=4042, + serialized_end=4101, ) _sym_db.RegisterEnumDescriptor(_DOWNLINKTIMING) @@ -74,8 +74,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4071, - serialized_end=4126, + serialized_start=4103, + serialized_end=4158, ) _sym_db.RegisterEnumDescriptor(_FINETIMESTAMPTYPE) @@ -101,8 +101,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4128, - serialized_end=4176, + serialized_start=4160, + serialized_end=4208, ) _sym_db.RegisterEnumDescriptor(_CRCSTATUS) @@ -597,6 +597,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, json_name='crcStatus', file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='frequency_offset', full_name='gw.UplinkRXInfo.frequency_offset', index=16, + number=18, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, json_name='foff', file=DESCRIPTOR), ], extensions=[ ], @@ -613,7 +620,7 @@ index=0, containing_type=None, fields=[]), ], serialized_start=1148, - serialized_end=1737, + serialized_end=1769, ) @@ -733,8 +740,8 @@ name='timing_info', full_name='gw.DownlinkTXInfo.timing_info', index=1, containing_type=None, fields=[]), ], - serialized_start=1740, - serialized_end=2279, + serialized_start=1772, + serialized_end=2311, ) @@ -757,8 +764,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2281, - serialized_end=2304, + serialized_start=2313, + serialized_end=2336, ) @@ -788,8 +795,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2306, - serialized_end=2365, + serialized_start=2338, + serialized_end=2397, ) @@ -819,8 +826,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2367, - serialized_end=2463, + serialized_start=2399, + serialized_end=2495, ) @@ -864,8 +871,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2465, - serialized_end=2569, + serialized_start=2497, + serialized_end=2601, ) @@ -909,8 +916,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2571, - serialized_end=2678, + serialized_start=2603, + serialized_end=2710, ) @@ -961,8 +968,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2680, - serialized_end=2801, + serialized_start=2712, + serialized_end=2833, ) @@ -1013,8 +1020,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2803, - serialized_end=2912, + serialized_start=2835, + serialized_end=2944, ) @@ -1058,8 +1065,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2914, - serialized_end=3028, + serialized_start=2946, + serialized_end=3060, ) @@ -1127,8 +1134,8 @@ name='modulation_config', full_name='gw.ChannelConfiguration.modulation_config', index=0, containing_type=None, fields=[]), ], - serialized_start=3031, - serialized_end=3309, + serialized_start=3063, + serialized_end=3341, ) @@ -1165,8 +1172,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3311, - serialized_end=3379, + serialized_start=3343, + serialized_end=3411, ) @@ -1203,8 +1210,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3381, - serialized_end=3438, + serialized_start=3413, + serialized_end=3470, ) @@ -1241,8 +1248,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3626, - serialized_end=3676, + serialized_start=3658, + serialized_end=3708, ) _GATEWAYCOMMANDEXECREQUEST = _descriptor.Descriptor( @@ -1299,8 +1306,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3441, - serialized_end=3676, + serialized_start=3473, + serialized_end=3708, ) @@ -1358,8 +1365,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3679, - serialized_end=3810, + serialized_start=3711, + serialized_end=3842, ) @@ -1403,8 +1410,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3812, - serialized_end=3908, + serialized_start=3844, + serialized_end=3940, ) @@ -1448,8 +1455,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3910, - serialized_end=4008, + serialized_start=3942, + serialized_end=4040, ) _UPLINKTXINFO.fields_by_name['modulation'].enum_type = chirpstack__api_dot_common_dot_common__pb2._MODULATION diff --git a/rust/proto/chirpstack-api/gw/gw.proto b/rust/proto/chirpstack-api/gw/gw.proto index 90a67371..246df65b 100644 --- a/rust/proto/chirpstack-api/gw/gw.proto +++ b/rust/proto/chirpstack-api/gw/gw.proto @@ -186,6 +186,10 @@ message UplinkRXInfo { // CRC status. CRCStatus crc_status = 17 [json_name = "crcStatus"]; + + // Frequency offset from the centre frequency + int32 frequency_offset = 18 [json_name = "foff"]; + } message DownlinkTXInfo { diff --git a/swagger/as/external/api/device.swagger.json b/swagger/as/external/api/device.swagger.json index 7df7ed26..f23acee3 100644 --- a/swagger/as/external/api/device.swagger.json +++ b/swagger/as/external/api/device.swagger.json @@ -1126,6 +1126,11 @@ "crcStatus": { "$ref": "#/definitions/gwCRCStatus", "description": "CRC status." + }, + "foff": { + "type": "integer", + "format": "int32", + "title": "Frequency offset from the centre frequency" } } }, diff --git a/swagger/as/external/api/gateway.swagger.json b/swagger/as/external/api/gateway.swagger.json index 3326feaf..ee7f8ce8 100644 --- a/swagger/as/external/api/gateway.swagger.json +++ b/swagger/as/external/api/gateway.swagger.json @@ -922,6 +922,11 @@ "crcStatus": { "$ref": "#/definitions/gwCRCStatus", "description": "CRC status." + }, + "foff": { + "type": "integer", + "format": "int32", + "title": "Frequency offset from the centre frequency" } } },