mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-16 21:03:23 +00:00
lorawan: increment devnonce don't just create a new one each join attempt
Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
@@ -31,6 +31,12 @@ func (o *Otaa) generateDevNonce() {
|
|||||||
o.devNonce[1] = rnd[1]
|
o.devNonce[1] = rnd[1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (o *Otaa) incrementDevNonce() {
|
||||||
|
nonce := uint16(o.devNonce[1])<<8 | uint16(o.devNonce[0]) + 1
|
||||||
|
o.devNonce[0] = uint8(nonce & 0xff)
|
||||||
|
o.devNonce[1] = uint8((nonce >> 8) & 0xff)
|
||||||
|
}
|
||||||
|
|
||||||
// Set configures the Otaa AppEUI, DevEUI, AppKey for the device
|
// Set configures the Otaa AppEUI, DevEUI, AppKey for the device
|
||||||
func (o *Otaa) Set(appEUI []uint8, devEUI []uint8, appKey []uint8) {
|
func (o *Otaa) Set(appEUI []uint8, devEUI []uint8, appKey []uint8) {
|
||||||
o.SetAppEUI(appEUI)
|
o.SetAppEUI(appEUI)
|
||||||
@@ -99,7 +105,7 @@ func (o *Otaa) SetNetID(netID []uint8) error {
|
|||||||
|
|
||||||
// GenerateJoinRequest Generates a LoraWAN Join request
|
// GenerateJoinRequest Generates a LoraWAN Join request
|
||||||
func (o *Otaa) GenerateJoinRequest() ([]uint8, error) {
|
func (o *Otaa) GenerateJoinRequest() ([]uint8, error) {
|
||||||
o.generateDevNonce()
|
o.incrementDevNonce()
|
||||||
|
|
||||||
// TODO: Add checks
|
// TODO: Add checks
|
||||||
o.buf = o.buf[:0]
|
o.buf = o.buf[:0]
|
||||||
|
|||||||
Reference in New Issue
Block a user