Public header file of esp-modbus (freemodbus/port/port.h) includes
esp_timer.h, which is provided by esp_timer component. Currently
this works without declaring a dependency on esp_timer because
of a transitive dependency on esp_timer via freertos component.
This will be changed in IDF v5.0, where freertos will no longer
have a public dependency on esp_timer. This commit makes esp-modbus
compatible with that future change.
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
* Original commit: espressif/esp-idf@57fd78f5ba
Initial version of freemodbus master port files have been added to ESP-IDF based on https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32.
The overall repository license, at the time of adding these files, has been BSD 3-clause. However at that time, several port files carried LGPL license headers. As the author of these files confirmed in https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/issues/61#issuecomment-977828450, this wasn't intentional. ESP-IDF version of modbus master port has been rewritten to target FreeRTOS instead of RT-Thread, but the license headers remained from the original version. This commit corrects this, replacing the license of these files with BSD 3-clause.
* Original commit: espressif/esp-idf@b8c1d26f56
fixes the issue with uart_wait_tx_done() when the task is suspended and transmission is done right before reenable tx_done interrupt
* Original commit: espressif/esp-idf@c801b3a182
Current lwip implementation does not support deleting a task which is
actively waiting on `select()` or `poll()` API.
Therefore we have to make sure that `select()` exits to deallocate its internal
callback before deleting the task. This is achieved by a shutdown
semaphore which informs the client once the `select()` exitted.
fix slave
* Original commit: espressif/esp-idf@898cac0061
Enables building C3 examples in CI.
Fixes related warnings/errors and disables examples that cannot run.
* Original commit: espressif/esp-idf@04df1f3a42
add multi register area descriptors into concrete port (initial)
add create/destroy of area descriptors into concrete port
add the list of descriptors in common slave interface structure and init/destroy in concrete slave port
move r/w callback functions into common slave
final update of common slave interface wrappers add override API option in concrete port
update slave examples to check new feature
* Original commit: espressif/esp-idf@96b77a28b1
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
* Original commit: espressif/esp-idf@66fb5a29bb