diff --git a/lib/lora/mac/region/RegionAU915.c b/lib/lora/mac/region/RegionAU915.c index 5e2486b51a..78e0abebbc 100644 --- a/lib/lora/mac/region/RegionAU915.c +++ b/lib/lora/mac/region/RegionAU915.c @@ -841,8 +841,8 @@ LoRaMacStatus_t RegionAU915ChannelManualAdd( ChannelAddParams_t* channelAdd ) return LORAMAC_STATUS_PARAMETER_INVALID; } - // Validate the datarate range for min: must be DR_0 - if( channelAdd->NewChannel->DrRange.Fields.Min != DR_0 ) + // Validate the datarate range for min: must be DR_0 for channels 0-63 + if( id < 64 && channelAdd->NewChannel->DrRange.Fields.Min != DR_0 ) { drInvalid = true; } @@ -852,6 +852,12 @@ LoRaMacStatus_t RegionAU915ChannelManualAdd( ChannelAddParams_t* channelAdd ) drInvalid = true; } + // Sanity check that Min is not greater then Max + if (channelAdd->NewChannel->DrRange.Fields.Min > channelAdd->NewChannel->DrRange.Fields.Max) + { + drInvalid = true; + } + // Check frequency if( ( channelAdd->NewChannel->Frequency < 915000000 ) || ( channelAdd->NewChannel->Frequency > 928000000 ) ) { diff --git a/lib/lora/mac/region/RegionUS915.c b/lib/lora/mac/region/RegionUS915.c index 09c232700a..54c904becc 100644 --- a/lib/lora/mac/region/RegionUS915.c +++ b/lib/lora/mac/region/RegionUS915.c @@ -849,8 +849,8 @@ LoRaMacStatus_t RegionUS915ChannelManualAdd( ChannelAddParams_t* channelAdd ) return LORAMAC_STATUS_PARAMETER_INVALID; } - // Validate the datarate range for min: must be DR_0 - if( channelAdd->NewChannel->DrRange.Fields.Min != DR_0 ) + // Validate the datarate range for min: must be DR_0 for channels 0-63 + if( id < 64 && channelAdd->NewChannel->DrRange.Fields.Min != DR_0 ) { drInvalid = true; } @@ -860,6 +860,12 @@ LoRaMacStatus_t RegionUS915ChannelManualAdd( ChannelAddParams_t* channelAdd ) drInvalid = true; } + // Sanity check that Min is not greater then Max + if (channelAdd->NewChannel->DrRange.Fields.Min > channelAdd->NewChannel->DrRange.Fields.Max) + { + drInvalid = true; + } + // Check frequency if( ( channelAdd->NewChannel->Frequency < 902000000 ) || ( channelAdd->NewChannel->Frequency > 928000000 ) ) {