mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
Merge branch 'feature/modbus_add_support_esp32h2_v51' into 'release/v5.1'
examples: modbus add support for target esp32h2 (Backport v5.1) See merge request espressif/esp-idf!24970
This commit is contained in:
@ -100,10 +100,6 @@ examples/protocols/l2tap:
|
|||||||
temporary: true
|
temporary: true
|
||||||
reason: lack of runners
|
reason: lack of runners
|
||||||
|
|
||||||
examples/protocols/modbus:
|
|
||||||
disable:
|
|
||||||
- if: IDF_TARGET in ["esp32h2"]
|
|
||||||
|
|
||||||
examples/protocols/mqtt/ssl:
|
examples/protocols/mqtt/ssl:
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET != "esp32"
|
- if: IDF_TARGET != "esp32"
|
||||||
|
@ -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
|
# 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).
|
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).
|
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 |
|
| UART Interface | #define | Default pins for | Default pins for | External RS485 Driver Pin |
|
||||||
| | | ESP32 (C6) | ESP32-S2 (S3, C3, C2) | |
|
| | | ESP32 (C6) | ESP32-S2 (S3, C3, C2, H2) | |
|
||||||
| ----------------------|--------------------|-----------------------|-----------------------|---------------------------|
|
| ----------------------|--------------------|-----------------------|---------------------------|---------------------------|
|
||||||
| Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI |
|
| Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI |
|
||||||
| Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO |
|
| Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO |
|
||||||
| Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE |
|
| Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE |
|
||||||
| Ground | n/a | GND | GND | GND |
|
| 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.
|
Note: Each target chip has different GPIO pins available for UART connection. Please refer to UART documentation for selected target for more information.
|
||||||
|
|
||||||
|
@ -2,12 +2,22 @@ menu "Modbus Example Configuration"
|
|||||||
|
|
||||||
orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps"
|
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
|
config MB_UART_PORT_NUM
|
||||||
int "UART port number"
|
int "UART port number"
|
||||||
range 0 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
range 0 2 if MB_UART_PORT_TWO
|
||||||
default 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
default 2 if MB_UART_PORT_TWO
|
||||||
range 0 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
range 0 1 if MB_UART_PORT_ONE
|
||||||
default 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
default 1 if MB_UART_PORT_ONE
|
||||||
help
|
help
|
||||||
UART communication port number for Modbus example.
|
UART communication port number for Modbus example.
|
||||||
|
|
||||||
@ -22,7 +32,8 @@ menu "Modbus Example Configuration"
|
|||||||
int "UART RXD pin number"
|
int "UART RXD pin number"
|
||||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
||||||
default 22 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6
|
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
|
help
|
||||||
GPIO number for UART RX pin. See UART documentation for more information
|
GPIO number for UART RX pin. See UART documentation for more information
|
||||||
about available pin numbers for UART.
|
about available pin numbers for UART.
|
||||||
@ -31,7 +42,8 @@ menu "Modbus Example Configuration"
|
|||||||
int "UART TXD pin number"
|
int "UART TXD pin number"
|
||||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
||||||
default 23 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6
|
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
|
help
|
||||||
GPIO number for UART TX pin. See UART documentation for more information
|
GPIO number for UART TX pin. See UART documentation for more information
|
||||||
about available pin numbers for UART.
|
about available pin numbers for UART.
|
||||||
@ -40,7 +52,8 @@ menu "Modbus Example Configuration"
|
|||||||
int "UART RTS pin number"
|
int "UART RTS pin number"
|
||||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
||||||
default 18 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6
|
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
|
help
|
||||||
GPIO number for UART RTS pin. This pin is connected to
|
GPIO number for UART RTS pin. This pin is connected to
|
||||||
~RE/DE pin of RS485 transceiver to switch direction.
|
~RE/DE pin of RS485 transceiver to switch direction.
|
||||||
|
@ -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
|
# Modbus Slave Example
|
||||||
|
|
||||||
@ -45,15 +45,15 @@ idf.py menuconfig
|
|||||||
Select Modbus Example Configuration menu item.
|
Select Modbus Example Configuration menu item.
|
||||||
Configure the UART pins used for modbus communication using the command and table below.
|
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 |
|
| UART Interface | #define | Default pins for | Default pins for | External RS485 Driver Pin |
|
||||||
| | | ESP32 (C6) | ESP32-S2 (S3, C3, C2) | |
|
| | | ESP32 (C6) | ESP32-S2 (S3, C3, C2, H2) | |
|
||||||
| ----------------------|--------------------|-----------------------|-----------------------|---------------------------|
|
| ----------------------|--------------------|-----------------------|---------------------------|---------------------------|
|
||||||
| Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI |
|
| Transmit Data (TxD) | CONFIG_MB_UART_TXD | GPIO23 | GPIO9 | DI |
|
||||||
| Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO |
|
| Receive Data (RxD) | CONFIG_MB_UART_RXD | GPIO22 | GPIO8 | RO |
|
||||||
| Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE |
|
| Request To Send (RTS) | CONFIG_MB_UART_RTS | GPIO18 | GPIO10 | ~RE/DE |
|
||||||
| Ground | n/a | GND | GND | GND |
|
| 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.
|
Note: Each target chip has different GPIO pins available for UART connection. Please refer to UART documentation for selected target for more information.
|
||||||
|
|
||||||
|
@ -2,12 +2,22 @@ menu "Modbus Example Configuration"
|
|||||||
|
|
||||||
orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps"
|
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
|
config MB_UART_PORT_NUM
|
||||||
int "UART port number"
|
int "UART port number"
|
||||||
range 0 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
range 0 2 if MB_UART_PORT_TWO
|
||||||
default 2 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
default 2 if MB_UART_PORT_TWO
|
||||||
range 0 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
range 0 1 if MB_UART_PORT_ONE
|
||||||
default 1 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
default 1 if MB_UART_PORT_ONE
|
||||||
help
|
help
|
||||||
UART communication port number for Modbus example.
|
UART communication port number for Modbus example.
|
||||||
|
|
||||||
@ -22,7 +32,8 @@ menu "Modbus Example Configuration"
|
|||||||
int "UART RXD pin number"
|
int "UART RXD pin number"
|
||||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
||||||
default 22 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6
|
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
|
help
|
||||||
GPIO number for UART RX pin. See UART documentation for more information
|
GPIO number for UART RX pin. See UART documentation for more information
|
||||||
about available pin numbers for UART.
|
about available pin numbers for UART.
|
||||||
@ -31,7 +42,8 @@ menu "Modbus Example Configuration"
|
|||||||
int "UART TXD pin number"
|
int "UART TXD pin number"
|
||||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
||||||
default 23 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6
|
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
|
help
|
||||||
GPIO number for UART TX pin. See UART documentation for more information
|
GPIO number for UART TX pin. See UART documentation for more information
|
||||||
about available pin numbers for UART.
|
about available pin numbers for UART.
|
||||||
@ -40,7 +52,8 @@ menu "Modbus Example Configuration"
|
|||||||
int "UART RTS pin number"
|
int "UART RTS pin number"
|
||||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
||||||
default 18 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C6
|
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
|
help
|
||||||
GPIO number for UART RTS pin. This pin is connected to
|
GPIO number for UART RTS pin. This pin is connected to
|
||||||
~RE/DE pin of RS485 transceiver to switch direction.
|
~RE/DE pin of RS485 transceiver to switch direction.
|
||||||
|
@ -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
|
# Modbus TCP Master Example
|
||||||
|
|
||||||
|
@ -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
|
# Modbus Slave Example
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user