diff --git a/internal/backend/semtechudp/packets/push_data.go b/internal/backend/semtechudp/packets/push_data.go index 71d0e637..3718ae8b 100644 --- a/internal/backend/semtechudp/packets/push_data.go +++ b/internal/backend/semtechudp/packets/push_data.go @@ -159,13 +159,14 @@ func getUplinkFrame(gatewayID []byte, rxpk RXPK, FakeRxInfoTime bool) (gw.Uplink Frequency: uint32(rxpk.Freq * 1000000), }, RxInfo: &gw.UplinkRXInfo{ - GatewayId: gatewayID, - Rssi: int32(rxpk.RSSI), - LoraSnr: rxpk.LSNR, - Channel: uint32(rxpk.Chan), - RfChain: uint32(rxpk.RFCh), - Board: uint32(rxpk.Brd), - Context: make([]byte, 4), + GatewayId: gatewayID, + Rssi: int32(rxpk.RSSI), + LoraSnr: rxpk.LSNR, + Channel: uint32(rxpk.Chan), + RfChain: uint32(rxpk.RFCh), + Board: uint32(rxpk.Brd), + Context: make([]byte, 4), + FrequencyOffset: int32(rxpk.FOff), }, } @@ -304,6 +305,7 @@ type RXPK struct { LSNR float64 `json:"lsnr"` // Lora SNR ratio in dB (signed float, 0.1 dB precision) Data []byte `json:"data"` // Base64 encoded RF packet payload, padded RSig []RSig `json:"rsig"` // Received signal information, per antenna (Optional) + FOff int32 `json:"foff"` // The frequency offset of the received signal from the channel it was received on. } // RSig contains the received signal information per antenna.