fredlcore / BSB-LAN

LAN/WiFi interface for Boiler-System-Bus (BSB) and Local Process Bus (LPB) and Punkt-zu-Punkt Schnittstelle (PPS) with a Siemens® controller used by Elco®, Brötje® and similar heating systems
216 stars 83 forks source link

[BUG] BSB-LAN does not compile #643

Closed tiger42 closed 3 months ago

tiger42 commented 3 months ago

BSB-LAN Version

define MAJOR "3"

define MINOR "4"

define PATCH "5"

define COMPILETIME "20240404025739"

Architecture Arduino Due

Bus system BSB

Describe the bug BSB-LAN does not compile any more due to string handling errors in mqtt_handler.h

To Reproduce Try to compile, see console output.

Log files - Bug reports without log files will be closed

In file included from C:\Users\tiger\Desktop\public\BSB-LAN\BSB_LAN\BSB_LAN.ino:2012:0:
C:\Users\tiger\Desktop\public\BSB-LAN\BSB_LAN\include\mqtt_handler.h: In function 'void mqtt_sendtoBroker(parameter)':
C:\Users\tiger\Desktop\public\BSB-LAN\BSB_LAN\include\mqtt_handler.h:65:125: error: cannot pass objects of non-trivially-copyable type 'class String' through '...'
       appendStringBuffer(&sb_topic, "%s", String(param.number, (roundf(param.number * 10) != roundf(param.number) * 10)?1:0));
                                                                                                                             ^
In file included from C:\Users\tiger\Desktop\public\BSB-LAN\BSB_LAN\BSB_LAN.ino:2012:0:
C:\Users\tiger\Desktop\public\BSB-LAN\BSB_LAN\include\mqtt_handler.h:84:172: error: cannot pass objects of non-trivially-copyable type 'class String' through '...'
       appendStringBuffer(&sb_payload, "{\"%s\":{\"status\":{\"%s", mqtt_get_client_id(), String(param.number, (roundf(param.number * 10) != roundf(param.number) * 10)?1:0));
                                                                                                                                                                            ^
C:\Users\tiger\Desktop\public\BSB-LAN\BSB_LAN\include\mqtt_handler.h:110:138: error: cannot pass objects of non-trivially-copyable type 'class String' through '...'
       appendStringBuffer(&sb_payload, "\":{\"id\":%s", String(param.number, (roundf(param.number * 10) != roundf(param.number) * 10)?1:0));
                                                                                                                                          ^

Expected behavior The project should compile without errors.

Attach your BSB_LAN_config.h file to your bug report (remove any confidential information if necessary). Do not ZIP or otherwise compress it. Bug reports without this file attached will be closed immediately. I won't attach my BSB_LAN_config.h as the problem is not config related in any way.

fredlcore commented 3 months ago

I do not appreciate users who decide for me what information or files I need, therefore I close this issue until you play by the rules.