Class GatewayStationMessage
A message either side of a session sends.
public sealed record GatewayStationMessage : IEquatable<GatewayStationMessage>
- Inheritance
-
GatewayStationMessage
- Implements
- Inherited Members
Remarks
Every message names its kind, and carries the fields that kind uses; the rest read as
null, zero, or empty. Build one with an initializer and write it with
Encode(GatewayStationMessage), or read one with Parse(string)
or Heard(ReadOnlySpan<byte>, byte, uint, GatewayStationLevels?).
Constructors
GatewayStationMessage(GatewayStationKind)
A message either side of a session sends.
public GatewayStationMessage(GatewayStationKind Kind)
Parameters
KindGatewayStationKindWhich kind of message.
Remarks
Every message names its kind, and carries the fields that kind uses; the rest read as
null, zero, or empty. Build one with an initializer and write it with
Encode(GatewayStationMessage), or read one with Parse(string)
or Heard(ReadOnlySpan<byte>, byte, uint, GatewayStationLevels?).
Properties
Class
Which class of downlink this is: 0 for A, 1 for B, 2 for C.
public byte Class { get; init; }
Property Value
DataRate
The data rate a frame arrived at.
public byte DataRate { get; init; }
Property Value
DataRates
A configuration's data rates, indexed by data-rate number, with null for a
number the table leaves undefined.
public IReadOnlyList<GatewayStationDataRate?> DataRates { get; init; }
Property Value
DevAddr
The address a data frame came from.
public int DevAddr { get; init; }
Property Value
DevEui
The device, for a join request, a downlink, or a transmission report.
public byte[]? DevEui { get; init; }
Property Value
- byte[]
DevNonce
The nonce a join request used.
public ushort DevNonce { get; init; }
Property Value
Diid
The identifier a downlink and its transmission report share.
public long Diid { get; init; }
Property Value
Fcnt
The frame counter, as the sixteen bits on the air.
public ushort Fcnt { get; init; }
Property Value
Fctrl
The frame control byte.
public byte Fctrl { get; init; }
Property Value
Features
What it can do, such as gps, for a version.
public string? Features { get; init; }
Property Value
Firmware
Its firmware, for a version.
public string? Firmware { get; init; }
Property Value
Fopts
The frame options a data frame carries.
public byte[] Fopts { get; init; }
Property Value
- byte[]
Fport
The port, or null for a frame carrying only options.
public byte? Fport { get; init; }
Property Value
- byte?
FreqMaxHz
The highest frequency a configuration allows, in hertz.
public uint? FreqMaxHz { get; init; }
Property Value
- uint?
FreqMinHz
The lowest frequency a configuration allows, in hertz.
public uint? FreqMinHz { get; init; }
Property Value
- uint?
FrequencyHz
The frequency a frame arrived on, in hertz.
public uint FrequencyHz { get; init; }
Property Value
Gpstime
The GPS time in microseconds since the GPS epoch.
public long? Gpstime { get; init; }
Property Value
- long?
Hwspec
The concentrator a configuration is written for, such as sx1301/1.
public string? Hwspec { get; init; }
Property Value
JoinEui
The application being joined, for a join request.
public byte[]? JoinEui { get; init; }
Property Value
- byte[]
JoinEuiRanges
The join identifier ranges a configuration forwards; empty forwards every join.
public IReadOnlyList<GatewayStationJoinRange> JoinEuiRanges { get; init; }
Property Value
Kind
Which kind of message.
public GatewayStationKind Kind { get; init; }
Property Value
Levels
How it was heard, for the kinds a station sends up.
public GatewayStationLevels? Levels { get; init; }
Property Value
MaxEirp
The highest radiated power a configuration allows, in dBm.
public double? MaxEirp { get; init; }
Property Value
Mhdr
The MAC header byte, for a join request or a data frame.
public byte Mhdr { get; init; }
Property Value
Mic
The message integrity code.
public int Mic { get; init; }
Property Value
Model
The hardware model, for a version.
public string? Model { get; init; }
Property Value
Msgtype
The word the message calls itself on the wire, such as updf. A message of a kind
this build does not model is written with this word.
public string? Msgtype { get; init; }
Property Value
NetIds
The networks whose data frames a configuration forwards, or null to forward
every network's.
public IReadOnlyList<uint>? NetIds { get; init; }
Property Value
Remarks
A station matches each entry against the top seven bits of a frame's device address, so an empty list forwards no data frame at all.
Package
The package it came from, for a version.
public string? Package { get; init; }
Property Value
Payload
The payload, still encrypted, the whole of a proprietary frame, or the frame a downlink transmits.
public byte[] Payload { get; init; }
Property Value
- byte[]
PingSlot
The ping slot a class B downlink goes out in.
public GatewayStationWindow? PingSlot { get; init; }
Property Value
Priority
How urgent a downlink is.
public byte Priority { get; init; }
Property Value
Protocol
The protocol version it speaks, for a version; ProtocolVersion when not set.
public uint? Protocol { get; init; }
Property Value
- uint?
Rctx
The radio a downlink goes out on, or a report says it went out on.
public long? Rctx { get; init; }
Property Value
- long?
Region
The region a configuration names, such as EU868.
public string? Region { get; init; }
Property Value
Rx1
The first receive window a downlink names.
public GatewayStationWindow? Rx1 { get; init; }
Property Value
Rx2
The second receive window a downlink names.
public GatewayStationWindow? Rx2 { get; init; }
Property Value
RxDelay
The delay before the first receive window, in seconds.
public byte? RxDelay { get; init; }
Property Value
- byte?
Schedule
What to transmit to a group, for a schedule.
public IReadOnlyList<GatewayStationBroadcast> Schedule { get; init; }
Property Value
Station
The station software, for a version.
public string? Station { get; init; }
Property Value
Txtime
When a reported frame went out, in seconds, or the station time a time sync carries, in microseconds.
public double? Txtime { get; init; }
Property Value
Xtime
The station clock in microseconds: the uplink a downlink answers, the moment a reported frame went out, or the one a time sync carries.
public long? Xtime { get; init; }
Property Value
- long?