How to view hci vs command details which under nrfxlib softdevice_controller when using nrf connect sdk?

Hello!

Recently I want to write a hci vs command in zephyr using nrf connect sdk, when I track ncs_v1.9.1\zephyr\samples\bluetooth\hci_pwr_ctrl samples code and find it uses nrfxlib/softdevice_controller/include/sdc_hci_vs.h header file to achieve hci vs command.

As follows:

/** @brief Set event length for periodic advertisers.
 *
 * Set the allocated event length for new periodic advertisers.
 * The SoftDevice Controller will ensure that the anchor points of periodic advertising events are
 * spaced event_length_us apart.
 * If the advertiser requires less time to transmit all the data, the distance to the next
 * scheduling activity will still be equal to the configured event length.
 * If the advertiser requires more time to transmit all the data, scheduling conflicts may occur.
 *
 * This API must be called before configuring a periodic advertiser for the event length to be
 * applied.
 *
 * The default event length is @ref SDC_DEFAULT_EVENT_LENGTH_US.
 *
 * @param[in]  p_params Input parameters.
 *
 * @retval 0 if success.
 * @return Returns value between 0x01-0xFF in case of error.
 *         See Vol 2, Part D, Error for a list of error codes and descriptions.
 */
uint8_t sdc_hci_cmd_vs_periodic_adv_event_length_set(const sdc_hci_cmd_vs_periodic_adv_event_length_set_t * p_params);

As a process reference for my hci vs command, I want to know how the function implements. But when I try to view details about this function, I counldn't find where to see.

So where I can, or how to know the details of functions in nrfxlib/softdevice_controller/include/sdc_hci_vs.h?

Thanks for your help!

Parents
  • Hello,

    The implementation of the HCI commands is not open source. This is part of something we call the SoftDevice Controller, which is a precompiled binary file, which will be uploaded to the nRF's flash together with the application. 

    So unfortunately, the header files is everything you will be able to see.

    However, if you wish to look at some implementation, you can check out the Zephyr's own Bluetooth Low Energy stack. To enable this (and thus disable the Softdevice Controller), you can use the config:

    CONFIG_BT_LL_SW_SPLIT=y
    This will replace the Nordic Softdevice Controller (Bluetooth stack) with the Zephyr one, which is open source. 
    Best regards,
    Edvin
Reply
  • Hello,

    The implementation of the HCI commands is not open source. This is part of something we call the SoftDevice Controller, which is a precompiled binary file, which will be uploaded to the nRF's flash together with the application. 

    So unfortunately, the header files is everything you will be able to see.

    However, if you wish to look at some implementation, you can check out the Zephyr's own Bluetooth Low Energy stack. To enable this (and thus disable the Softdevice Controller), you can use the config:

    CONFIG_BT_LL_SW_SPLIT=y
    This will replace the Nordic Softdevice Controller (Bluetooth stack) with the Zephyr one, which is open source. 
    Best regards,
    Edvin
Children
No Data
Related