espressif / esp-modbus

ESP-Modbus - the officially suppported library for Modbus protocol (serial RS485 + TCP over WiFi or Ethernet).
Apache License 2.0
100 stars 48 forks source link

FreeModbus should be an optional component (IDFGH-7124) #2

Closed brainstorm closed 2 years ago

brainstorm commented 2 years ago

On any arbitrary esp-idf example, if one disables all Modbus-related components (TCP, RTU, ASCII), the result is the error below. Ideally the FreeModbus (esp-modbus) component should be completely independent of the rest and not occupy space nor compile time when building ModBus-unrelated IDF applications:

(esp) rvalls@m1 esp_hid_device % cat sdkconfig | grep FMB
# CONFIG_FMB_COMM_MODE_TCP_EN is not set
# CONFIG_FMB_COMM_MODE_RTU_EN is not set
# CONFIG_FMB_COMM_MODE_ASCII_EN is not set
CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150
CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200
CONFIG_FMB_QUEUE_LENGTH=20
CONFIG_FMB_PORT_TASK_STACK_SIZE=4096
CONFIG_FMB_SERIAL_BUF_SIZE=256
CONFIG_FMB_PORT_TASK_PRIO=10
CONFIG_FMB_PORT_TASK_AFFINITY=0x7FFFFFFF
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
CONFIG_FMB_CONTROLLER_STACK_SIZE=4096
CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
# CONFIG_FMB_TIMER_PORT_ENABLED is not set
# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set

