I have a project where a BLE device connects to another (very innovative, right?) As part of this it obviously scans. The whole thing actually functions pretty good. But now I have just got to know about a config called CONFIG_BT_SCAN. I have no idea what it does, I did not have it enabled and the help hover-over says "Enable BLE scan library". Who would have guessed, right? The NordicSemi documentation does not say one word more. One thing I know is that it is NOT required for scanning, my project scans just fine without it.
To sum up the question again: How does one learn about these thing? How does one find out that this config exists? How to find documentation about what it does?
The nRF Connect SDK has a set of samples under ncs/nrf/samples/bluetooth and ncs/zephyr/samples/bluetooth. I typically see how the samples do things when I am trying to learn. Nordic Semiconductor also has a introduction course to Bluetooth Low Energy developement over at https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/
From samples mentioned above. Or from looking for CONFIG_BT in Nordics Kconfig search: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html#CONFIG_BT_SCAN
Or at ncs/nrf/subsys/bluetooth/Kconfig.scan. Or by using menuconfig (west build -t menuconfig") and search for BT_SCAN with "/". Or if you are using nRF Connect Extension for VS Code, you can use the Kconfig action.