The former correction factors were determined by measuring the resulting clocks without a device connected to the bus.
However, when testing the changes for low CPU clock frequencies, it was figured out that the clocks not only depend on configured register values
_i2c_hw[dev].regs->scl_low_period.period
_i2c_hw[dev].regs->scl_high_period.period
but also on the bus capacity. Obviously, the register values are not absolute times in APB clock cycles, but rather times that start as soon as the corresponding level is reached. In this case, the higher the bus capacity, the longer the period would be.
This means that the clock speed cannot be precisely controlled via the correction factors anyway. For this reason, and because the I2C implementation in ESP-IDF also does not use correction factors, they were removed.
The semantics of defining an SSID prefix that overrides the already defined SSID exactly when and only when it is set, and then enabling dynamic SSID generation with that prefix, made handling the parameter definition unnecessarily difficult and hard to understand.
Defining a boolean option that enables dynamic SSID generation, which then simply reuses the defined SSID as a prefix, makes it much more understandable and easier to handle, especially with respect to Kconfig.
Introduce the TEST_KCONFIG_TEST_ALLOWLIST and TEST_KCONFIG_BOARD_BLOCKLIST
This will test kconfig modeling on a small subset of apps
for all boards that are not on the blocklist.
This should automatically test new boards, preventing merging
of non-kconfig complete boards.
This moves the following parts of ethos' state machine out of ISR
context:
- Sending and replying to HELLO messages
- Byte-unstuffing
Some escape handling is still needed in the ISR handler, due to ethos'
protocol design, to determine if a received byte must go into the
netdev queue (tsrb) or the STDIO queue (isrpipe), but the actual
unstuffing is now done in the STDIO and netdev handler threads,
respectively.
Modify the periph_temperature implementation to expose the full
resolution of the temperature sensor. The accuracy of the sensor will
likely be less than 0.25 °C, but typically temperature sensors have
a precision in the order of their resolution. Exposing the full
resolution can therefore be useful to monitor relative temperature
changes.