21 Commits

Author SHA1 Message Date
Alex Lisitsyn 4938cbee31 fix build docs, fix extended types enable option v1 2024-09-20 21:14:34 +08:00
Alex Lisitsyn 6b3ba11fd6 docs fix extended types enable option v1 2024-09-16 20:46:25 +08:00
Alex Lisitsyn b643775c08 feature add modbus user error handler 2024-06-07 20:46:15 +08:00
Alex Lisitsyn 78c809142a doc: describe on how to override modbus serial comm opts 2024-04-29 22:44:08 +08:00
Alex Lisitsyn 0cf6bb2c6a modbus add extended float/integer support for custom and third party devices 2024-04-19 17:11:08 +08:00
Alex Lisitsyn 469eb71e07 modbus add esp32p4 target support 2024-01-26 18:13:02 +08:00
Alex Lisitsyn 3c9106aaf2 add ascii/bin parameter description into documentation 2023-09-29 20:12:01 +08:00
Alex Lisitsyn bf34b5bb8d modbus master fix event loop and kconfig 2023-06-20 02:38:53 +08:00
Alex Lisitsyn c5c6a7788d fix modbus serial event misalingnment 2022-12-06 22:33:06 +08:00
Ivan Grokhotkov cc3a304fb7 version: release 1.0.1 2022-04-20 07:23:50 +02:00
Alex Lisitsyn c45653d92d esp-modbus: fix docs versions is not included because of CORB 2022-04-07 20:50:58 +08:00
aleks 28edd9f007 esp-modbus: add_component_license_readme_version_selector 2022-04-06 09:21:41 +02:00
Alex Lisitsyn 304a0a446a esp-modbus: initial component update 2022-04-05 15:33:17 +08:00
Darian Leung ea81bd7fef freertos: Remove legacy data types
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
2022-03-21 13:18:30 +01:00
aleks 71ee6f844a freemodbus: update the modbus documentation doc-1641
* Original commit: espressif/esp-idf@b9b2cab8f9
2022-03-21 13:15:54 +01:00
Alex Lisitsyn bf49bec977 examples: freemodbus add tcp support for common master/slave iface
Add TCP port files to provide Modbus TCP interface for communication
Add freemodbus add tcp support for common master/slave iface and tcp example based on socket API
The communication between master and slave checked for each example serial_master, serial_slave (use ModbusPoll TCP)
update tcp example according netif changes, fix ci issues
update TCP slave implementation
update example_test.py to to set IP through stdin
update API documentation
event bit instead of semahore to lock communication resource
update default options and master/slave port files

Closes https://github.com/espressif/esp-idf/issues/858
Closes IDF-452


* Original commit: espressif/esp-idf@d0b9829eef
2022-03-21 13:15:54 +01:00
Alex Lisitsyn 9f6f956db8 freemodbus: add modbus master ascii
add support of modbus master ascii
rename base dir name of master and slave example to be mb_slave, mb_master to avoid conflict with sdio/slave example test
add Kconfig option to enable ASCII and RTU mode separately
update ASCII options + remove cast for errors
added baudrate for examples into Kconfig
updated magic numbers for timer timeout
put ascii private definitions into one file


* Original commit: espressif/esp-idf@67f62a79c1
2022-03-21 13:15:54 +01:00
Roland Dobai 786ade0c0d Rename Kconfig options (components/freemodbus)
* Original commit: espressif/esp-idf@976d2a4b7f
2022-03-21 13:13:26 +01:00
Alex Lisitsyn e039ae7acc freemodbus: Fix bug with incorrect coils read mask
Contains two different component folders per each implementation (serial_master and serial_slave) with concrete ports.
Added common public api for master and slave and common interface for master and slave implementation.
Add support of cmake system (added cmake files).
Added sdkconfig.defaults files for slave and master modbus examples.
Updated make file and KConfig for freemodbus component
Update according to review and fix doxygen warnings
Fix Doxyfile to pass documentation build
Update headers and change interface file names as per review comments
Merge  branch feature/freemodbus_move_rs485_mode_control
Update after review:
The stack modbus folder updated to support master and slave ports together and moved into freemodbus/modbus
Stack and port files updated to remove duplicated simbols
Make file, KConfig and CMakeLists.txt updated to compile master and slave stacks, common interface and concrete implementations of ports
Stack callback functions execute callbacks using interface pointer from concrete port implementation
User can instantiate any of concrete port using common API (only one concrete port at a time) and it does not require to select port by KConfig
Port pins and mode configuration moved into example files from port files to allow user select pins and port mode (customer request)
Changes tested using pymodbus, ModbusPoll and communication between two boards
Updated DoxyFile according to public include path
Fix maximum instance size for slave (merge from master of customer issue)
Fix critical section issue TW#28622 (change spin lock based critical section to semaphore)
Move serial port files into component port folder for master and slave accordingly
Fix example issue showed in the log when IO slave is not configured correctly
Fix conflicts while merging from origin/master
Fix errors handling in modbus controller interface + some final corrections according to review
Update maximum allowed number of slaves in the network segment
Fix bug with incorrect coils read mask

Closes https://github.com/espressif/esp-idf/issues/858


* Original commit: espressif/esp-idf@449d2a6367
2022-03-21 13:13:26 +01:00
Anton Maklakov 5f40771c1e modbus: Fix a typo in the docs
* Original commit: espressif/esp-idf@9dde91ce2b
2022-03-21 13:13:26 +01:00
Alex Lisitsyn a3ff5b55c9 examples: freemodbus port slave basic implementation
This example adds functionality to support basic communication in RS485 networks using Modbus protocol.
This example uses FreeModbus stack and regular UART driver API to communicate in RS485 half duplex mode.
Added initial support of modbus controller pure C api to access device parameters over Modbus transport.
Move freemodbus stack and port files into components folder
Move the modbus_controller interface into components idf folder
Source files updated after review.
Add modbus interface documentation docs/en/api-reference/protocols/modbus.rst
porttimer.c: fix bug with timer1 selected in the Kconfig
Add support of cmake system (added cmake files)

Closes https://github.com/espressif/esp-idf/issues/858


* Original commit: espressif/esp-idf@f0eb9985b9
2022-03-21 13:07:11 +01:00