Alex: The nimBLE controller honors the host set channel classification command but does not mask channel autonomously; it relies on the host to do this. Our current host implementation does not support AFH which is why you found no references to that command being sent from the host. Note that our bletest code does send the command but that is for testing purposes; it is not used by an application. Just an FYI: the specification does allow for the controller to mask channels autonomously; it is just something we have not yet implemented.
> On Aug 8, 2016, at 2:16 AM, Alex Bereza <[email protected]> wrote: > > Hello devs, > > I have a question about the implementation of adaptive frequency-hopping > (AFH) in the NimBLE stack. Where does the marking of unused channels > happen? If there is interference, channels used by other technologies like > WiFi should be marked as unused. > > In the code I see that there is a HCI-command (OCF==0x0014, > BLE_HCI_OCF_LE_SET_HOST_CHAN_CLASS) which seems to set a channel map by > triggering appropriate link-layer functions. Probably this is also used to > mark channels as unused for AFH. But this HCI-command is never > called/referenced by the host code of NimBLE. > > So my question is: How and by which criteria does NimBLE recognize channels > with interference and how does it perform masking of this channels as > unused? Or can it be that this feature is currently not implemented? > > Thank you for your help! > > kind regards, > Alex
