BLE Advertising Channel Configuration for Certification

Our custom product, based on the nRF52832, is undergoing certification. The testing laboratory requires that only one BLE advertising channel be active at a time—first channel 37, then channel 39.

I have attempted to configure this in our firmware, but without success. I would like to ask if Nordic recommends a method to set a single advertising channel for testing, either via code, firmware settings, or software configuration.

Any guidance on how to achieve this for certification purposes would be greatly appreciated.

Parents
  • Which SDK are you using? nRF5SDK or nRF Connect SDK.

    on nRf5SDK it is quite simple, you use the channel_mask member for that

    static ble_gap_adv_params_t adv_params = {
        .properties    = BLE_GAP_ADV_PROPERTIES_TYPE_NONCONNECTABLE_NONSCANNABLE,
        .interval      = MSEC_TO_UNITS(100, UNIT_0_625_MS),
        .channel_mask  = { .ch_37_off = 0, .ch_38_off = 1, .ch_39_off = 1 }, /* only ch37 */
    };
    
    sd_ble_gap_adv_set_configure(&adv_handle, &adv_data, &adv_params);
    sd_ble_gap_adv_start(adv_handle, APP_BLE_CONN_CFG_TAG);

    But If you are using nRf Connect SDK, then I need to dig a bit more about it, I think you need to HCI command API to set the channel mask .

Reply
  • Which SDK are you using? nRF5SDK or nRF Connect SDK.

    on nRf5SDK it is quite simple, you use the channel_mask member for that

    static ble_gap_adv_params_t adv_params = {
        .properties    = BLE_GAP_ADV_PROPERTIES_TYPE_NONCONNECTABLE_NONSCANNABLE,
        .interval      = MSEC_TO_UNITS(100, UNIT_0_625_MS),
        .channel_mask  = { .ch_37_off = 0, .ch_38_off = 1, .ch_39_off = 1 }, /* only ch37 */
    };
    
    sd_ble_gap_adv_set_configure(&adv_handle, &adv_data, &adv_params);
    sd_ble_gap_adv_start(adv_handle, APP_BLE_CONN_CFG_TAG);

    But If you are using nRf Connect SDK, then I need to dig a bit more about it, I think you need to HCI command API to set the channel mask .

Children
No Data
Related