esp-idf/components/freemodbus
2023-03-10 17:23:32 +08:00
..
.github/workflows freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
docs freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
freemodbus freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
test freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
.gitignore freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
.gitlab-ci.yml freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
.gitrepo freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
build_all.sh freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
CMakeLists.txt esp-modbus: fix debug message being printed for all builds 2023-03-07 02:29:00 +00:00
component.mk freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
Kconfig freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
LICENSE freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
README.md freemodbus: remove component files from esp-idf (backport v4.4) 2022-12-22 17:05:55 +08:00
sdkconfig.rename examples: freemodbus add tcp support for common master/slave iface 2020-07-22 00:34:04 +08:00

ESP-Modbus Library

Overview

An Espressif ESP-Modbus Library (esp-modbus) is a library to support Modbus communication in the networks based on RS485, WiFi, Ethernet interfaces. The Modbus is a data communications protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers (PLCs).

This library is to be used with Espressifs IoT Development Framework, ESP_IDF. The packages from this repository are uploaded to Espressifs component repository.

You can add the component to your project via idf.py add-dependency. More information about idf-component-manager can be found in Espressif API guide or PyPi registry.

The ESP-Modbus library can be used with ESP-IDF v4.1 and later. ESP-IDF v4.x releases include an earlier version of ESP-Modbus library inside freemodbus component. To use ESP-Modbus with these releases, users need to exclude the built-in freemodbus component from the build process, and update application components to depend on esp-modbus component instead. To exclude freemodbus component from compilation, add the following line to the project CMakeLists.txt file:

set(EXCLUDE_COMPONENTS freemodbus)

ESP-IDF v5.x and later releases do not include freemodbus component, so no extra steps are necessary when adding esp-modbus component.

Documentation

The documentation can be found on the link below:

Application Examples

The examples below demonstrate the ESP-Modbus library of serial, TCP ports for slave and master implementations accordingly.

Please refer to the specific example README.md for details.

Protocol References

Contributing

We welcome contributions to this project in the form of bug reports, feature requests and pull requests.

Issue reports and feature requests can be submitted using Github Issues: https://github.com/espressif/esp-modbus/issues. Please check if the issue has already been reported before opening a new one.

Contributions in the form of pull requests should follow ESP-IDF project's contribution guidelines. We kindly ask developers to start a discussion on an issue before proposing large changes to the project.

Licence

ESP-Modbus project is based on FreeMODBUS library, Copyright (c) 2006 Christian Walter and licensed under the BSD 3-clause license.

Modbus Master related code is Copyright (c) 2013 Armink and licensed under BSD 3-clause license.

All original code in this repository is Copyright (c) 2016-2022 Espressif Systems (Shanghai) Co. Ltd.

The project is distributed under Apache 2.0 license. See the accompanying LICENSE file for a copy.