(esp) rvalls@m1 esp_hid_device % idf.py build
Executing action: all (aliases: build)
Running ninja in directory /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build
Executing "ninja all"...
[0/1] Re-running CMake...
-- Component directory /Users/rvalls/esp/esp-idf/components/cbor does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/coap does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/expat does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/libsodium does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/nghttp does not contain a CMakeLists.txt file. No component will be added
-- Building ESP-IDF components for target esp32c3
-- Project sdkconfig file /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/sdkconfig
Loading defaults file /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/sdkconfig.defaults...
Loading defaults file /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/sdkconfig.defaults.esp32c3...
-- App "esp_hid_device" version: v5.0-dev-2349-g4350e6fef8-dirty
-- Adding linker script /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_system/ld/esp32c3/sections.ld.in
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib-time.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt cmock console cxx driver efuse esp-tls esp32c3 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_wifi espcoredump esptool_py fatfs freemodbus freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mdns mqtt newlib nvs_flash openthread partition_table protobuf-c protocomm pthread riscv sdmmc soc spi_flash spiffs tcp_transport tinyusb ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant
-- Component paths: /Users/rvalls/esp/esp-idf/components/app_trace /Users/rvalls/esp/esp-idf/components/app_update /Users/rvalls/esp/esp-idf/components/asio /Users/rvalls/esp/esp-idf/components/bootloader /Users/rvalls/esp/esp-idf/components/bootloader_support /Users/rvalls/esp/esp-idf/components/bt /Users/rvalls/esp/esp-idf/components/cmock /Users/rvalls/esp/esp-idf/components/console /Users/rvalls/esp/esp-idf/components/cxx /Users/rvalls/esp/esp-idf/components/driver /Users/rvalls/esp/esp-idf/components/efuse /Users/rvalls/esp/esp-idf/components/esp-tls /Users/rvalls/esp/esp-idf/components/esp32c3 /Users/rvalls/esp/esp-idf/components/esp_adc_cal /Users/rvalls/esp/esp-idf/components/esp_common /Users/rvalls/esp/esp-idf/components/esp_eth /Users/rvalls/esp/esp-idf/components/esp_event /Users/rvalls/esp/esp-idf/components/esp_gdbstub /Users/rvalls/esp/esp-idf/components/esp_hid /Users/rvalls/esp/esp-idf/components/esp_http_client /Users/rvalls/esp/esp-idf/components/esp_http_server /Users/rvalls/esp/esp-idf/components/esp_https_ota /Users/rvalls/esp/esp-idf/components/esp_https_server /Users/rvalls/esp/esp-idf/components/esp_hw_support /Users/rvalls/esp/esp-idf/components/esp_lcd /Users/rvalls/esp/esp-idf/components/esp_local_ctrl /Users/rvalls/esp/esp-idf/components/esp_netif /Users/rvalls/esp/esp-idf/components/esp_phy /Users/rvalls/esp/esp-idf/components/esp_pm /Users/rvalls/esp/esp-idf/components/esp_ringbuf /Users/rvalls/esp/esp-idf/components/esp_rom /Users/rvalls/esp/esp-idf/components/esp_serial_slave_link /Users/rvalls/esp/esp-idf/components/esp_system /Users/rvalls/esp/esp-idf/components/esp_timer /Users/rvalls/esp/esp-idf/components/esp_wifi /Users/rvalls/esp/esp-idf/components/espcoredump /Users/rvalls/esp/esp-idf/components/esptool_py /Users/rvalls/esp/esp-idf/components/fatfs /Users/rvalls/esp/esp-idf/components/freemodbus /Users/rvalls/esp/esp-idf/components/freertos /Users/rvalls/esp/esp-idf/components/hal /Users/rvalls/esp/esp-idf/components/heap /Users/rvalls/esp/esp-idf/components/http_parser /Users/rvalls/esp/esp-idf/components/idf_test /Users/rvalls/esp/esp-idf/components/ieee802154 /Users/rvalls/esp/esp-idf/components/json /Users/rvalls/esp/esp-idf/components/log /Users/rvalls/esp/esp-idf/components/lwip /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/main /Users/rvalls/esp/esp-idf/components/mbedtls /Users/rvalls/esp/esp-idf/components/mdns /Users/rvalls/esp/esp-idf/components/mqtt /Users/rvalls/esp/esp-idf/components/newlib /Users/rvalls/esp/esp-idf/components/nvs_flash /Users/rvalls/esp/esp-idf/components/openthread /Users/rvalls/esp/esp-idf/components/partition_table /Users/rvalls/esp/esp-idf/components/protobuf-c /Users/rvalls/esp/esp-idf/components/protocomm /Users/rvalls/esp/esp-idf/components/pthread /Users/rvalls/esp/esp-idf/components/riscv /Users/rvalls/esp/esp-idf/components/sdmmc /Users/rvalls/esp/esp-idf/components/soc /Users/rvalls/esp/esp-idf/components/spi_flash /Users/rvalls/esp/esp-idf/components/spiffs /Users/rvalls/esp/esp-idf/components/tcp_transport /Users/rvalls/esp/esp-idf/components/tinyusb /Users/rvalls/esp/esp-idf/components/ulp /Users/rvalls/esp/esp-idf/components/unity /Users/rvalls/esp/esp-idf/components/usb /Users/rvalls/esp/esp-idf/components/vfs /Users/rvalls/esp/esp-idf/components/wear_levelling /Users/rvalls/esp/esp-idf/components/wifi_provisioning /Users/rvalls/esp/esp-idf/components/wpa_supplicant
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build
[511/1061] Performing build step for 'bootloader'
[0/1] Re-running CMake...
-- Component directory /Users/rvalls/esp/esp-idf/components/cbor does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/coap does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/expat does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/libsodium does not contain a CMakeLists.txt file. No component will be added
-- Component directory /Users/rvalls/esp/esp-idf/components/nghttp does not contain a CMakeLists.txt file. No component will be added
-- Building ESP-IDF components for target esp32c3
-- Project sdkconfig file /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/sdkconfig
-- Adding linker script /Users/rvalls/esp/esp-idf/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c3/bootloader.ld
-- Adding linker script /Users/rvalls/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c3/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32c3 esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table riscv soc spi_flash
-- Component paths: /Users/rvalls/esp/esp-idf/components/bootloader /Users/rvalls/esp/esp-idf/components/bootloader_support /Users/rvalls/esp/esp-idf/components/efuse /Users/rvalls/esp/esp-idf/components/esp32c3 /Users/rvalls/esp/esp-idf/components/esp_common /Users/rvalls/esp/esp-idf/components/esp_hw_support /Users/rvalls/esp/esp-idf/components/esp_rom /Users/rvalls/esp/esp-idf/components/esp_system /Users/rvalls/esp/esp-idf/components/esptool_py /Users/rvalls/esp/esp-idf/components/freertos /Users/rvalls/esp/esp-idf/components/hal /Users/rvalls/esp/esp-idf/components/log /Users/rvalls/esp/esp-idf/components/bootloader/subproject/main /Users/rvalls/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /Users/rvalls/esp/esp-idf/components/newlib /Users/rvalls/esp/esp-idf/components/partition_table /Users/rvalls/esp/esp-idf/components/riscv /Users/rvalls/esp/esp-idf/components/soc /Users/rvalls/esp/esp-idf/components/spi_flash
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/bootloader
[1/5] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[2/5] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[3/5] Linking C executable bootloader.elf
[4/5] Generating binary image from built executable
esptool.py v3.3-dev
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
Generated /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/bootloader/bootloader.bin
[5/5] cd /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/bootloader/esp-idf/esptool_py && /Users/rvalls/.espressif/python_env/idf5.0_py3.10_env/bin/python /Users/rvalls/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/bootloader/bootloader.bin
Bootloader binary size 0x5180 bytes. 0x2e80 bytes (36%) free.
[928/1059] Building C object esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_master.c.obj
FAILED: esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_master.c.obj
/Users/rvalls/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc  -I/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/config -I/Users/rvalls/esp/esp-idf/components/freemodbus/common/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/common -I/Users/rvalls/esp/esp-idf/components/freemodbus/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/functions -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/rtu -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/tcp -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/newlib/platform_include -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/Users/rvalls/esp/esp-idf/components/heap/include -I/Users/rvalls/esp/esp-idf/components/log/include -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/rvalls/esp/esp-idf/components/lwip/lwip/src/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/rvalls/esp/esp-idf/components/soc/include -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/include -I/Users/rvalls/esp/esp-idf/components/hal/platform_port/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_common/include -I/Users/rvalls/esp/esp-idf/components/esp_system/include -I/Users/rvalls/esp/esp-idf/components/esp_system/port/soc -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/riscv -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/private -I/Users/rvalls/esp/esp-idf/components/riscv/include -I/Users/rvalls/esp/esp-idf/components/vfs/include -I/Users/rvalls/esp/esp-idf/components/esp_wifi/include -I/Users/rvalls/esp/esp-idf/components/esp_event/include -I/Users/rvalls/esp/esp-idf/components/esp_netif/include -I/Users/rvalls/esp/esp-idf/components/esp_eth/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/esp_timer/include -I/Users/rvalls/esp/esp-idf/components/driver/include -I/Users/rvalls/esp/esp-idf/components/driver/deprecated -I/Users/rvalls/esp/esp-idf/components/esp_pm/include -I/Users/rvalls/esp/esp-idf/components/esp_ringbuf/include -march=rv32imc  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Og -fmacro-prefix-map=/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device=. -fmacro-prefix-map=/Users/rvalls/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0-dev-2349-g4350e6fef8-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_master.c.obj -MF esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_master.c.obj.d -o esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_master.c.obj -c /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_master.c
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/port/port.h:43,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb.h:41,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_callbacks.h:12,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/mbc_master.h:20,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_master.c:8:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mbconfig.h:73:2: error: #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
 #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
  ^~~~~
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_callbacks.h:13,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/mbc_master.h:20,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_master.c:8:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:408:1: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 eMBMasterErrorEventType eMBMasterGetErrorType( void );
 ^~~~~~~~~~~~~~~~~~~~~~~
 eMBEventType
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:409:29: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 void vMBMasterSetErrorType( eMBMasterErrorEventType errorType );
                             ^~~~~~~~~~~~~~~~~~~~~~~
                             eMBEventType
[929/1059] Building C object esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb.c.obj
FAILED: esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb.c.obj
/Users/rvalls/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc  -I/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/config -I/Users/rvalls/esp/esp-idf/components/freemodbus/common/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/common -I/Users/rvalls/esp/esp-idf/components/freemodbus/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/functions -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/rtu -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/tcp -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/newlib/platform_include -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/Users/rvalls/esp/esp-idf/components/heap/include -I/Users/rvalls/esp/esp-idf/components/log/include -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/rvalls/esp/esp-idf/components/lwip/lwip/src/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/rvalls/esp/esp-idf/components/soc/include -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/include -I/Users/rvalls/esp/esp-idf/components/hal/platform_port/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_common/include -I/Users/rvalls/esp/esp-idf/components/esp_system/include -I/Users/rvalls/esp/esp-idf/components/esp_system/port/soc -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/riscv -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/private -I/Users/rvalls/esp/esp-idf/components/riscv/include -I/Users/rvalls/esp/esp-idf/components/vfs/include -I/Users/rvalls/esp/esp-idf/components/esp_wifi/include -I/Users/rvalls/esp/esp-idf/components/esp_event/include -I/Users/rvalls/esp/esp-idf/components/esp_netif/include -I/Users/rvalls/esp/esp-idf/components/esp_eth/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/esp_timer/include -I/Users/rvalls/esp/esp-idf/components/driver/include -I/Users/rvalls/esp/esp-idf/components/driver/deprecated -I/Users/rvalls/esp/esp-idf/components/esp_pm/include -I/Users/rvalls/esp/esp-idf/components/esp_ringbuf/include -march=rv32imc  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Og -fmacro-prefix-map=/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device=. -fmacro-prefix-map=/Users/rvalls/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0-dev-2349-g4350e6fef8-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb.c.obj -MF esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb.c.obj.d -o esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb.c.obj -c /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/mb.c
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/port/port.h:43,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/mb.c:43:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mbconfig.h:73:2: error: #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
 #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
  ^~~~~
