Skip to content

ESP32Console Arduino Library revisions needed due to compilation errors #20

@wulph111

Description

@wulph111

ESP32Console Arduino Library revisions needed due to compilation errors

I don't know why I got these errors out-of-the-box using the latest ESP32 Arduino Core and the latest ESP32Console library from the library manager, but these are the steps I took to fix it. Maybe it will help someone else.

Environment

  • Arduino IDE version 1.8.19 "Portable" on Linux
  • ESP32 Arduino Core version 3.3.0
    • Board: 'ESP32 Dev Module'
  • ESP32Console v1.2.2 (jbtronics)

Compile example 'basic' (skipping compiler output before the errors)

/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp: In member function 'void ESP32Console::Console::begin(int, int, int, uint8_t)':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:102:38: error: invalid conversion from 'uint8_t' {aka 'unsigned char'} to 'uart_port_t' [-fpermissive]
  102 |         if (uart_is_driver_installed(channel)) {
      |                                      ^~~~~~~
      |                                      |
      |                                      uint8_t {aka unsigned char}
In file included from /home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:9:
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_driver_uart/include/driver/uart.h:143:43: note:   initializing argument 1 of 'bool uart_is_driver_installed(uart_port_t)'
  143 | bool uart_is_driver_installed(uart_port_t uart_num);
      |                               ~~~~~~~~~~~~^~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:103:32: error: invalid conversion from 'uint8_t' {aka 'unsigned char'} to 'uart_port_t' [-fpermissive]
  103 |             uart_driver_delete(channel);
      |                                ^~~~~~~
      |                                |
      |                                uint8_t {aka unsigned char}
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_driver_uart/include/driver/uart.h:132:42: note:   initializing argument 1 of 'esp_err_t uart_driver_delete(uart_port_t)'
  132 | esp_err_t uart_driver_delete(uart_port_t uart_num);
      |                              ~~~~~~~~~~~~^~~~~~~~
In file included from /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/heap/include/esp_heap_caps.h:13,
                 from /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/console/esp_console.h:14,
                 from /home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/./Console.h:7,
                 from /home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:1:
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:134:43: error: invalid conversion from 'uint8_t' {aka 'unsigned char'} to 'uart_port_t' [-fpermissive]
  134 |         ESP_ERROR_CHECK(uart_param_config(channel, &uart_config));
      |                                           ^~~~~~~
      |                                           |
      |                                           uint8_t {aka unsigned char}
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_common/include/esp_err.h:116:30: note: in definition of macro 'ESP_ERROR_CHECK'
  116 |         esp_err_t err_rc_ = (x);                                        \
      |                              ^
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_driver_uart/include/driver/uart.h:473:41: note:   initializing argument 1 of 'esp_err_t uart_param_config(uart_port_t, const uart_config_t*)'
  473 | esp_err_t uart_param_config(uart_port_t uart_num, const uart_config_t *uart_config);
      |                             ~~~~~~~~~~~~^~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:141:26: error: invalid conversion from 'uint8_t' {aka 'unsigned char'} to 'uart_port_t' [-fpermissive]
  141 |             uart_set_pin(channel, txPin, rxPin, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
      |                          ^~~~~~~
      |                          |
      |                          uint8_t {aka unsigned char}
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_driver_uart/include/driver/uart.h:423:36: note:   initializing argument 1 of 'esp_err_t uart_set_pin(uart_port_t, int, int, int, int)'
  423 | esp_err_t uart_set_pin(uart_port_t uart_num, int tx_io_num, int rx_io_num, int rts_io_num, int cts_io_num);
      |                        ~~~~~~~~~~~~^~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Console.cpp:145:45: error: invalid conversion from 'uint8_t' {aka 'unsigned char'} to 'uart_port_t' [-fpermissive]
  145 |         ESP_ERROR_CHECK(uart_driver_install(channel, 256, 0, 0, NULL, 0));
      |                                             ^~~~~~~
      |                                             |
      |                                             uint8_t {aka unsigned char}
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_common/include/esp_err.h:116:30: note: in definition of macro 'ESP_ERROR_CHECK'
  116 |         esp_err_t err_rc_ = (x);                                        \
      |                              ^
/home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/esp_driver_uart/include/driver/uart.h:121:43: note:   initializing argument 1 of 'esp_err_t uart_driver_install(uart_port_t, int, int, int, QueueDefinition**, int)'
  121 | esp_err_t uart_driver_install(uart_port_t uart_num, int rx_buffer_size, int tx_buffer_size, int queue_size, QueueHandle_t* uart_queue, int intr_alloc_flags);
      |                               ~~~~~~~~~~~~^~~~~~~~
Multiple libraries were found for "WiFi.h"
 Used: /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/hardware/esp32/3.3.0/libraries/WiFi
 Not used: /home/admin/arduino-1.8.19-portable-scratch/libraries/WiFi
Using library ESP32Console at version 1.2.2 in folder: /home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console 
Using library WiFi at version 3.3.0 in folder: /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/hardware/esp32/3.3.0/libraries/WiFi 
Using library Network at version 3.3.0 in folder: /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/hardware/esp32/3.3.0/libraries/Network 
exit status 1
Error compiling for board ESP32 Dev Module.

Change these lines

  • Console.cpp:102

    • if (uart_is_driver_installed(channel)) {
    • if (uart_is_driver_installed((uart_port_t)channel)) {
  • Console.cpp:103

    • uart_driver_delete(channel);
    • uart_driver_delete((uart_port_t)channel);
  • Console.cpp:134

    • ESP_ERROR_CHECK(uart_param_config(channel, &uart_config));
    • ESP_ERROR_CHECK(uart_param_config((uart_port_t)channel, &uart_config));
  • Console.cpp:141

    • uart_set_pin(channel, txPin, rxPin, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
    • uart_set_pin((uart_port_t)channel, txPin, rxPin, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
  • Console.cpp:145

    • ESP_ERROR_CHECK(uart_driver_install(channel, 256, 0, 0, NULL, 0));
    • ESP_ERROR_CHECK(uart_driver_install((uart_port_t)channel, 256, 0, 0, NULL, 0));

Recompile; new errors (skipping compiler output before the errors)

/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp: In function 'int _pinmode(int, char**)':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:19:20: error: 'stoul' is not a member of 'std'
   19 |         pin = std::stoul(pin_str);
      |                    ^~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:3:1: note: 'std::stoul' is defined in header ''; this is probably fixable by adding '#include '
    2 | #include "Arduino.h"
  +++ |+#include 
    3 | 
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:21:17: error: 'invalid_argument' in namespace 'std' does not name a type
   21 |     catch (std::invalid_argument ex)
      |                 ^~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:3:1: note: 'std::invalid_argument' is defined in header ''; this is probably fixable by adding '#include '
    2 | #include "Arduino.h"
  +++ |+#include 
    3 | 
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:23:59: error: 'ex' was not declared in this scope; did you mean 'exp'?
   23 |         fprintf(stderr, "Invalid argument for pin: %s\n", ex.what());
      |                                                           ^~
      |                                                           exp
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp: In function 'int _digitalWrite(int, char**)':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:80:20: error: 'stoul' is not a member of 'std'
   80 |         pin = std::stoul(pin_str);
      |                    ^~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:80:20: note: 'std::stoul' is defined in header ''; this is probably fixable by adding '#include '
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:82:17: error: 'invalid_argument' in namespace 'std' does not name a type
   82 |     catch (std::invalid_argument ex)
      |                 ^~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:82:12: note: 'std::invalid_argument' is defined in header ''; this is probably fixable by adding '#include '
   82 |     catch (std::invalid_argument ex)
      |            ^~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:84:59: error: 'ex' was not declared in this scope; did you mean 'exp'?
   84 |         fprintf(stderr, "Invalid argument for pin: %s\n", ex.what());
      |                                                           ^~
      |                                                           exp
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp: In function 'int _digitalRead(int, char**)':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:127:20: error: 'stoul' is not a member of 'std'
  127 |         pin = std::stoul(pin_str);
      |                    ^~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:127:20: note: 'std::stoul' is defined in header ''; this is probably fixable by adding '#include '
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:129:17: error: 'invalid_argument' in namespace 'std' does not name a type
  129 |     catch (std::invalid_argument ex)
      |                 ^~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:129:12: note: 'std::invalid_argument' is defined in header ''; this is probably fixable by adding '#include '
  129 |     catch (std::invalid_argument ex)
      |            ^~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:131:59: error: 'ex' was not declared in this scope; did you mean 'exp'?
  131 |         fprintf(stderr, "Invalid argument for pin: %s\n", ex.what());
      |                                                           ^~
      |                                                           exp
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp: In function 'int _analogRead(int, char**)':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:168:20: error: 'stoul' is not a member of 'std'
  168 |         pin = std::stoul(pin_str);
      |                    ^~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:168:20: note: 'std::stoul' is defined in header ''; this is probably fixable by adding '#include '
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:170:17: error: 'invalid_argument' in namespace 'std' does not name a type
  170 |     catch (std::invalid_argument ex)
      |                 ^~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:170:12: note: 'std::invalid_argument' is defined in header ''; this is probably fixable by adding '#include '
  170 |     catch (std::invalid_argument ex)
      |            ^~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/GPIOCommands.cpp:172:59: error: 'ex' was not declared in this scope; did you mean 'exp'?
  172 |         fprintf(stderr, "Invalid argument for pin: %s\n", ex.what());
      |                                                           ^~
      |                                                           exp
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/NetworkCommands.cpp: In function 'void ipconfig_wlan()':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/NetworkCommands.cpp:212:31: error: 'class WiFiClass' has no member named 'localIPv6'; did you mean 'localIP'?
  212 |     printf("IPv6: %s\n", WiFi.localIPv6().toString().c_str());
      |                               ^~~~~~~~~
      |                               localIP
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp: In function 'int sysInfo(int, char**)':
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:83:5: error: 'esp_chip_info_t' was not declared in this scope
   83 |     esp_chip_info_t info;
      |     ^~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:84:20: error: 'info' was not declared in this scope
   84 |     esp_chip_info(&info);
      |                    ^~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:84:5: error: 'esp_chip_info' was not declared in this scope
   84 |     esp_chip_info(&info);
      |     ^~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:97:28: error: 'CHIP_FEATURE_WIFI_BGN' was not declared in this scope
   97 |            info.features & CHIP_FEATURE_WIFI_BGN ? " 802.11bgn " : "",
      |                            ^~~~~~~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:98:28: error: 'CHIP_FEATURE_BLE' was not declared in this scope
   98 |            info.features & CHIP_FEATURE_BLE ? " BLE " : "",
      |                            ^~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:99:28: error: 'CHIP_FEATURE_BT' was not declared in this scope
   99 |            info.features & CHIP_FEATURE_BT ? " BT " : "",
      |                            ^~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:100:28: error: 'CHIP_FEATURE_EMB_FLASH' was not declared in this scope
  100 |            info.features & CHIP_FEATURE_EMB_FLASH ? " Embedded-Flash " : " External-Flash ",
      |                            ^~~~~~~~~~~~~~~~~~~~~~
/home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console/src/ESP32Console/Commands/SystemCommands.cpp:101:28: error: 'CHIP_FEATURE_EMB_PSRAM' was not declared in this scope
  101 |            info.features & CHIP_FEATURE_EMB_PSRAM ? " Embedded-PSRAM" : "");
      |                            ^~~~~~~~~~~~~~~~~~~~~~
Multiple libraries were found for "WiFi.h"
 Used: /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/hardware/esp32/3.3.0/libraries/WiFi
 Not used: /home/admin/arduino-1.8.19-portable-scratch/libraries/WiFi
Using library ESP32Console at version 1.2.2 in folder: /home/admin/arduino-1.8.19-portable-scratch/portable/sketchbook/libraries/ESP32Console 
Using library WiFi at version 3.3.0 in folder: /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/hardware/esp32/3.3.0/libraries/WiFi 
Using library Network at version 3.3.0 in folder: /home/admin/arduino-1.8.19-portable-scratch/portable/packages/esp32/hardware/esp32/3.3.0/libraries/Network 
exit status 1
Error compiling for board ESP32 Dev Module.

Change these lines.

  • GPIOCommands.cpp:3 -- insert these:

    • #include <string>
    • #include <stdexcept>
  • NetworkCommands.cpp:212 -- comment this line:

    • printf("IPv6: %s\n", WiFi.localIPv6().toString().c_str());
    • // printf("IPv6: %s\n", WiFi.localIPv6().toString().c_str());
  • SystemCommands.cpp:9 -- insert this:

    • #include <esp_chip_info.h>

Everything else seems to work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions