gw

package
v2.0.0-test.1+incompat... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2018 License: MIT Imports: 10 Imported by: 64

Documentation

Index

Constants

View Source
const (
	ErrTooLate          = "TOO_LATE"
	ErrTooEarly         = "TOO_EARLY"
	ErrCollisionPacket  = "COLLISION_PACKET"
	ErrCollisionBeackon = "COLLISION_BEACON"
	ErrTXFrequency      = "TX_FREQ"
	ErrTXPower          = "TX_POWER"
	ErrGPSUnlocked      = "GPS_UNLOCKED"
)

Possible TX errors.

Variables

This section is empty.

Functions

This section is empty.

Types

type Channel

type Channel struct {
	Modulation       band.Modulation `json:"modulation"`
	Frequency        int             `json:"frequency"`
	Bandwidth        int             `json:"bandwidth"`
	Bitrate          int             `json:"bitrate,omitempty"`          // FSK modulation only
	SpreadingFactors []int           `json:"spreadingFactors,omitempty"` // LoRa modulation only
}

Channel defines a gateay channel.

type DownlinkFrame

type DownlinkFrame struct {
	// PHYPayload.
	PhyPayload []byte `protobuf:"bytes,1,opt,name=phy_payload,json=phyPayload,proto3" json:"phy_payload,omitempty"`
	// TX meta-data.
	TxInfo *DownlinkTXInfo `protobuf:"bytes,2,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// Token (uint16 value).
	Token                uint32   `protobuf:"varint,3,opt,name=token,proto3" json:"token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DownlinkFrame) Descriptor

func (*DownlinkFrame) Descriptor() ([]byte, []int)

func (*DownlinkFrame) GetPhyPayload

func (m *DownlinkFrame) GetPhyPayload() []byte

func (*DownlinkFrame) GetToken

func (m *DownlinkFrame) GetToken() uint32

func (*DownlinkFrame) GetTxInfo

func (m *DownlinkFrame) GetTxInfo() *DownlinkTXInfo

func (*DownlinkFrame) ProtoMessage

func (*DownlinkFrame) ProtoMessage()

func (*DownlinkFrame) Reset

func (m *DownlinkFrame) Reset()

func (*DownlinkFrame) String

func (m *DownlinkFrame) String() string

func (*DownlinkFrame) XXX_DiscardUnknown

func (m *DownlinkFrame) XXX_DiscardUnknown()

func (*DownlinkFrame) XXX_Marshal

func (m *DownlinkFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DownlinkFrame) XXX_Merge

func (dst *DownlinkFrame) XXX_Merge(src proto.Message)

func (*DownlinkFrame) XXX_Size

func (m *DownlinkFrame) XXX_Size() int

func (*DownlinkFrame) XXX_Unmarshal

func (m *DownlinkFrame) XXX_Unmarshal(b []byte) error

type DownlinkTXInfo

type DownlinkTXInfo struct {
	// Gateway ID.
	GatewayId []byte `protobuf:"bytes,1,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
	// Frame must be sent immediately.
	Immediately bool `protobuf:"varint,2,opt,name=immediately,proto3" json:"immediately,omitempty"`
	// Emit frame at the given time since GPS epoch.
	TimeSinceGpsEpoch *duration.Duration `protobuf:"bytes,3,opt,name=time_since_gps_epoch,json=timeSinceGpsEpoch,proto3" json:"time_since_gps_epoch,omitempty"`
	// Emit the frame at the given gateway internal timestamp.
	Timestamp uint32 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// TX frequency (in Hz).
	Frequency uint32 `protobuf:"varint,5,opt,name=frequency,proto3" json:"frequency,omitempty"`
	// TX power (in dBm).
	Power int32 `protobuf:"varint,6,opt,name=power,proto3" json:"power,omitempty"`
	// Modulation.
	Modulation common.Modulation `protobuf:"varint,7,opt,name=modulation,proto3,enum=common.Modulation" json:"modulation,omitempty"`
	// Types that are valid to be assigned to ModulationInfo:
	//	*DownlinkTXInfo_LoraModulationInfo
	//	*DownlinkTXInfo_FskModulationInfo
	ModulationInfo isDownlinkTXInfo_ModulationInfo `protobuf_oneof:"modulation_info"`
	// The board identifier for emitting the frame.
	Board uint32 `protobuf:"varint,10,opt,name=board,proto3" json:"board,omitempty"`
	// The antenna identifier for emitting the frame.
	Antenna              uint32   `protobuf:"varint,11,opt,name=antenna,proto3" json:"antenna,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DownlinkTXInfo) Descriptor

func (*DownlinkTXInfo) Descriptor() ([]byte, []int)

func (*DownlinkTXInfo) GetAntenna

func (m *DownlinkTXInfo) GetAntenna() uint32

func (*DownlinkTXInfo) GetBoard

func (m *DownlinkTXInfo) GetBoard() uint32

func (*DownlinkTXInfo) GetFrequency

func (m *DownlinkTXInfo) GetFrequency() uint32

func (*DownlinkTXInfo) GetFskModulationInfo

func (m *DownlinkTXInfo) GetFskModulationInfo() *FSKModulationInfo

func (*DownlinkTXInfo) GetGatewayId

func (m *DownlinkTXInfo) GetGatewayId() []byte

func (*DownlinkTXInfo) GetImmediately

func (m *DownlinkTXInfo) GetImmediately() bool

func (*DownlinkTXInfo) GetLoraModulationInfo

func (m *DownlinkTXInfo) GetLoraModulationInfo() *LoRaModulationInfo

func (*DownlinkTXInfo) GetModulation

func (m *DownlinkTXInfo) GetModulation() common.Modulation

func (*DownlinkTXInfo) GetModulationInfo

func (m *DownlinkTXInfo) GetModulationInfo() isDownlinkTXInfo_ModulationInfo

func (*DownlinkTXInfo) GetPower

func (m *DownlinkTXInfo) GetPower() int32

func (*DownlinkTXInfo) GetTimeSinceGpsEpoch

func (m *DownlinkTXInfo) GetTimeSinceGpsEpoch() *duration.Duration

func (*DownlinkTXInfo) GetTimestamp

func (m *DownlinkTXInfo) GetTimestamp() uint32

func (*DownlinkTXInfo) ProtoMessage

func (*DownlinkTXInfo) ProtoMessage()

func (*DownlinkTXInfo) Reset

func (m *DownlinkTXInfo) Reset()

func (*DownlinkTXInfo) String

func (m *DownlinkTXInfo) String() string

func (*DownlinkTXInfo) XXX_DiscardUnknown

func (m *DownlinkTXInfo) XXX_DiscardUnknown()

func (*DownlinkTXInfo) XXX_Marshal

func (m *DownlinkTXInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DownlinkTXInfo) XXX_Merge

func (dst *DownlinkTXInfo) XXX_Merge(src proto.Message)

func (*DownlinkTXInfo) XXX_OneofFuncs

func (*DownlinkTXInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*DownlinkTXInfo) XXX_Size

func (m *DownlinkTXInfo) XXX_Size() int

func (*DownlinkTXInfo) XXX_Unmarshal

func (m *DownlinkTXInfo) XXX_Unmarshal(b []byte) error

type DownlinkTXInfo_FskModulationInfo

type DownlinkTXInfo_FskModulationInfo struct {
	FskModulationInfo *FSKModulationInfo `protobuf:"bytes,9,opt,name=fsk_modulation_info,json=fskModulationInfo,proto3,oneof"`
}

type DownlinkTXInfo_LoraModulationInfo

type DownlinkTXInfo_LoraModulationInfo struct {
	LoraModulationInfo *LoRaModulationInfo `protobuf:"bytes,8,opt,name=lora_modulation_info,json=loraModulationInfo,proto3,oneof"`
}

type Duration

type Duration time.Duration

Duration implements time.Duration, but encoded to json, uses the String formatting.

func (Duration) MarshalJSON

func (d Duration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (*Duration) UnmarshalJSON

func (d *Duration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type FSKModulationInfo

type FSKModulationInfo struct {
	// Bandwidth.
	Bandwidth uint32 `protobuf:"varint,1,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
	// Bitrate.
	Bitrate              uint32   `protobuf:"varint,2,opt,name=bitrate,proto3" json:"bitrate,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FSKModulationInfo) Descriptor

func (*FSKModulationInfo) Descriptor() ([]byte, []int)

func (*FSKModulationInfo) GetBandwidth

func (m *FSKModulationInfo) GetBandwidth() uint32

func (*FSKModulationInfo) GetBitrate

func (m *FSKModulationInfo) GetBitrate() uint32

func (*FSKModulationInfo) ProtoMessage

func (*FSKModulationInfo) ProtoMessage()

func (*FSKModulationInfo) Reset

func (m *FSKModulationInfo) Reset()

func (*FSKModulationInfo) String

func (m *FSKModulationInfo) String() string

func (*FSKModulationInfo) XXX_DiscardUnknown

func (m *FSKModulationInfo) XXX_DiscardUnknown()

func (*FSKModulationInfo) XXX_Marshal

func (m *FSKModulationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FSKModulationInfo) XXX_Merge

func (dst *FSKModulationInfo) XXX_Merge(src proto.Message)

func (*FSKModulationInfo) XXX_Size

func (m *FSKModulationInfo) XXX_Size() int

func (*FSKModulationInfo) XXX_Unmarshal

func (m *FSKModulationInfo) XXX_Unmarshal(b []byte) error

type GatewayConfigPacket

type GatewayConfigPacket struct {
	MAC      lorawan.EUI64 `json:"mac"`
	Version  string        `json:"version"`
	Channels []Channel     `json:"channels"`
}

GatewayConfigPacket contains the configuration to be pushed to the gateway.

type GatewayStatsPacket

type GatewayStatsPacket struct {
	MAC                 lorawan.EUI64          `json:"mac"`
	Time                time.Time              `json:"time,omitempty"`
	Latitude            *float64               `json:"latitude,omitempty"`
	Longitude           *float64               `json:"longitude,omitempty"`
	Altitude            *float64               `json:"altitude,omitempty"`
	RXPacketsReceived   int                    `json:"rxPacketsReceived"`
	RXPacketsReceivedOK int                    `json:"rxPacketsReceivedOK"`
	TXPacketsReceived   int                    `json:"txPacketsReceived"`
	TXPacketsEmitted    int                    `json:"txPacketsEmitted"`
	ConfigVersion       string                 `json:"configVersion,omitempty"`
	CustomData          map[string]interface{} `json:"customData,omitempty"` // custom fields defined by alternative packet_forwarder versions (e.g. TTN sends platform, contactEmail, and description)
}

GatewayStatsPacket contains the information of a gateway.

type LoRaModulationInfo

type LoRaModulationInfo struct {
	// Bandwidth.
	Bandwidth uint32 `protobuf:"varint,1,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
	// Speading-factor.
	SpreadingFactor uint32 `protobuf:"varint,2,opt,name=spreading_factor,json=spreadingFactor,proto3" json:"spreading_factor,omitempty"`
	// Code-rate.
	CodeRate string `protobuf:"bytes,3,opt,name=code_rate,json=codeRate,proto3" json:"code_rate,omitempty"`
	// Polarization inversion.
	PolarizationInversion bool     `protobuf:"varint,4,opt,name=polarization_inversion,json=polarizationInversion,proto3" json:"polarization_inversion,omitempty"`
	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
	XXX_unrecognized      []byte   `json:"-"`
	XXX_sizecache         int32    `json:"-"`
}

func (*LoRaModulationInfo) Descriptor

func (*LoRaModulationInfo) Descriptor() ([]byte, []int)

func (*LoRaModulationInfo) GetBandwidth

func (m *LoRaModulationInfo) GetBandwidth() uint32

func (*LoRaModulationInfo) GetCodeRate

func (m *LoRaModulationInfo) GetCodeRate() string

func (*LoRaModulationInfo) GetPolarizationInversion

func (m *LoRaModulationInfo) GetPolarizationInversion() bool

func (*LoRaModulationInfo) GetSpreadingFactor

func (m *LoRaModulationInfo) GetSpreadingFactor() uint32

func (*LoRaModulationInfo) ProtoMessage

func (*LoRaModulationInfo) ProtoMessage()

func (*LoRaModulationInfo) Reset

func (m *LoRaModulationInfo) Reset()

func (*LoRaModulationInfo) String

func (m *LoRaModulationInfo) String() string

func (*LoRaModulationInfo) XXX_DiscardUnknown

func (m *LoRaModulationInfo) XXX_DiscardUnknown()

func (*LoRaModulationInfo) XXX_Marshal

func (m *LoRaModulationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoRaModulationInfo) XXX_Merge

func (dst *LoRaModulationInfo) XXX_Merge(src proto.Message)

func (*LoRaModulationInfo) XXX_Size

func (m *LoRaModulationInfo) XXX_Size() int

func (*LoRaModulationInfo) XXX_Unmarshal

func (m *LoRaModulationInfo) XXX_Unmarshal(b []byte) error

type Location

type Location struct {
	// Latitude.
	Latitude float64 `protobuf:"fixed64,1,opt,name=latitude,proto3" json:"latitude,omitempty"`
	// Longitude.
	Longitude float64 `protobuf:"fixed64,2,opt,name=longitude,proto3" json:"longitude,omitempty"`
	// Altitude.
	Altitude             float64  `protobuf:"fixed64,3,opt,name=altitude,proto3" json:"altitude,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Location) Descriptor

func (*Location) Descriptor() ([]byte, []int)

func (*Location) GetAltitude

func (m *Location) GetAltitude() float64

func (*Location) GetLatitude

func (m *Location) GetLatitude() float64

func (*Location) GetLongitude

func (m *Location) GetLongitude() float64

func (*Location) ProtoMessage

func (*Location) ProtoMessage()

func (*Location) Reset

func (m *Location) Reset()

func (*Location) String

func (m *Location) String() string

func (*Location) XXX_DiscardUnknown

func (m *Location) XXX_DiscardUnknown()

func (*Location) XXX_Marshal

func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Location) XXX_Merge

func (dst *Location) XXX_Merge(src proto.Message)

func (*Location) XXX_Size

func (m *Location) XXX_Size() int

func (*Location) XXX_Unmarshal

func (m *Location) XXX_Unmarshal(b []byte) error

type RXInfo

type RXInfo struct {
	MAC               lorawan.EUI64 `json:"mac"`                         // MAC address of the gateway
	Time              *time.Time    `json:"time,omitempty"`              // Receive timestamp (only set when the gateway has a GPS time-source)
	TimeSinceGPSEpoch *Duration     `json:"timeSinceGPSEpoch,omitempty"` // Time since GPS epoch (1980-01-06, only set when the gateway has a GPS time source)
	Timestamp         uint32        `json:"timestamp"`                   // gateway internal receive timestamp with microsecond precision, will rollover every ~ 72 minutes
	Frequency         int           `json:"frequency"`                   // frequency in Hz
	Channel           int           `json:"channel"`                     // concentrator IF channel used for RX
	RFChain           int           `json:"rfChain"`                     // RF chain used for RX
	CRCStatus         int           `json:"crcStatus"`                   // 1 = OK, -1 = fail, 0 = no CRC
	CodeRate          string        `json:"codeRate"`                    // ECC code rate
	RSSI              int           `json:"rssi"`                        // RSSI in dBm
	LoRaSNR           float64       `json:"loRaSNR"`                     // LoRa signal-to-noise ratio in dB
	Size              int           `json:"size"`                        // packet payload size
	DataRate          band.DataRate `json:"dataRate"`                    // RX datarate (either LoRa or FSK)
	Board             int           `json:"board"`                       // Concentrator board used for RX
	Antenna           int           `json:"antenna"`                     // Antenna number on which signal has been received
}

RXInfo contains the RX information.

type RXPacket

type RXPacket struct {
	RXInfo     RXInfo             `json:"rxInfo"`
	PHYPayload lorawan.PHYPayload `json:"phyPayload"`
}

RXPacket contains the PHYPayload received from the gateway.

type RXPacketBytes

type RXPacketBytes struct {
	RXInfo     RXInfo `json:"rxInfo"`
	PHYPayload []byte `json:"phyPayload"`
}

RXPacketBytes contains the PHYPayload as []byte received from the gateway.

type TXAck

type TXAck struct {
	MAC   lorawan.EUI64 `json:"mac"`
	Token uint16        `json:"token"`
	Error string        `json:"error,omitempty"`
}

TXAck contains the acknowledgement of the requested frame transmission or an error.

type TXInfo

type TXInfo struct {
	MAC               lorawan.EUI64 `json:"mac"`                         // MAC address of the gateway
	Immediately       bool          `json:"immediately"`                 // send the packet immediately (ignore Time)
	TimeSinceGPSEpoch *Duration     `json:"timeSinceGPSEpoch,omitempty"` // Transmit at time since GPS epoch (since 1980-01-06, only possible when the gateway has a GPS time source)
	Timestamp         *uint32       `json:"timestamp,omitempty"`         // transmit at gateway internal timestamp (microsecond precision, will rollover every ~ 72 minutes)
	Frequency         int           `json:"frequency"`                   // frequency in Hz
	Power             int           `json:"power"`                       // TX power to use in dBm
	DataRate          band.DataRate `json:"dataRate"`                    // TX datarate (either LoRa or FSK)
	CodeRate          string        `json:"codeRate"`                    // ECC code rate
	IPol              *bool         `json:"iPol"`                        // when left nil, the gateway-bridge will use the default (true for LoRa modulation)
	Board             int           `json:"board"`                       // Concentrator board used for RX
	Antenna           int           `json:"antenna"`                     // Antenna number on which signal has been received
}

TXInfo contains the information used for TX.

type TXPacket

type TXPacket struct {
	Token      uint16             `json:"token"`
	TXInfo     TXInfo             `json:"txInfo"`
	PHYPayload lorawan.PHYPayload `json:"phyPayload"`
}

TXPacket contains the PHYPayload which should be send to the gateway.

type TXPacketBytes

type TXPacketBytes struct {
	Token      uint16 `json:"token"`
	TXInfo     TXInfo `json:"txInfo"`
	PHYPayload []byte `json:"phyPayload"`
}

TXPacketBytes contains the PHYPayload as []byte which should be send to the gateway.

type UplinkFrame

type UplinkFrame struct {
	// PHYPayload.
	PhyPayload []byte `protobuf:"bytes,1,opt,name=phy_payload,json=phyPayload,proto3" json:"phy_payload,omitempty"`
	// TX meta-data.
	TxInfo *UplinkTXInfo `protobuf:"bytes,2,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// RX meta-data.
	RxInfo               *UplinkRXInfo `protobuf:"bytes,3,opt,name=rx_info,json=rxInfo,proto3" json:"rx_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*UplinkFrame) Descriptor

func (*UplinkFrame) Descriptor() ([]byte, []int)

func (*UplinkFrame) GetPhyPayload

func (m *UplinkFrame) GetPhyPayload() []byte

func (*UplinkFrame) GetRxInfo

func (m *UplinkFrame) GetRxInfo() *UplinkRXInfo

func (*UplinkFrame) GetTxInfo

func (m *UplinkFrame) GetTxInfo() *UplinkTXInfo

func (*UplinkFrame) ProtoMessage

func (*UplinkFrame) ProtoMessage()

func (*UplinkFrame) Reset

func (m *UplinkFrame) Reset()

func (*UplinkFrame) String

func (m *UplinkFrame) String() string

func (*UplinkFrame) XXX_DiscardUnknown

func (m *UplinkFrame) XXX_DiscardUnknown()

func (*UplinkFrame) XXX_Marshal

func (m *UplinkFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UplinkFrame) XXX_Merge

func (dst *UplinkFrame) XXX_Merge(src proto.Message)

func (*UplinkFrame) XXX_Size

func (m *UplinkFrame) XXX_Size() int

func (*UplinkFrame) XXX_Unmarshal

func (m *UplinkFrame) XXX_Unmarshal(b []byte) error

type UplinkFrameSet

type UplinkFrameSet struct {
	// PHYPayload.
	PhyPayload []byte `protobuf:"bytes,1,opt,name=phy_payload,json=phyPayload,proto3" json:"phy_payload,omitempty"`
	// TX meta-data.
	TxInfo *UplinkTXInfo `protobuf:"bytes,2,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// RX meta-data set.
	RxInfo               []*UplinkRXInfo `protobuf:"bytes,3,rep,name=rx_info,json=rxInfo,proto3" json:"rx_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*UplinkFrameSet) Descriptor

func (*UplinkFrameSet) Descriptor() ([]byte, []int)

func (*UplinkFrameSet) GetPhyPayload

func (m *UplinkFrameSet) GetPhyPayload() []byte

func (*UplinkFrameSet) GetRxInfo

func (m *UplinkFrameSet) GetRxInfo() []*UplinkRXInfo

func (*UplinkFrameSet) GetTxInfo

func (m *UplinkFrameSet) GetTxInfo() *UplinkTXInfo

func (*UplinkFrameSet) ProtoMessage

func (*UplinkFrameSet) ProtoMessage()

func (*UplinkFrameSet) Reset

func (m *UplinkFrameSet) Reset()

func (*UplinkFrameSet) String

func (m *UplinkFrameSet) String() string

func (*UplinkFrameSet) XXX_DiscardUnknown

func (m *UplinkFrameSet) XXX_DiscardUnknown()

func (*UplinkFrameSet) XXX_Marshal

func (m *UplinkFrameSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UplinkFrameSet) XXX_Merge

func (dst *UplinkFrameSet) XXX_Merge(src proto.Message)

func (*UplinkFrameSet) XXX_Size

func (m *UplinkFrameSet) XXX_Size() int

func (*UplinkFrameSet) XXX_Unmarshal

func (m *UplinkFrameSet) XXX_Unmarshal(b []byte) error

type UplinkRXInfo

type UplinkRXInfo struct {
	// Gateway ID.
	GatewayId []byte `protobuf:"bytes,1,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
	// RX time (only set when the gateway has a GPS module).
	Time *timestamp.Timestamp `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
	// RX time since GPS epoch (only set when the gateway has a GPS module).
	TimeSinceGpsEpoch *duration.Duration `protobuf:"bytes,3,opt,name=time_since_gps_epoch,json=timeSinceGpsEpoch,proto3" json:"time_since_gps_epoch,omitempty"`
	// Gateway internal timestamp.
	Timestamp uint32 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// RSSI.
	Rssi int32 `protobuf:"varint,5,opt,name=rssi,proto3" json:"rssi,omitempty"`
	// LoRa SNR.
	LoraSnr float64 `protobuf:"fixed64,6,opt,name=lora_snr,json=loraSnr,proto3" json:"lora_snr,omitempty"`
	// Channel.
	Channel uint32 `protobuf:"varint,7,opt,name=channel,proto3" json:"channel,omitempty"`
	// RF Chain.
	RfChain uint32 `protobuf:"varint,8,opt,name=rf_chain,json=rfChain,proto3" json:"rf_chain,omitempty"`
	// Board.
	Board uint32 `protobuf:"varint,9,opt,name=board,proto3" json:"board,omitempty"`
	// Antenna.
	Antenna uint32 `protobuf:"varint,10,opt,name=antenna,proto3" json:"antenna,omitempty"`
	// Location.
	Location             *Location `protobuf:"bytes,11,opt,name=location,proto3" json:"location,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*UplinkRXInfo) Descriptor

func (*UplinkRXInfo) Descriptor() ([]byte, []int)

func (*UplinkRXInfo) GetAntenna

func (m *UplinkRXInfo) GetAntenna() uint32

func (*UplinkRXInfo) GetBoard

func (m *UplinkRXInfo) GetBoard() uint32

func (*UplinkRXInfo) GetChannel

func (m *UplinkRXInfo) GetChannel() uint32

func (*UplinkRXInfo) GetGatewayId

func (m *UplinkRXInfo) GetGatewayId() []byte

func (*UplinkRXInfo) GetLocation

func (m *UplinkRXInfo) GetLocation() *Location

func (*UplinkRXInfo) GetLoraSnr

func (m *UplinkRXInfo) GetLoraSnr() float64

func (*UplinkRXInfo) GetRfChain

func (m *UplinkRXInfo) GetRfChain() uint32

func (*UplinkRXInfo) GetRssi

func (m *UplinkRXInfo) GetRssi() int32

func (*UplinkRXInfo) GetTime

func (m *UplinkRXInfo) GetTime() *timestamp.Timestamp

func (*UplinkRXInfo) GetTimeSinceGpsEpoch

func (m *UplinkRXInfo) GetTimeSinceGpsEpoch() *duration.Duration

func (*UplinkRXInfo) GetTimestamp

func (m *UplinkRXInfo) GetTimestamp() uint32

func (*UplinkRXInfo) ProtoMessage

func (*UplinkRXInfo) ProtoMessage()

func (*UplinkRXInfo) Reset

func (m *UplinkRXInfo) Reset()

func (*UplinkRXInfo) String

func (m *UplinkRXInfo) String() string

func (*UplinkRXInfo) XXX_DiscardUnknown

func (m *UplinkRXInfo) XXX_DiscardUnknown()

func (*UplinkRXInfo) XXX_Marshal

func (m *UplinkRXInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UplinkRXInfo) XXX_Merge

func (dst *UplinkRXInfo) XXX_Merge(src proto.Message)

func (*UplinkRXInfo) XXX_Size

func (m *UplinkRXInfo) XXX_Size() int

func (*UplinkRXInfo) XXX_Unmarshal

func (m *UplinkRXInfo) XXX_Unmarshal(b []byte) error

type UplinkTXInfo

type UplinkTXInfo struct {
	// Frequency (Hz).
	Frequency uint32 `protobuf:"varint,1,opt,name=frequency,proto3" json:"frequency,omitempty"`
	// Modulation.
	Modulation common.Modulation `protobuf:"varint,2,opt,name=modulation,proto3,enum=common.Modulation" json:"modulation,omitempty"`
	// Types that are valid to be assigned to ModulationInfo:
	//	*UplinkTXInfo_LoraModulationInfo
	//	*UplinkTXInfo_FskModulationInfo
	ModulationInfo       isUplinkTXInfo_ModulationInfo `protobuf_oneof:"modulation_info"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

func (*UplinkTXInfo) Descriptor

func (*UplinkTXInfo) Descriptor() ([]byte, []int)

func (*UplinkTXInfo) GetFrequency

func (m *UplinkTXInfo) GetFrequency() uint32

func (*UplinkTXInfo) GetFskModulationInfo

func (m *UplinkTXInfo) GetFskModulationInfo() *FSKModulationInfo

func (*UplinkTXInfo) GetLoraModulationInfo

func (m *UplinkTXInfo) GetLoraModulationInfo() *LoRaModulationInfo

func (*UplinkTXInfo) GetModulation

func (m *UplinkTXInfo) GetModulation() common.Modulation

func (*UplinkTXInfo) GetModulationInfo

func (m *UplinkTXInfo) GetModulationInfo() isUplinkTXInfo_ModulationInfo

func (*UplinkTXInfo) ProtoMessage

func (*UplinkTXInfo) ProtoMessage()

func (*UplinkTXInfo) Reset

func (m *UplinkTXInfo) Reset()

func (*UplinkTXInfo) String

func (m *UplinkTXInfo) String() string

func (*UplinkTXInfo) XXX_DiscardUnknown

func (m *UplinkTXInfo) XXX_DiscardUnknown()

func (*UplinkTXInfo) XXX_Marshal

func (m *UplinkTXInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UplinkTXInfo) XXX_Merge

func (dst *UplinkTXInfo) XXX_Merge(src proto.Message)

func (*UplinkTXInfo) XXX_OneofFuncs

func (*UplinkTXInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*UplinkTXInfo) XXX_Size

func (m *UplinkTXInfo) XXX_Size() int

func (*UplinkTXInfo) XXX_Unmarshal

func (m *UplinkTXInfo) XXX_Unmarshal(b []byte) error

type UplinkTXInfo_FskModulationInfo

type UplinkTXInfo_FskModulationInfo struct {
	FskModulationInfo *FSKModulationInfo `protobuf:"bytes,4,opt,name=fsk_modulation_info,json=fskModulationInfo,proto3,oneof"`
}

type UplinkTXInfo_LoraModulationInfo

type UplinkTXInfo_LoraModulationInfo struct {
	LoraModulationInfo *LoRaModulationInfo `protobuf:"bytes,3,opt,name=lora_modulation_info,json=loraModulationInfo,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL