collin80 / ESP32RET

CAN Reverse engineering tool for ESP32 based boards (specifically EVTV ESP32Due)
MIT License
197 stars 56 forks source link

Compilation errors #21

Closed Kabron287 closed 1 year ago

Kabron287 commented 1 year ago

Arduino 1.8.13/VisualMicro 2021.917.5 Suddenly I began to get errors:

In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\Logger.h:31, from C:\Temp\arduino_build_544023\sketch\Logger.cpp:27: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\lawicel.cpp:6: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\commbuffer.h:3, from C:\Temp\arduino_build_544023\sketch\commbuffer.cpp:1: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\gvret_comm.h:3, from C:\Temp\arduino_build_544023\sketch\gvret_comm.cpp:5: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ C:\Temp\arduino_build_544023\sketch\Logger.cpp: In static member function 'static void Logger::log(Logger::LogLevel, const char, va_list)': Logger.cpp:175:12: error: enumeration value 'Off' not handled in switch [-Werror=switch] switch (level) { ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ C:\Temp\arduino_build_544023\sketch\Logger.cpp: In static member function 'static void Logger::logMessage(const char, va_list)': Logger.cpp:264:85: error: conversion lacks type at end of format [-Werror=format=] writeLen = sprintf((char)&buffer[buffLen], "%l", va_arg(args, long)); ^ Logger.cpp:264:85: error: too many arguments for format [-Werror=format-extra-args] Logger.cpp:264:85: error: conversion lacks type at end of format [-Werror=format=] Logger.cpp:264:85: error: too many arguments for format [-Werror=format-extra-args] C:\Temp\arduino_build_544023\sketch\lawicel.cpp: In member function 'void LAWICELHandler::handleLongCmd(char)': C:\Temp\arduino_build_544023\sketch\lawicel.cpp:89:29: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (outFrame.length < 0) outFrame.length = 0; ^ C:\Temp\arduino_build_544023\sketch\lawicel.cpp:101:29: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (outFrame.length < 0) outFrame.length = 0; ^ C:\Temp\arduino_build_544023\sketch\lawicel.cpp:79:10: warning: unused variable 'buff' [-Wunused-variable] char buff[80]; ^ C:\Temp\arduino_build_544023\sketch\lawicel.cpp: In member function 'void LAWICELHandler::sendFrameToBuffer(CAN_FRAME&, int)': C:\Temp\arduino_build_544023\sketch\lawicel.cpp:299:13: warning: unused variable 'writtenBytes' [-Wunused-variable] uint8_t writtenBytes; ^ C:\Temp\arduino_build_544023\sketch\lawicel.cpp:300:13: warning: unused variable 'temp' [-Wunused-variable] uint8_t temp; ^ C:\Temp\arduino_build_544023\sketch\lawicel.cpp:301:14: warning: unused variable 'now' [-Wunused-variable] uint32_t now = micros(); ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\can_manager.h:2, from C:\Temp\arduino_build_544023\sketch\can_manager.cpp:2: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ C:\Temp\arduino_build_544023\sketch\commbuffer.cpp: In member function 'void CommBuffer::sendFrameToBuffer(CAN_FRAME&, int)': commbuffer.cpp:82:108: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format=] writtenBytes = sprintf((char )&transmitBuffer[transmitBufferLength], "%d - %x", micros(), frame.id); ^ commbuffer.cpp:82:108: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format=] C:\Temp\arduino_build_544023\sketch\commbuffer.cpp: In member function 'void CommBuffer::sendFrameToBuffer(CAN_FRAME_FD&, int)': commbuffer.cpp:125:108: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format=] writtenBytes = sprintf((char )&transmitBuffer[transmitBufferLength], "%d - %x", micros(), frame.id); ^ commbuffer.cpp:125:108: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format=] In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\SerialConsole.h:30, from C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:29: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\sys_io.h:34, from C:\Temp\arduino_build_544023\sketch\sys_io.cpp:33: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp: In member function 'void SerialConsole::printMenu()': C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:55:10: warning: unused variable 'buff' [-Wunused-variable] char buff[80]; ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp: In member function 'void SerialConsole::handleShortCmd()': C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:145:13: warning: unused variable 'val' [-Wunused-variable] uint8_t val; ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\commbuffer.h:3, from C:\Temp\arduino_build_544023\sketch\ELM327_Emulator.h:56, from C:\Temp\arduino_build_544023\sketch\ELM327_Emulator.cpp:33: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp: In member function 'void SerialConsole::handleConfigCmd()': C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:182:10: warning: unused variable 'writeDigEE' [-Wunused-variable] bool writeDigEE = false; ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:183:11: warning: unused variable 'dataTok' [-Wunused-variable] char dataTok; ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:190:19: warning: unused variable 'whichEntry' [-Wunused-variable] unsigned char whichEntry = '0'; ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp: In member function 'bool SerialConsole::handleFilterSet(uint8_t, uint8_t, char)': C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:447:16: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (filter < 0 || filter > 7) return false; ^ C:\Temp\arduino_build_544023\sketch\SerialConsole.cpp:448:13: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (bus < 0 || bus > 1) return false; ^ In file included from C:\Temp\arduino_build_544023\sketch\sys_io.cpp:34:0: D:\Arduino\Proj\libraries\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000

pragma message "FastLED version 3.004.000"

                 ^