[930/1059] Building C object esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_slave.c.obj
FAILED: esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_slave.c.obj
/Users/rvalls/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc  -I/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/config -I/Users/rvalls/esp/esp-idf/components/freemodbus/common/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/common -I/Users/rvalls/esp/esp-idf/components/freemodbus/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/functions -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/rtu -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/tcp -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/newlib/platform_include -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/Users/rvalls/esp/esp-idf/components/heap/include -I/Users/rvalls/esp/esp-idf/components/log/include -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/rvalls/esp/esp-idf/components/lwip/lwip/src/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/rvalls/esp/esp-idf/components/soc/include -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/include -I/Users/rvalls/esp/esp-idf/components/hal/platform_port/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_common/include -I/Users/rvalls/esp/esp-idf/components/esp_system/include -I/Users/rvalls/esp/esp-idf/components/esp_system/port/soc -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/riscv -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/private -I/Users/rvalls/esp/esp-idf/components/riscv/include -I/Users/rvalls/esp/esp-idf/components/vfs/include -I/Users/rvalls/esp/esp-idf/components/esp_wifi/include -I/Users/rvalls/esp/esp-idf/components/esp_event/include -I/Users/rvalls/esp/esp-idf/components/esp_netif/include -I/Users/rvalls/esp/esp-idf/components/esp_eth/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/esp_timer/include -I/Users/rvalls/esp/esp-idf/components/driver/include -I/Users/rvalls/esp/esp-idf/components/driver/deprecated -I/Users/rvalls/esp/esp-idf/components/esp_pm/include -I/Users/rvalls/esp/esp-idf/components/esp_ringbuf/include -march=rv32imc  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Og -fmacro-prefix-map=/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device=. -fmacro-prefix-map=/Users/rvalls/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0-dev-2349-g4350e6fef8-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_slave.c.obj -MF esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_slave.c.obj.d -o esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/common/esp_modbus_slave.c.obj -c /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_slave.c
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/port/port.h:43,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb.h:41,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_callbacks.h:12,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/mbc_slave.h:17,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_slave.c:11:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mbconfig.h:73:2: error: #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
 #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
  ^~~~~
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_callbacks.h:13,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/mbc_slave.h:17,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/common/esp_modbus_slave.c:11:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:408:1: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 eMBMasterErrorEventType eMBMasterGetErrorType( void );
 ^~~~~~~~~~~~~~~~~~~~~~~
 eMBEventType
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:409:29: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 void vMBMasterSetErrorType( eMBMasterErrorEventType errorType );
                             ^~~~~~~~~~~~~~~~~~~~~~~
                             eMBEventType
