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
267 lines
10 KiB
Text
267 lines
10 KiB
Text
# This is Doxygen configuration file
|
|
#
|
|
# Doxygen provides over 260 configuration statements
|
|
# To make this file easier to follow,
|
|
# it contains only statements that are non-default
|
|
#
|
|
# NOTE:
|
|
# It is recommended not to change defaults unless specifically required
|
|
# Test any changes how they affect generated documentation
|
|
# Make sure that correct warnings are generated to flag issues with documented code
|
|
#
|
|
# For the complete list of configuration statements see:
|
|
# https://www.stack.nl/~dimitri/doxygen/manual/config.html
|
|
|
|
|
|
PROJECT_NAME = "ESP32 Programming Guide"
|
|
|
|
## The 'INPUT' statement below is used as input by script 'gen-df-input.py'
|
|
## to automatically generate API reference list files heder_file.inc
|
|
## These files are placed in '_inc' directory
|
|
## and used to include in API reference documentation
|
|
|
|
INPUT = \
|
|
##
|
|
## Wi-Fi - API Reference
|
|
##
|
|
../../components/esp_wifi/include/esp_wifi.h \
|
|
../../components/esp_wifi/include/esp_wifi_types.h \
|
|
../../components/esp_wifi/include/esp_smartconfig.h \
|
|
../../components/esp_wifi/include/esp_now.h \
|
|
## Mesh - API Reference
|
|
../../components/esp_wifi/include/esp_mesh.h \
|
|
## Event loop - API Reference
|
|
../../components/esp_event/include/esp_event.h \
|
|
../../components/esp_event/include/esp_event_base.h \
|
|
../../components/esp_event/include/esp_event_legacy.h \
|
|
## Bluetooth - API Reference
|
|
## Controller && VHCI
|
|
../../components/bt/include/esp_bt.h \
|
|
## Bluetooth COMMON
|
|
## Issue with __attribute__
|
|
../../components/bt/bluedroid/api/include/api/esp_bt_defs.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_bt_main.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_bt_device.h \
|
|
## Bluetooth LE
|
|
../../components/bt/bluedroid/api/include/api/esp_gap_ble_api.h \
|
|
## Issue with __attribute__
|
|
../../components/bt/bluedroid/api/include/api/esp_gatt_defs.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_gatts_api.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_gattc_api.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_blufi_api.h \
|
|
## Bluetooth Classic
|
|
../../components/bt/bluedroid/api/include/api/esp_gap_bt_api.h \
|
|
## Issue with __attribute__
|
|
../../components/bt/bluedroid/api/include/api/esp_a2dp_api.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_avrc_api.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_spp_api.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_hf_defs.h \
|
|
../../components/bt/bluedroid/api/include/api/esp_hf_client_api.h \
|
|
##
|
|
## Ethernet - API Reference
|
|
##
|
|
../../components/ethernet/include/esp_eth.h \
|
|
../../components/ethernet/include/eth_phy/phy.h \
|
|
../../components/ethernet/include/eth_phy/phy_tlk110.h \
|
|
../../components/ethernet/include/eth_phy/phy_lan8720.h \
|
|
../../components/ethernet/include/eth_phy/phy_ip101.h \
|
|
##
|
|
## Peripherals - API Reference
|
|
##
|
|
../../components/driver/include/driver/adc.h \
|
|
../../components/driver/include/driver/can.h \
|
|
../../components/driver/include/driver/dac.h \
|
|
../../components/driver/include/driver/gpio.h \
|
|
../../components/driver/include/driver/rtc_io.h \
|
|
../../components/driver/include/driver/i2c.h \
|
|
../../components/driver/include/driver/i2s.h \
|
|
../../components/driver/include/driver/ledc.h \
|
|
../../components/driver/include/driver/mcpwm.h \
|
|
../../components/driver/include/driver/pcnt.h \
|
|
../../components/driver/include/driver/rmt.h \
|
|
../../components/driver/include/driver/sigmadelta.h \
|
|
../../components/driver/include/driver/spi_common.h \
|
|
../../components/driver/include/driver/spi_master.h \
|
|
../../components/driver/include/driver/spi_slave.h \
|
|
../../components/driver/include/driver/timer.h \
|
|
../../components/driver/include/driver/touch_pad.h \
|
|
../../components/driver/include/driver/uart.h \
|
|
../../components/esp_adc_cal/include/esp_adc_cal.h \
|
|
../../components/soc/esp32/include/soc/adc_channel.h \
|
|
../../components/soc/esp32/include/soc/dac_channel.h \
|
|
../../components/soc/esp32/include/soc/touch_channel.h \
|
|
../../components/soc/esp32/include/soc/uart_channel.h \
|
|
../../components/soc/esp32/include/soc/rtc_gpio_channel.h \
|
|
## tcpip_adapter - API Reference
|
|
../../components/tcpip_adapter/include/tcpip_adapter.h \
|
|
##
|
|
## Protocols - API Reference
|
|
##
|
|
## ESP-TLS
|
|
../../components/esp-tls/esp_tls.h \
|
|
## MQTT
|
|
../../components/mqtt/esp-mqtt/include/mqtt_client.h \
|
|
## mDNS
|
|
../../components/mdns/include/mdns.h \
|
|
../../components/esp_http_client/include/esp_http_client.h \
|
|
../../components/esp_http_server/include/esp_http_server.h \
|
|
../../components/esp_https_server/include/esp_https_server.h \
|
|
##
|
|
## Provisioning - API Reference
|
|
##
|
|
## Protocol Communication
|
|
../../components/protocomm/include/common/protocomm.h \
|
|
../../components/protocomm/include/security/protocomm_security.h \
|
|
../../components/protocomm/include/security/protocomm_security0.h \
|
|
../../components/protocomm/include/security/protocomm_security1.h \
|
|
../../components/protocomm/include/transports/protocomm_ble.h \
|
|
../../components/protocomm/include/transports/protocomm_console.h \
|
|
../../components/protocomm/include/transports/protocomm_httpd.h \
|
|
## WiFi Provisioning
|
|
../../components/wifi_provisioning/include/wifi_provisioning/wifi_config.h \
|
|
##
|
|
## Storage - API Reference
|
|
##
|
|
## SPI Flash and Partition APIs
|
|
../../components/spi_flash/include/esp_spi_flash.h \
|
|
../../components/spi_flash/include/esp_partition.h \
|
|
../../components/bootloader_support/include/esp_flash_encrypt.h \
|
|
## SPIFFS
|
|
../../components/spiffs/include/esp_spiffs.h \
|
|
## SD/MMC Card Host
|
|
../../components/sdmmc/include/sdmmc_cmd.h \
|
|
../../components/driver/include/driver/sdmmc_host.h \
|
|
../../components/driver/include/driver/sdmmc_types.h \
|
|
../../components/driver/include/driver/sdspi_host.h \
|
|
## SDIO slave
|
|
../../components/driver/include/driver/sdio_slave.h \
|
|
## Non-Volatile Storage
|
|
../../components/nvs_flash/include/nvs.h \
|
|
../../components/nvs_flash/include/nvs_flash.h \
|
|
## Virtual Filesystem
|
|
../../components/vfs/include/esp_vfs.h \
|
|
../../components/vfs/include/esp_vfs_dev.h \
|
|
../../components/vfs/include/esp_vfs_semihost.h \
|
|
## FAT Filesystem
|
|
## NOTE: for two lines below header_file.inc is not used
|
|
../../components/fatfs/src/esp_vfs_fat.h \
|
|
../../components/fatfs/src/diskio.h \
|
|
## Wear Levelling
|
|
../../components/wear_levelling/include/wear_levelling.h \
|
|
##
|
|
## System - API Reference
|
|
##
|
|
## Memory Allocation #
|
|
../../components/heap/include/esp_heap_caps.h \
|
|
../../components/heap/include/esp_heap_trace.h \
|
|
../../components/heap/include/esp_heap_caps_init.h \
|
|
../../components/heap/include/multi_heap.h \
|
|
## Himem
|
|
../../components/esp32/include/esp32/himem.h \
|
|
## Interrupt Allocation
|
|
../../components/esp32/include/esp_intr_alloc.h \
|
|
## Watchdogs
|
|
## NOTE: for two lines below header_file.inc is not used
|
|
../../components/esp_common/include/esp_int_wdt.h \
|
|
../../components/esp_common/include/esp_task_wdt.h \
|
|
## Hooks
|
|
../../components/esp_common/include/esp_freertos_hooks.h \
|
|
## Inter-Processor Call
|
|
../../components/esp_common/include/esp_ipc.h \
|
|
## Over The Air Updates (OTA)
|
|
../../components/app_update/include/esp_ota_ops.h \
|
|
## ESP HTTPS OTA
|
|
../../components/esp_https_ota/include/esp_https_ota.h \
|
|
## Sleep
|
|
../../components/esp32/include/esp_sleep.h \
|
|
## Logging
|
|
../../components/log/include/esp_log.h \
|
|
## Base MAC address
|
|
## NOTE: for line below header_file.inc is not used
|
|
../../components/esp_common/include/esp_system.h \
|
|
##
|
|
## ULP Coprocessor - API Guides
|
|
##
|
|
## NOTE: for line below header_file.inc is not used
|
|
../../components/ulp/include/esp32/ulp.h \
|
|
##
|
|
## Application Level Tracing - API Reference
|
|
##
|
|
../../components/app_trace/include/esp_app_trace.h \
|
|
../../components/app_trace/include/esp_sysview_trace.h \
|
|
### Power management
|
|
../../components/esp_common/include/esp_pm.h \
|
|
../../components/esp32/include/esp32/pm.h \
|
|
### esp_timer, High Resolution Timer
|
|
../../components/esp_common/include/esp_timer.h \
|
|
### esp_event, Event Loop Library
|
|
../../components/esp_event/include/esp_event.h \
|
|
../../components/esp_event/include/esp_event_base.h \
|
|
### eFuse Manager
|
|
../../components/efuse/include/esp_efuse.h \
|
|
### ESP Pthread parameters
|
|
../../components/pthread/include/esp_pthread.h \
|
|
###
|
|
### FreeRTOS
|
|
###
|
|
../../components/freertos/include/freertos/task.h \
|
|
../../components/freertos/include/freertos/queue.h \
|
|
../../components/freertos/include/freertos/semphr.h \
|
|
../../components/freertos/include/freertos/timers.h \
|
|
../../components/freertos/include/freertos/event_groups.h \
|
|
### Ringbuffer
|
|
../../components/esp_ringbuf/include/freertos/ringbuf.h \
|
|
### Helper functions for error codes
|
|
../../components/esp_common/include/esp_err.h \
|
|
### System APIs
|
|
../../components/esp_common/include/esp_system.h \
|
|
### Modbus controller component header file
|
|
../../components/freemodbus/common/include/esp_modbus_common.h \
|
|
../../components/freemodbus/common/include/esp_modbus_slave.h \
|
|
../../components/freemodbus/common/include/esp_modbus_master.h
|
|
|
|
|
|
## Get warnings for functions that have no documentation for their parameters or return value
|
|
##
|
|
WARN_NO_PARAMDOC = YES
|
|
|
|
## Enable preprocessing and remove __attribute__(...) expressions from the INPUT files
|
|
##
|
|
ENABLE_PREPROCESSING = YES
|
|
MACRO_EXPANSION = YES
|
|
EXPAND_ONLY_PREDEF = YES
|
|
PREDEFINED = \
|
|
__attribute__(x)= \
|
|
IRAM_ATTR= \
|
|
configSUPPORT_DYNAMIC_ALLOCATION=1 \
|
|
configSUPPORT_STATIC_ALLOCATION=1 \
|
|
configQUEUE_REGISTRY_SIZE=1 \
|
|
configUSE_RECURSIVE_MUTEXES=1 \
|
|
configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS=1 \
|
|
configNUM_THREAD_LOCAL_STORAGE_POINTERS=1 \
|
|
configUSE_APPLICATION_TASK_TAG=1 \
|
|
configTASKLIST_INCLUDE_COREID=1 \
|
|
"ESP_EVENT_DECLARE_BASE(x)=extern esp_event_base_t x"
|
|
|
|
## Do not complain about not having dot
|
|
##
|
|
HAVE_DOT = NO
|
|
|
|
## Generate XML that is required for Breathe
|
|
##
|
|
GENERATE_XML = YES
|
|
XML_OUTPUT = xml
|
|
|
|
GENERATE_HTML = NO
|
|
HAVE_DOT = NO
|
|
GENERATE_LATEX = NO
|
|
GENERATE_MAN = YES
|
|
GENERATE_RTF = NO
|
|
|
|
## Skip distracting progress messages
|
|
##
|
|
QUIET = YES
|
|
## Log warnings in a file for further review
|
|
##
|
|
WARN_LOGFILE = "doxygen-warning-log.txt"
|
|
|