In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from C:\Temp\arduino_build_544023\sketch\wifi_manager.cpp:1: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ In file included from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can_builtin.h:35:0, from D:\Arduino\Proj\libraries\esp32_can\src/esp32_can.h:1, from C:\Temp\arduino_build_544023\sketch\config.h:35, from D:\Arduino\Proj\esp32\CAN\ESP32RET1\ESP32RET\ESP32RET.ino:28: D:\Arduino\Proj\libraries\can_common\src/can_common.h:93:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ D:\Arduino\Proj\libraries\can_common\src/can_common.h:120:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const bool operator[]( int pos ) const ^ In file included from D:\Arduino\Proj\libraries\FastLED\src/FastLED.h:65:0, from C:\Temp\arduino_build_544023\sketch\sys_io.cpp:34: D:\Arduino\Proj\libraries\FastLED\src/fastspi.h:135:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

In file included from D:\Arduino\Proj\esp32\CAN\ESP32RET1\ESP32RET\ESP32RET.ino:32:0: D:\Arduino\Proj\libraries\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000

pragma message "FastLED version 3.004.000"

                 ^

C:\Temp\arduino_build_544023\sketch\sys_io.cpp: In function 'void sys_early_setup()': C:\Temp\arduino_build_544023\sketch\sys_io.cpp:54:13: warning: unused variable 'i' [-Wunused-variable] uint8_t i; ^ C:\Temp\arduino_build_544023\sketch\sys_io.cpp: In function 'void setup_sys_io()': C:\Temp\arduino_build_544023\sketch\sys_io.cpp:62:13: warning: unused variable 'i' [-Wunused-variable] uint8_t i; ^ In file included from C:\Temp\arduino_build_544023\sketch\wifi_manager.cpp:8:0: D:\Arduino\Proj\libraries\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000

pragma message "FastLED version 3.004.000"

                 ^

cc1plus.exe: some warnings being treated as errors cc1plus.exe: some warnings being treated as errors In file included from D:\Arduino\Proj\libraries\FastLED\src/FastLED.h:65:0, from C:\Temp\arduino_build_544023\sketch\wifi_manager.cpp:8: D:\Arduino\Proj\libraries\FastLED\src/fastspi.h:135:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

In file included from D:\Arduino\Proj\libraries\FastLED\src/FastLED.h:65:0, from D:\Arduino\Proj\esp32\CAN\ESP32RET1\ESP32RET\ESP32RET.ino:32: D:\Arduino\Proj\libraries\FastLED\src/fastspi.h:135:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

C:\Temp\arduino_build_544023\sketch\wifi_manager.cpp: In lambda function: wifi_manager.cpp:36:32: error: 'union system_event_info_t' has no member named 'wifi_sta_disconnected' Serial.println(info.wifi_sta_disconnected.reason); ^ wifi_manager.cpp:38:23: error: 'union system_event_info_t' has no member named 'wifi_sta_disconnected' if ( (info.wifi_sta_disconnected.reason == 202) || (info.wifi_sta_disconnected.reason == 3)) ^ wifi_manager.cpp:38:69: error: 'union system_event_info_t' has no member named 'wifi_sta_disconnected' if ( (info.wifi_sta_disconnected.reason == 202) || (info.wifi_sta_disconnected.reason == 3)) ^ C:\Temp\arduino_build_544023\sketch\wifi_manager.cpp: In member function 'void WiFiManager::setup()': wifi_manager.cpp:45:12: error: 'ARDUINO_EVENT_WIFI_STA_DISCONNECTED' was not declared in this scope }, ARDUINO_EVENT_WIFI_STA_DISCONNECTED); ^ C:\Temp\arduino_build_544023\sketch\wifi_manager.cpp:28:23: warning: unused variable 'eventID' [-Wunused-variable] WiFiEventId_t eventID = WiFi.onEvent([](WiFiEvent_t event, WiFiEventInfo_t info) ^ D:\Arduino\Proj\esp32\CAN\ESP32RET1\ESP32RET\ESP32RET.ino: In function 'void loop()': D:\Arduino\Proj\esp32\CAN\ESP32RET1\ESP32RET\ESP32RET.ino:321:10: warning: variable 'isConnected' set but not used [-Wunused-but-set-variable] bool isConnected = false; ^

collin80 commented 1 year ago

Well, there certainly are a number of errors in the output.

error: 'ARDUINO_EVENT_WIFI_STA_DISCONNECTED' indicates that you're using the wrong version of arduino-esp32. You should be able to use the newest released version.

Then there are errors such as "error: enumeration value 'Off' not handled in switch" which is annoying. The value Off is not handled precisely because the desired effect is for nothing to happen in that case. The code probably should have an empty case block just for completeness but triggering an error on that is not something that should happen in C++ (now, Rust on the other hand will always do so). This is an easy fix in code but should have been, at most, a warning.

The error in Logger about too many arguments is strange. That code has compiled for years.

My guess is that VisualMicro is setting some extremely strict compile flags and the code is too sloppy to pass them. I always just used the Arduino IDE which also somewhat hid the avalanche of warnings. Well, I knew about some of them but none of them actually affect program performance and so fixing them has been a low priority.

Kabron287 commented 1 year ago

Seems Options/Visual Micro/Compiler/Warnings false solved the problem

Kabron287 commented 1 year ago

Here we disscused the problem: https://www.visualmicro.com/forums/YaBB.pl?num=1677756965/4#4