[931/1059] Building C object esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb_m.c.obj
FAILED: esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb_m.c.obj
/Users/rvalls/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc  -I/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/config -I/Users/rvalls/esp/esp-idf/components/freemodbus/common/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/common -I/Users/rvalls/esp/esp-idf/components/freemodbus/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/functions -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/rtu -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/tcp -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/newlib/platform_include -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/Users/rvalls/esp/esp-idf/components/heap/include -I/Users/rvalls/esp/esp-idf/components/log/include -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/rvalls/esp/esp-idf/components/lwip/lwip/src/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/rvalls/esp/esp-idf/components/soc/include -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/include -I/Users/rvalls/esp/esp-idf/components/hal/platform_port/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_common/include -I/Users/rvalls/esp/esp-idf/components/esp_system/include -I/Users/rvalls/esp/esp-idf/components/esp_system/port/soc -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/riscv -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/private -I/Users/rvalls/esp/esp-idf/components/riscv/include -I/Users/rvalls/esp/esp-idf/components/vfs/include -I/Users/rvalls/esp/esp-idf/components/esp_wifi/include -I/Users/rvalls/esp/esp-idf/components/esp_event/include -I/Users/rvalls/esp/esp-idf/components/esp_netif/include -I/Users/rvalls/esp/esp-idf/components/esp_eth/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/esp_timer/include -I/Users/rvalls/esp/esp-idf/components/driver/include -I/Users/rvalls/esp/esp-idf/components/driver/deprecated -I/Users/rvalls/esp/esp-idf/components/esp_pm/include -I/Users/rvalls/esp/esp-idf/components/esp_ringbuf/include -march=rv32imc  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Og -fmacro-prefix-map=/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device=. -fmacro-prefix-map=/Users/rvalls/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0-dev-2349-g4350e6fef8-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb_m.c.obj -MF esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb_m.c.obj.d -o esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/mb_m.c.obj -c /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/mb_m.c
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/port/port.h:43,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/mb_m.c:43:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mbconfig.h:73:2: error: #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
 #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
  ^~~~~
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/mb_m.c:47:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:408:1: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 eMBMasterErrorEventType eMBMasterGetErrorType( void );
 ^~~~~~~~~~~~~~~~~~~~~~~
 eMBEventType
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:409:29: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 void vMBMasterSetErrorType( eMBMasterErrorEventType errorType );
                             ^~~~~~~~~~~~~~~~~~~~~~~
                             eMBEventType
[932/1059] Building C object esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii.c.obj
FAILED: esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii.c.obj
/Users/rvalls/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc  -I/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/config -I/Users/rvalls/esp/esp-idf/components/freemodbus/common/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/common -I/Users/rvalls/esp/esp-idf/components/freemodbus/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/functions -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/rtu -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/tcp -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/newlib/platform_include -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/Users/rvalls/esp/esp-idf/components/heap/include -I/Users/rvalls/esp/esp-idf/components/log/include -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/rvalls/esp/esp-idf/components/lwip/lwip/src/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/rvalls/esp/esp-idf/components/soc/include -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/include -I/Users/rvalls/esp/esp-idf/components/hal/platform_port/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_common/include -I/Users/rvalls/esp/esp-idf/components/esp_system/include -I/Users/rvalls/esp/esp-idf/components/esp_system/port/soc -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/riscv -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/private -I/Users/rvalls/esp/esp-idf/components/riscv/include -I/Users/rvalls/esp/esp-idf/components/vfs/include -I/Users/rvalls/esp/esp-idf/components/esp_wifi/include -I/Users/rvalls/esp/esp-idf/components/esp_event/include -I/Users/rvalls/esp/esp-idf/components/esp_netif/include -I/Users/rvalls/esp/esp-idf/components/esp_eth/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/esp_timer/include -I/Users/rvalls/esp/esp-idf/components/driver/include -I/Users/rvalls/esp/esp-idf/components/driver/deprecated -I/Users/rvalls/esp/esp-idf/components/esp_pm/include -I/Users/rvalls/esp/esp-idf/components/esp_ringbuf/include -march=rv32imc  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Og -fmacro-prefix-map=/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device=. -fmacro-prefix-map=/Users/rvalls/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0-dev-2349-g4350e6fef8-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii.c.obj -MF esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii.c.obj.d -o esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii.c.obj -c /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii/mbascii.c
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/port/port.h:43,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii/mbascii.c:43:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mbconfig.h:73:2: error: #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
 #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
  ^~~~~
