The cleanup includes the following changes:
- The `esptool.py` is no longer installed as a RIOT package, but as a pure Python package, as published by Espressif. The installation takes place in a virtual Python environment in the `dist/tools/esptools/venv` directory.
- The installation of the `esptool.py` is now version-sensitive.
- The `esptool.py` from the Python package is always used.
- The option for users to use a custom `esptool.py` has been removed because newer versions of `esptool.py` use renamed options that are not compatible with older versions of `esptool.py`. Using a custom `esptool.py` therefore makes no sense.
The `esptool.py` program is no longer installed as a RIOT package, but as a pure Python package, as published by Espressif. The installation takes place in a virtual Python environment in the `dist/tools/esptools/venv` directory. Therfore, there is no need to pull the GitHub repository and thus not necessary to install it as a RIOT package.
It makes no sense to have a separate `esp_ble_$(CPU_FAM)` feature for each ESP32x variant. The ESP32x has either a BLE controller or not. Therefore, a single common `esp_ble` feature is sufficient.
nimble_port_initialized` is false by default and is set to true as soon as
Adds a variable that indicates whether `nimble_port_init` has been called by `nimble_riot_init`, i.e. that the NimBLE stack has been initialized. The variable can be used to decide whether events from the low-level BLE controller driver should be forwarded to the NimBLE stack. It is necessary to avoid crashes in the case that the higher-prioritized thread of the low-level BLE controller driver starts sending events to the host before the NimBLE stack has been initialized by the lower-prioritized host thread.
BLE library for ESP32x implements its own version of `os_msys_init`, which is used by the BLE controller implementation for ESP32x and is implicitly called when the BLE controller is enabled.
BLE library for ESP32x defines its own `g_msys_pool_list` in binary libraries. To avoid multiple definitions, the definition of `g_msys_pool_list` is conditional here.
To be able to control whether `default_CSPNRG` is used or not during compilation, `define_RNG_default` is defined conditionally. This is needed for example to compile BLE for ESP32-H2.