@@ -130,10 +130,10 @@ fhss_structure_t *fhss_ws_enable(fhss_api_t *fhss_api, const fhss_ws_configurati
130
130
tr_err ("Invalid FHSS enable configuration" );
131
131
return NULL ;
132
132
}
133
- int channel_count = channel_list_count_channels (fhss_configuration -> channel_mask );
133
+ int bc_channel_count = channel_list_count_channels (fhss_configuration -> channel_mask );
134
134
int uc_channel_count = channel_list_count_channels (fhss_configuration -> unicast_channel_mask );
135
135
136
- if (channel_count <= 0 ) {
136
+ if (bc_channel_count <= 0 ) {
137
137
// There must be at least one configured channel in channel list
138
138
return NULL ;
139
139
}
@@ -147,7 +147,7 @@ fhss_structure_t *fhss_ws_enable(fhss_api_t *fhss_api, const fhss_ws_configurati
147
147
return NULL ;
148
148
}
149
149
memset (fhss_struct -> ws , 0 , sizeof (fhss_ws_t ));
150
- if (fhss_ws_manage_channel_table_allocation (fhss_struct , channel_count )) {
150
+ if (fhss_ws_manage_channel_table_allocation (fhss_struct , uc_channel_count > bc_channel_count ? uc_channel_count : bc_channel_count )) {
151
151
ns_dyn_mem_free (fhss_struct -> ws );
152
152
fhss_free_instance (fhss_api );
153
153
tr_error ("Failed to allocate channel tables" );
@@ -161,10 +161,12 @@ fhss_structure_t *fhss_ws_enable(fhss_api_t *fhss_api, const fhss_ws_configurati
161
161
for (uint8_t i = 0 ; i < 8 ; i ++ ) {
162
162
fhss_struct -> ws -> fhss_configuration .unicast_channel_mask [i ] = fhss_configuration -> channel_mask [i ];
163
163
}
164
- uc_channel_count = channel_count ;
164
+ uc_channel_count = bc_channel_count ;
165
165
}
166
- fhss_struct -> number_of_channels = channel_count ;
166
+
167
+ fhss_struct -> number_of_channels = fhss_configuration -> channel_mask_size ;
167
168
fhss_struct -> number_of_uc_channels = uc_channel_count ;
169
+ fhss_struct -> number_of_bc_channels = bc_channel_count ;
168
170
fhss_struct -> optimal_packet_length = OPTIMAL_PACKET_LENGTH ;
169
171
fhss_ws_set_hop_count (fhss_struct , 0xff );
170
172
fhss_struct -> rx_channel = fhss_configuration -> unicast_fixed_channel ;
0 commit comments