diff --git a/examples/protocols/.build-test-rules.yml b/examples/protocols/.build-test-rules.yml index e704b05cfd..bc077c491f 100644 --- a/examples/protocols/.build-test-rules.yml +++ b/examples/protocols/.build-test-rules.yml @@ -100,10 +100,6 @@ examples/protocols/l2tap: temporary: true reason: lack of runners -examples/protocols/modbus: - disable: - - if: IDF_TARGET in ["esp32h2"] - examples/protocols/mqtt/ssl: disable_test: - if: IDF_TARGET != "esp32" diff --git a/examples/protocols/modbus/serial/mb_master/README.md b/examples/protocols/modbus/serial/mb_master/README.md index 6239bcb664..14407d9539 100644 --- a/examples/protocols/modbus/serial/mb_master/README.md +++ b/examples/protocols/modbus/serial/mb_master/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # Modbus Master Example @@ -95,15 +95,15 @@ Configure the UART pins used for modbus communication using and table below. Define the communication mode parameter for master and slave in Kconfig - CONFIG_MB_COMM_MODE (must be the same for master and slave devices in one segment). Configure the slave address for each slave in the Modbus segment (the CONFIG_MB_SLAVE_ADDR in Kconfig). ``` - -------------------------------------------------------------------------------------------------------------------------- - | UART Interface | #define | Default pins for | Default pins for | External RS485 Driver Pin | - | | | ESP32 (C6) | ESP32-S2 (S3, C3, C2) | | - | ----------------------|--------------------|-----------------------|-----------------------|---------------------------| - | Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI | - | Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO | - | Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE | - | Ground | n/a | GND | GND | GND | - -------------------------------------------------------------------------------------------------------------------------- + ------------------------------------------------------------------------------------------------------------------------------ + | UART Interface | #define | Default pins for | Default pins for | External RS485 Driver Pin | + | | | ESP32 (C6) | ESP32-S2 (S3, C3, C2, H2) | | + | ----------------------|--------------------|-----------------------|---------------------------|---------------------------| + | Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI | + | Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO | + | Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE | + | Ground | n/a | GND | GND | GND | + ------------------------------------------------------------------------------------------------------------------------------ ``` Note: Each target chip has different GPIO pins available for UART connection. Please refer to UART documentation for selected target for more information. diff --git a/examples/protocols/modbus/serial/mb_master/main/Kconfig.projbuild b/examples/protocols/modbus/serial/mb_master/main/Kconfig.projbuild index a87cab7501..9e6ec5327e 100644 --- a/examples/protocols/modbus/serial/mb_master/main/Kconfig.projbuild +++ b/examples/protocols/modbus/serial/mb_master/main/Kconfig.projbuild @@ -2,12 +2,22 @@ menu "Modbus Example Configuration" orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps" + config MB_UART_PORT_ONE + bool + default y + depends on (ESP_CONSOLE_UART_NUM !=1) && (SOC_UART_NUM > 1) + + config MB_UART_PORT_TWO + bool + default y + depends on (ESP_CONSOLE_UART_NUM !=2) && (SOC_UART_NUM > 2) + config MB_UART_PORT_NUM int "UART port number" - range 0 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3 - default 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3 - range 0 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6 - default 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6 + range 0 2 if MB_UART_PORT_TWO + default 2 if MB_UART_PORT_TWO + range 0 1 if MB_UART_PORT_ONE + default 1 if MB_UART_PORT_ONE help UART communication port number for Modbus example. @@ -22,7 +32,8 @@ menu "Modbus Example Configuration" int "UART RXD pin number" range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX default 22 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 - default 8 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 + default 8 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 ||\ + IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 help GPIO number for UART RX pin. See UART documentation for more information about available pin numbers for UART. @@ -31,7 +42,8 @@ menu "Modbus Example Configuration" int "UART TXD pin number" range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX default 23 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 - default 9 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 + default 9 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 ||\ + IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 help GPIO number for UART TX pin. See UART documentation for more information about available pin numbers for UART. @@ -40,7 +52,8 @@ menu "Modbus Example Configuration" int "UART RTS pin number" range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX default 18 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 - default 10 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 + default 10 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 ||\ + IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 help GPIO number for UART RTS pin. This pin is connected to ~RE/DE pin of RS485 transceiver to switch direction. diff --git a/examples/protocols/modbus/serial/mb_slave/README.md b/examples/protocols/modbus/serial/mb_slave/README.md index f32cbf7329..c73e76383f 100644 --- a/examples/protocols/modbus/serial/mb_slave/README.md +++ b/examples/protocols/modbus/serial/mb_slave/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # Modbus Slave Example @@ -45,15 +45,15 @@ idf.py menuconfig Select Modbus Example Configuration menu item. Configure the UART pins used for modbus communication using the command and table below. ``` - -------------------------------------------------------------------------------------------------------------------------- - | UART Interface | #define | Default pins for | Default pins for | External RS485 Driver Pin | - | | | ESP32 (C6) | ESP32-S2 (S3, C3, C2) | | - | ----------------------|--------------------|-----------------------|-----------------------|---------------------------| - | Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI | - | Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO | - | Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE | - | Ground | n/a | GND | GND | GND | - -------------------------------------------------------------------------------------------------------------------------- + ------------------------------------------------------------------------------------------------------------------------------ + | UART Interface | #define | Default pins for | Default pins for | External RS485 Driver Pin | + | | | ESP32 (C6) | ESP32-S2 (S3, C3, C2, H2) | | + | ----------------------|--------------------|-----------------------|---------------------------|---------------------------| + | Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI | + | Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO | + | Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE | + | Ground | n/a | GND | GND | GND | + ------------------------------------------------------------------------------------------------------------------------------ ``` Note: Each target chip has different GPIO pins available for UART connection. Please refer to UART documentation for selected target for more information. diff --git a/examples/protocols/modbus/serial/mb_slave/main/Kconfig.projbuild b/examples/protocols/modbus/serial/mb_slave/main/Kconfig.projbuild index 8e332df7f2..ab6518cffc 100644 --- a/examples/protocols/modbus/serial/mb_slave/main/Kconfig.projbuild +++ b/examples/protocols/modbus/serial/mb_slave/main/Kconfig.projbuild @@ -2,12 +2,22 @@ menu "Modbus Example Configuration" orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps" + config MB_UART_PORT_ONE + bool + default y + depends on (ESP_CONSOLE_UART_NUM !=1) && (SOC_UART_NUM > 1) + + config MB_UART_PORT_TWO + bool + default y + depends on (ESP_CONSOLE_UART_NUM !=2) && (SOC_UART_NUM > 2) + config MB_UART_PORT_NUM int "UART port number" - range 0 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3 - default 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3 - range 0 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6 - default 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6 + range 0 2 if MB_UART_PORT_TWO + default 2 if MB_UART_PORT_TWO + range 0 1 if MB_UART_PORT_ONE + default 1 if MB_UART_PORT_ONE help UART communication port number for Modbus example. @@ -22,7 +32,8 @@ menu "Modbus Example Configuration" int "UART RXD pin number" range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX default 22 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 - default 8 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 + default 8 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 ||\ + IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 help GPIO number for UART RX pin. See UART documentation for more information about available pin numbers for UART. @@ -31,7 +42,8 @@ menu "Modbus Example Configuration" int "UART TXD pin number" range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX default 23 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 - default 9 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 + default 9 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 ||\ + IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 help GPIO number for UART TX pin. See UART documentation for more information about available pin numbers for UART. @@ -40,7 +52,8 @@ menu "Modbus Example Configuration" int "UART RTS pin number" range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX default 18 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6 - default 10 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 + default 10 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 ||\ + IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 help GPIO number for UART RTS pin. This pin is connected to ~RE/DE pin of RS485 transceiver to switch direction. diff --git a/examples/protocols/modbus/tcp/mb_tcp_master/README.md b/examples/protocols/modbus/tcp/mb_tcp_master/README.md index d75ea59fef..8ac43f8bcc 100644 --- a/examples/protocols/modbus/tcp/mb_tcp_master/README.md +++ b/examples/protocols/modbus/tcp/mb_tcp_master/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # Modbus TCP Master Example diff --git a/examples/protocols/modbus/tcp/mb_tcp_slave/README.md b/examples/protocols/modbus/tcp/mb_tcp_slave/README.md index 912073c015..7d20eb27a6 100644 --- a/examples/protocols/modbus/tcp/mb_tcp_slave/README.md +++ b/examples/protocols/modbus/tcp/mb_tcp_slave/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # Modbus Slave Example