From d6f734001d0c7d661895bd14357984e47d60110e Mon Sep 17 00:00:00 2001 From: Rimco Date: Thu, 27 Feb 2025 10:49:14 +0100 Subject: [PATCH 1/3] Add missing stop function for TCP slave. Same order as serial slave. Closes https://github.com/espressif/esp-modbus/pull/98 --- modbus/mb_controller/tcp/mbc_tcp_slave.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modbus/mb_controller/tcp/mbc_tcp_slave.c b/modbus/mb_controller/tcp/mbc_tcp_slave.c index c936712..01fc611 100644 --- a/modbus/mb_controller/tcp/mbc_tcp_slave.c +++ b/modbus/mb_controller/tcp/mbc_tcp_slave.c @@ -182,10 +182,11 @@ esp_err_t mbc_tcp_slave_controller_create(void ** ctx) // Initialization of interface pointers mbs_controller_iface->create = mbc_tcp_slave_create; mbs_controller_iface->delete = mbc_tcp_slave_delete; - mbs_controller_iface->start = mbc_tcp_slave_start; mbs_controller_iface->check_event = mbc_tcp_slave_check_event; mbs_controller_iface->get_param_info = mbc_tcp_slave_get_param_info; mbs_controller_iface->set_descriptor = NULL; // Use common descriptor setter + mbs_controller_iface->start = mbc_tcp_slave_start; + mbs_controller_iface->stop = mbc_tcp_slave_stop; *ctx = mbs_controller_iface; return ESP_OK; From b331cd4ccf05b0516f280f43d17ec211599c7516 Mon Sep 17 00:00:00 2001 From: aleks Date: Thu, 27 Feb 2025 11:28:19 +0100 Subject: [PATCH 2/3] cpp test explicitly check the controller stop method --- .../cpp/modbus_serial_cpp_test/main/serial_test.cpp | 3 +++ .../pytest_cpp_mb_serial_master_slave.py | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/test_apps/cpp/modbus_serial_cpp_test/main/serial_test.cpp b/test_apps/cpp/modbus_serial_cpp_test/main/serial_test.cpp index bc162ba..4623a8c 100644 --- a/test_apps/cpp/modbus_serial_cpp_test/main/serial_test.cpp +++ b/test_apps/cpp/modbus_serial_cpp_test/main/serial_test.cpp @@ -116,10 +116,13 @@ extern "C" void app_main(void) // Initialization of device peripheral and objects ESP_LOGI(TAG, "Setup master cpp...."); ESP_ERROR_CHECK(master_serial_init(&pmaster_handle)); + ESP_ERROR_CHECK(mbc_master_stop(pmaster_handle)); ESP_ERROR_CHECK(mbc_master_delete(pmaster_handle)); ESP_LOGI(TAG, "Master test passed successfully."); ESP_LOGI(TAG, "Setup slave cpp...."); ESP_ERROR_CHECK(slave_serial_init(&pslave_handle)); + // explicitly check stop method before delete + ESP_ERROR_CHECK(mbc_slave_stop(pslave_handle)); ESP_ERROR_CHECK(mbc_slave_delete(pslave_handle)); ESP_LOGI(TAG, "Slave test passed successfully."); } diff --git a/test_apps/cpp/modbus_serial_cpp_test/pytest_cpp_mb_serial_master_slave.py b/test_apps/cpp/modbus_serial_cpp_test/pytest_cpp_mb_serial_master_slave.py index eb13ca8..38cdbaa 100644 --- a/test_apps/cpp/modbus_serial_cpp_test/pytest_cpp_mb_serial_master_slave.py +++ b/test_apps/cpp/modbus_serial_cpp_test/pytest_cpp_mb_serial_master_slave.py @@ -3,13 +3,15 @@ import pytest from pytest_embedded import Dut +MB_APP_WAIT_TOUT_SEC = 10 + @pytest.mark.esp32 @pytest.mark.generic def test_cpp_mb_serial_master_slave(dut: Dut) -> None: dut.expect('Setup master cpp....') - dut.expect('Modbus master stack initialized...', timeout=5) - dut.expect('Master test passed successfully.', timeout=5) + dut.expect('Modbus master stack initialized...', timeout=MB_APP_WAIT_TOUT_SEC) + dut.expect('Master test passed successfully.', timeout=MB_APP_WAIT_TOUT_SEC) dut.expect('Setup slave cpp....') - dut.expect('Modbus slave stack initialized...', timeout=5) - dut.expect('Slave test passed successfully.', timeout=5) + dut.expect('Modbus slave stack initialized...', timeout=MB_APP_WAIT_TOUT_SEC) + dut.expect('Slave test passed successfully.', timeout=MB_APP_WAIT_TOUT_SEC) dut.expect('Returned from app_main()') From a93a0a328e51fc3eb187639121cdebe7ba99b3fc Mon Sep 17 00:00:00 2001 From: aleks Date: Thu, 27 Feb 2025 11:39:47 +0100 Subject: [PATCH 3/3] bump the component version --- idf_component.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idf_component.yml b/idf_component.yml index 5ef896c..d9482c9 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -1,4 +1,4 @@ -version: "2.0.1~1" +version: "2.0.2" description: ESP-MODBUS is the official Modbus library for Espressif SoCs. url: https://github.com/espressif/esp-modbus dependencies: