Victor-Mo / IRT-ESP

Nefit / Buderus iRT protocol encoder / decoder for ESP8266
GNU Lesser General Public License v3.0
22 stars 6 forks source link

compilation error with os_install_putc1((void *)... on ESP-01 #1

Closed df2qy closed 4 years ago

df2qy commented 4 years ago

Just tried to compile IRT-EMS-ESP for an ESP-01 board. I get the following error two times:

src/TelnetSpy.cpp: In member function 'void TelnetSpy::setDebugOutput(bool)': src/TelnetSpy.cpp:450:59: error: invalid conversion from 'void' to 'fp_putc_t {aka void ()(char)}' [-fpermissive] os_install_putc1((void *)TelnetSpy_ignore_putc); // Ignore system printing

After removing "(void *)" the code compiles without errors and I can access the web-interface on the ESP. I have not yet tested if I also get any communication to iRT-bus. Can anyone confirm this issue and that my fix is OK?

Regards, df2qy

Victor-Mo commented 4 years ago

I suspect this is depended on the include files used. Without the cast (void ) would be 'more correct' code. This would prevent an incompatible function to be used (you can cast any function to a (void ) even when the parameters do not match).

I tried this change on my system and it fails because it does an explicit cast to (void *) in the include files. But I am running an older version of PlatformIO. I am running: _CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html PLATFORM: Espressif 8266 2.2.3 > WeMos D1 R2 and mini HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash PACKAGES: toolchain-xtensa 2.40802.190218 (4.8.2), tool-esptool 1.413.0 (4.13), tool-esptoolpy 1.20600.0 (2.6.0), framework-arduinoespressif8266 2.20502.0 (2.5.2)_

Could you provide the version information of your system ?

To answer your question: You fix is ok.

I will investigate if there is an 'universal' fix.

Thanks for reporting !

proddy commented 4 years ago

I fixed that problem in the EMS-ESP project a while ago - just copy over the updated TelnetSpy.* files.

Victor-Mo commented 4 years ago

@proddy thanks for the tip ! I have merged the 'TelnetSpy' from the EMS-ESP project, this fixes the compiler problems. @df2qy could you confirm this fixes your problem?

Victor-Mo commented 4 years ago

Closing this issue, the software change has solved the issue.