[935/1059] Building C object esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii_m.c.obj
FAILED: esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii_m.c.obj
/Users/rvalls/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc  -I/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device/build/config -I/Users/rvalls/esp/esp-idf/components/freemodbus/common/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/common -I/Users/rvalls/esp/esp-idf/components/freemodbus/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/functions -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/rtu -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/tcp -I/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/serial_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_slave/modbus_controller -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/port -I/Users/rvalls/esp/esp-idf/components/freemodbus/tcp_master/modbus_controller -I/Users/rvalls/esp/esp-idf/components/newlib/platform_include -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include/freertos -I/Users/rvalls/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/Users/rvalls/esp/esp-idf/components/freertos/esp_additions/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/include/soc/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/esp_hw_support/port/esp32c3/private_include -I/Users/rvalls/esp/esp-idf/components/heap/include -I/Users/rvalls/esp/esp-idf/components/log/include -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps -I/Users/rvalls/esp/esp-idf/components/lwip/include/apps/sntp -I/Users/rvalls/esp/esp-idf/components/lwip/lwip/src/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include -I/Users/rvalls/esp/esp-idf/components/lwip/port/esp32/include/arch -I/Users/rvalls/esp/esp-idf/components/soc/include -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/. -I/Users/rvalls/esp/esp-idf/components/soc/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/hal/include -I/Users/rvalls/esp/esp-idf/components/hal/platform_port/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include -I/Users/rvalls/esp/esp-idf/components/esp_rom/include/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_rom/esp32c3 -I/Users/rvalls/esp/esp-idf/components/esp_common/include -I/Users/rvalls/esp/esp-idf/components/esp_system/include -I/Users/rvalls/esp/esp-idf/components/esp_system/port/soc -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/riscv -I/Users/rvalls/esp/esp-idf/components/esp_system/port/include/private -I/Users/rvalls/esp/esp-idf/components/riscv/include -I/Users/rvalls/esp/esp-idf/components/vfs/include -I/Users/rvalls/esp/esp-idf/components/esp_wifi/include -I/Users/rvalls/esp/esp-idf/components/esp_event/include -I/Users/rvalls/esp/esp-idf/components/esp_netif/include -I/Users/rvalls/esp/esp-idf/components/esp_eth/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/include -I/Users/rvalls/esp/esp-idf/components/esp_phy/esp32c3/include -I/Users/rvalls/esp/esp-idf/components/esp_timer/include -I/Users/rvalls/esp/esp-idf/components/driver/include -I/Users/rvalls/esp/esp-idf/components/driver/deprecated -I/Users/rvalls/esp/esp-idf/components/esp_pm/include -I/Users/rvalls/esp/esp-idf/components/esp_ringbuf/include -march=rv32imc  -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -Wno-error=format= -nostartfiles -Wno-format -Og -fmacro-prefix-map=/Users/rvalls/esp/esp-idf/examples/bluetooth/esp_hid_device=. -fmacro-prefix-map=/Users/rvalls/esp/esp-idf=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0-dev-2349-g4350e6fef8-dirty\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii_m.c.obj -MF esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii_m.c.obj.d -o esp-idf/freemodbus/CMakeFiles/__idf_freemodbus.dir/modbus/ascii/mbascii_m.c.obj -c /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii/mbascii_m.c
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/port/port.h:43,
                 from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii/mbascii_m.c:41:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mbconfig.h:73:2: error: #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
 #error "None of Modbus communication mode is enabled. Please enable one of (ASCII, RTU, TCP) mode in Kconfig."
  ^~~~~
In file included from /Users/rvalls/esp/esp-idf/components/freemodbus/modbus/ascii/mbascii_m.c:44:
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:408:1: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 eMBMasterErrorEventType eMBMasterGetErrorType( void );
 ^~~~~~~~~~~~~~~~~~~~~~~
 eMBEventType
/Users/rvalls/esp/esp-idf/components/freemodbus/modbus/include/mb_m.h:409:29: error: unknown type name 'eMBMasterErrorEventType'; did you mean 'eMBEventType'?
 void vMBMasterSetErrorType( eMBMasterErrorEventType errorType );
                             ^~~~~~~~~~~~~~~~~~~~~~~
                             eMBEventType
[937/1059] Building CXX object esp-idf/asio/CMakeFiles/__idf_asio.dir/asio/asio/src/asio.cpp.obj
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
igrr commented 2 years ago

Hi @brainstorm, modbus component is being moved out of esp-idf to https://github.com/espressif/esp-modbus in the upcoming v5.0 release.

If you don't use modbus in the application, you can trim the build to not contain freemodbus component.

For example, you can do this by adding set(EXCLUDE_COMPONENTS freemodbus) to you project CMakeLists.txt, before the line where you include project.cmake.

You can also use set(COMPONENTS main) to trim the build even further, and then explicitly set component requirements (REQUIRES or PRIV_REQUIRES arguments of idf_component_register) in every component of your application (including main).

(Example: https://github.com/espressif/esp-idf/blob/4350e6fef859b94f3efae6ceced751911c9d2cbc/components/newlib/test_apps/CMakeLists.txt#L5, https://github.com/espressif/esp-idf/blob/4350e6fef859b94f3efae6ceced751911c9d2cbc/components/newlib/test_apps/main/CMakeLists.txt#L5)

brainstorm commented 2 years ago

Thanks Ivan, TIL ;)