I’m trying to create a payload like so:
phy := lorawan.PHYPayload{
MHDR: lorawan.MHDR{
MType: lorawan.ConfirmedDataUp,
Major: lorawan.LoRaWANR1,
},
MACPayload: &lorawan.MACPayload{
FHDR: lorawan.FHDR{
DevAddr: lorawan.DevAddr([4]byte{1, 2, 3, 4}),
FCnt: 1,
},
FRMPayload: ,
},
}
But I can’t figure out how to specify the FRMPayload. Any tips?
iegomez
#2
Here’s an example of creating the PHYPayload, where payload
is just a bytes array:
phy := lorawan.PHYPayload{
MHDR: lorawan.MHDR{
MType: lorawan.ConfirmedDataUp,
Major: lorawan.LoRaWANR1,
},
MACPayload: &lorawan.MACPayload{
FHDR: lorawan.FHDR{
DevAddr: lorawan.DevAddr(devAddr),
FCtrl: lorawan.FCtrl{
ADR: false,
ADRACKReq: false,
ACK: false,
},
FCnt: 0,
FOpts: []lorawan.MACCommand{}, // you can leave this out when there is no MAC command to send
},
FPort: &fPort,
FRMPayload: []lorawan.Payload{&lorawan.DataPayload{Bytes: payload}},
},
}
Check here for examples from Orne’s lorawan package, or here for another example.
2 Likes
Thank you, worked like a charm!