File tree Expand file tree Collapse file tree 7 files changed +35
-131
lines changed Expand file tree Collapse file tree 7 files changed +35
-131
lines changed Original file line number Diff line number Diff line change @@ -976,6 +976,11 @@ LoRaMacStatus_t RegionAS923ChannelAdd( ChannelAddParams_t* channelAdd )
976976 bool freqInvalid = false;
977977 uint8_t id = channelAdd -> ChannelId ;
978978
979+ if ( id < AS923_NUMB_DEFAULT_CHANNELS )
980+ {
981+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
982+ }
983+
979984 if ( id >= AS923_MAX_NB_CHANNELS )
980985 {
981986 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -995,26 +1000,6 @@ LoRaMacStatus_t RegionAS923ChannelAdd( ChannelAddParams_t* channelAdd )
9951000 drInvalid = true;
9961001 }
9971002
998- // Default channels don't accept all values
999- if ( id < AS923_NUMB_DEFAULT_CHANNELS )
1000- {
1001- // Validate the datarate range for min: must be DR_0
1002- if ( channelAdd -> NewChannel -> DrRange .Fields .Min > DR_0 )
1003- {
1004- drInvalid = true;
1005- }
1006- // Validate the datarate range for max: must be DR_5 <= Max <= TX_MAX_DATARATE
1007- if ( RegionCommonValueInRange ( channelAdd -> NewChannel -> DrRange .Fields .Max , DR_5 , AS923_TX_MAX_DATARATE ) == false )
1008- {
1009- drInvalid = true;
1010- }
1011- // We are not allowed to change the frequency
1012- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
1013- {
1014- freqInvalid = true;
1015- }
1016- }
1017-
10181003 // Check frequency
10191004 if ( freqInvalid == false )
10201005 {
Original file line number Diff line number Diff line change @@ -908,6 +908,11 @@ LoRaMacStatus_t RegionCN779ChannelAdd( ChannelAddParams_t* channelAdd )
908908 bool freqInvalid = false;
909909 uint8_t id = channelAdd -> ChannelId ;
910910
911+ if ( id < CN779_NUMB_DEFAULT_CHANNELS )
912+ {
913+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
914+ }
915+
911916 if ( id >= CN779_MAX_NB_CHANNELS )
912917 {
913918 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -927,26 +932,6 @@ LoRaMacStatus_t RegionCN779ChannelAdd( ChannelAddParams_t* channelAdd )
927932 drInvalid = true;
928933 }
929934
930- // Default channels don't accept all values
931- if ( id < CN779_NUMB_DEFAULT_CHANNELS )
932- {
933- // Validate the datarate range for min: must be DR_0
934- if ( channelAdd -> NewChannel -> DrRange .Fields .Min > DR_0 )
935- {
936- drInvalid = true;
937- }
938- // Validate the datarate range for max: must be DR_5 <= Max <= TX_MAX_DATARATE
939- if ( RegionCommonValueInRange ( channelAdd -> NewChannel -> DrRange .Fields .Max , DR_5 , CN779_TX_MAX_DATARATE ) == false )
940- {
941- drInvalid = true;
942- }
943- // We are not allowed to change the frequency
944- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
945- {
946- freqInvalid = true;
947- }
948- }
949-
950935 // Check frequency
951936 if ( freqInvalid == false )
952937 {
Original file line number Diff line number Diff line change @@ -908,6 +908,11 @@ LoRaMacStatus_t RegionEU433ChannelAdd( ChannelAddParams_t* channelAdd )
908908 bool freqInvalid = false;
909909 uint8_t id = channelAdd -> ChannelId ;
910910
911+ if ( id < EU433_NUMB_DEFAULT_CHANNELS )
912+ {
913+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
914+ }
915+
911916 if ( id >= EU433_MAX_NB_CHANNELS )
912917 {
913918 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -927,26 +932,6 @@ LoRaMacStatus_t RegionEU433ChannelAdd( ChannelAddParams_t* channelAdd )
927932 drInvalid = true;
928933 }
929934
930- // Default channels don't accept all values
931- if ( id < EU433_NUMB_DEFAULT_CHANNELS )
932- {
933- // Validate the datarate range for min: must be DR_0
934- if ( channelAdd -> NewChannel -> DrRange .Fields .Min > DR_0 )
935- {
936- drInvalid = true;
937- }
938- // Validate the datarate range for max: must be DR_5 <= Max <= TX_MAX_DATARATE
939- if ( RegionCommonValueInRange ( channelAdd -> NewChannel -> DrRange .Fields .Max , DR_5 , EU433_TX_MAX_DATARATE ) == false )
940- {
941- drInvalid = true;
942- }
943- // We are not allowed to change the frequency
944- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
945- {
946- freqInvalid = true;
947- }
948- }
949-
950935 // Check frequency
951936 if ( freqInvalid == false )
952937 {
Original file line number Diff line number Diff line change @@ -941,6 +941,11 @@ LoRaMacStatus_t RegionEU868ChannelAdd( ChannelAddParams_t* channelAdd )
941941 bool freqInvalid = false;
942942 uint8_t id = channelAdd -> ChannelId ;
943943
944+ if ( id < EU868_NUMB_DEFAULT_CHANNELS )
945+ {
946+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
947+ }
948+
944949 if ( id >= EU868_MAX_NB_CHANNELS )
945950 {
946951 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -960,26 +965,6 @@ LoRaMacStatus_t RegionEU868ChannelAdd( ChannelAddParams_t* channelAdd )
960965 drInvalid = true;
961966 }
962967
963- // Default channels don't accept all values
964- if ( id < EU868_NUMB_DEFAULT_CHANNELS )
965- {
966- // Validate the datarate range for min: must be DR_0
967- if ( channelAdd -> NewChannel -> DrRange .Fields .Min > DR_0 )
968- {
969- drInvalid = true;
970- }
971- // Validate the datarate range for max: must be DR_5 <= Max <= TX_MAX_DATARATE
972- if ( RegionCommonValueInRange ( channelAdd -> NewChannel -> DrRange .Fields .Max , DR_5 , EU868_TX_MAX_DATARATE ) == false )
973- {
974- drInvalid = true;
975- }
976- // We are not allowed to change the frequency
977- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
978- {
979- freqInvalid = true;
980- }
981- }
982-
983968 // Check frequency
984969 if ( freqInvalid == false )
985970 {
Original file line number Diff line number Diff line change @@ -933,6 +933,11 @@ LoRaMacStatus_t RegionIN865ChannelAdd( ChannelAddParams_t* channelAdd )
933933 bool freqInvalid = false;
934934 uint8_t id = channelAdd -> ChannelId ;
935935
936+ if ( id < IN865_NUMB_DEFAULT_CHANNELS )
937+ {
938+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
939+ }
940+
936941 if ( id >= IN865_MAX_NB_CHANNELS )
937942 {
938943 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -952,26 +957,6 @@ LoRaMacStatus_t RegionIN865ChannelAdd( ChannelAddParams_t* channelAdd )
952957 drInvalid = true;
953958 }
954959
955- // Default channels don't accept all values
956- if ( id < IN865_NUMB_DEFAULT_CHANNELS )
957- {
958- // Validate the datarate range for min: must be DR_0
959- if ( channelAdd -> NewChannel -> DrRange .Fields .Min > DR_0 )
960- {
961- drInvalid = true;
962- }
963- // Validate the datarate range for max: must be DR_5 <= Max <= TX_MAX_DATARATE
964- if ( RegionCommonValueInRange ( channelAdd -> NewChannel -> DrRange .Fields .Max , DR_5 , IN865_TX_MAX_DATARATE ) == false )
965- {
966- drInvalid = true;
967- }
968- // We are not allowed to change the frequency
969- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
970- {
971- freqInvalid = true;
972- }
973- }
974-
975960 // Check frequency
976961 if ( freqInvalid == false )
977962 {
Original file line number Diff line number Diff line change @@ -913,6 +913,11 @@ LoRaMacStatus_t RegionKR920ChannelAdd( ChannelAddParams_t* channelAdd )
913913 bool freqInvalid = false;
914914 uint8_t id = channelAdd -> ChannelId ;
915915
916+ if ( id < KR920_NUMB_DEFAULT_CHANNELS )
917+ {
918+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
919+ }
920+
916921 if ( id >= KR920_MAX_NB_CHANNELS )
917922 {
918923 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -932,17 +937,6 @@ LoRaMacStatus_t RegionKR920ChannelAdd( ChannelAddParams_t* channelAdd )
932937 drInvalid = true;
933938 }
934939
935- // Default channels don't accept all values
936- if ( id < KR920_NUMB_DEFAULT_CHANNELS )
937- {
938- // All datarates are supported
939- // We are not allowed to change the frequency
940- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
941- {
942- freqInvalid = true;
943- }
944- }
945-
946940 // Check frequency
947941 if ( freqInvalid == false )
948942 {
Original file line number Diff line number Diff line change @@ -894,6 +894,11 @@ LoRaMacStatus_t RegionRU864ChannelAdd( ChannelAddParams_t* channelAdd )
894894 bool freqInvalid = false;
895895 uint8_t id = channelAdd -> ChannelId ;
896896
897+ if ( id < RU864_NUMB_DEFAULT_CHANNELS )
898+ {
899+ return LORAMAC_STATUS_FREQ_AND_DR_INVALID ;
900+ }
901+
897902 if ( id >= RU864_MAX_NB_CHANNELS )
898903 {
899904 return LORAMAC_STATUS_PARAMETER_INVALID ;
@@ -913,26 +918,6 @@ LoRaMacStatus_t RegionRU864ChannelAdd( ChannelAddParams_t* channelAdd )
913918 drInvalid = true;
914919 }
915920
916- // Default channels don't accept all values
917- if ( id < RU864_NUMB_DEFAULT_CHANNELS )
918- {
919- // Validate the datarate range for min: must be DR_0
920- if ( channelAdd -> NewChannel -> DrRange .Fields .Min > DR_0 )
921- {
922- drInvalid = true;
923- }
924- // Validate the datarate range for max: must be DR_5 <= Max <= TX_MAX_DATARATE
925- if ( RegionCommonValueInRange ( channelAdd -> NewChannel -> DrRange .Fields .Max , DR_5 , RU864_TX_MAX_DATARATE ) == false )
926- {
927- drInvalid = true;
928- }
929- // We are not allowed to change the frequency
930- if ( channelAdd -> NewChannel -> Frequency != NvmCtx .Channels [id ].Frequency )
931- {
932- freqInvalid = true;
933- }
934- }
935-
936921 // Check frequency
937922 if ( freqInvalid == false )
938923 {
You can’t perform that action at this time.
0 commit comments