Arduino IDE Not compiling
Hi all! Recently decided to change from the Arduino library inbuilt and directly download from GitHub as I want to take advantage of the logger as having some issues. But compiling my code just gives tons of errors. Tried compiling for Seeduinio XAIO, Teensy & Generica ESP module. Also loaded example code and no luck there either. Any help would be greatly appreciated! Thingsboard 0.6.0 compiles perfectly and runs. Github SDK doesn't.
ArduinoJSON - 6.19.4 MQTT PubSub Client - 0.1.3 Arduino HTTP Client - 0.4.0
In file included from /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:8:0: /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:269:28: error: 'function' in namespace 'std' does not name a template type using processFn = std::function<RPC_Response(const RPC_Data &data)>; ^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:277:49: error: 'processFn' has not been declared inline RPC_Callback(const char* methodName, processFn cb) ^~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:282:5: error: 'processFn' does not name a type processFn m_cb; // Callback to call ^~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In constructor 'RPC_Callback::RPC_Callback()': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:273:19: error: class 'RPC_Callback' does not have any field named 'm_cb' : m_name(), m_cb(nullptr) { } ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In constructor 'RPC_Callback::RPC_Callback(const char*, int)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:278:29: error: class 'RPC_Callback' does not have any field named 'm_cb' : m_name(methodName), m_cb(cb) { } ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: At global scope: /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:292:34: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] using processFn = const std::function<void(const Shared_Attribute_Data &data)>; ^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:292:29: error: expected ';' using processFn = const std::function<void(const Shared_Attribute_Data &data)>; ^~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:301:101: error: 'processFn' has not been declared inline Shared_Attribute_Callback(const InputIterator& first_itr, const InputIterator& last_itr, processFn cb) ^~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:306:48: error: expected ')' before 'cb' inline Shared_Attribute_Callback(processFn cb) ^~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:311:5: error: 'processFn' does not name a type processFn m_cb; // Callback to call ^~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In constructor 'Shared_Attribute_Callback::Shared_Attribute_Callback()': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:296:18: error: class 'Shared_Attribute_Callback' does not have any field named 'm_cb' : m_att(), m_cb(nullptr) { } ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In constructor 'Shared_Attribute_Callback::Shared_Attribute_Callback(const InputIterator&, const InputIterator&, int)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:302:37: error: class 'Shared_Attribute_Callback' does not have any field named 'm_cb' : m_att(first_itr, last_itr), m_cb(cb) { } ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: At global scope: /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:321:28: error: 'function' in namespace 'std' does not name a template type using processFn = std::function<void(const Shared_Attribute_Data &data)>; ^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:328:56: error: expected ')' before 'cb' inline Shared_Attribute_Request_Callback(processFn cb) ^~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:333:5: error: 'processFn' does not name a type processFn m_cb; // Callback to call ^~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In constructor 'Shared_Attribute_Request_Callback::Shared_Attribute_Request_Callback()': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:325:27: error: class 'Shared_Attribute_Request_Callback' does not have any field named 'm_cb' : m_request_id(0U), m_cb(nullptr) { } ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In member function 'void ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::setClient(arduino::Client&)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:410:33: error: 'bind' is not a member of 'std' m_client.setCallback(std::bind(&ThingsBoardSized::on_message, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:410:33: note: suggested alternative: 'find' m_client.setCallback(std::bind(&ThingsBoardSized::on_message, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); ^~~~ find /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:410:80: error: 'std::placeholders' has not been declared m_client.setCallback(std::bind(&ThingsBoardSized::on_message, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); ^~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:410:103: error: 'std::placeholders' has not been declared m_client.setCallback(std::bind(&ThingsBoardSized::on_message, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); ^~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:410:126: error: 'std::placeholders' has not been declared m_client.setCallback(std::bind(&ThingsBoardSized::on_message, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); ^~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In member function 'const uint8_t ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::detect_size(const char*, ...)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:979:7: error: there are no arguments to 'va_start' that depend on a template parameter, so a declaration of 'va_start' must be available [-fpermissive] va_start(args, msg); ^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:979:7: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) In file included from /Users/andy_shepshep/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp:7:0, from /Users/andy_shepshep/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/SlotFunctions.hpp:8, from /Users/andy_shepshep/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Array/ArrayIterator.hpp:7, from /Users/andy_shepshep/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp:8, from /Users/andy_shepshep/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson.hpp:24, from /Users/andy_shepshep/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson.h:9, from /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:21, from /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:8: /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:983:47: error: there are no arguments to 'vsnprintf_P' that depend on a template parameter, so a declaration of 'vsnprintf_P' must be available [-fpermissive] const int32_t result = JSON_STRING_SIZE(vsnprintf_P(nullptr, 0U, msg, args)); ^ In file included from /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:8:0: /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:984:7: error: there are no arguments to 'assert' that depend on a template parameter, so a declaration of 'assert' must be available [-fpermissive] assert(result >= 0); ^~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:985:7: error: there are no arguments to 'va_end' that depend on a template parameter, so a declaration of 'va_end' must be available [-fpermissive] va_end(args); ^~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In member function 'void ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::process_rpc_message(char*, uint8_t*, uint32_t)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1058:24: error: 'const class RPC_Callback' has no member named 'm_cb' if (callback.m_cb == nullptr || callback.m_name == nullptr) { ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1086:26: error: 'const class RPC_Callback' has no member named 'm_cb' r = callback.m_cb(param); ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1092:26: error: 'const class RPC_Callback' has no member named 'm_cb' r = callback.m_cb(param); ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In member function 'void ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::process_shared_attribute_update_message(char*, uint8_t*, uint32_t)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1218:52: error: '__gnu_cxx::__alloc_traits<std::allocator<Shared_Attribute_Callback> >::value_type {aka class Shared_Attribute_Callback}' has no member named 'm_cb' if (m_sharedAttributeUpdateCallbacks.at(i).m_cb == nullptr) { ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1225:50: error: '__gnu_cxx::__alloc_traits<std::allocator<Shared_Attribute_Callback> >::value_type {aka class Shared_Attribute_Callback}' has no member named 'm_cb' m_sharedAttributeUpdateCallbacks.at(i).m_cb(data); ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1260:48: error: '__gnu_cxx::__alloc_traits<std::allocator<Shared_Attribute_Callback> >::value_type {aka class Shared_Attribute_Callback}' has no member named 'm_cb' m_sharedAttributeUpdateCallbacks.at(i).m_cb(data); ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In member function 'void ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::process_shared_attribute_request_message(char*, uint8_t*, uint32_t)': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1292:53: error: '__gnu_cxx::__alloc_traits<std::allocator<Shared_Attribute_Request_Callback> >::value_type {aka class Shared_Attribute_Request_Callback}' has no member named 'm_cb' if (m_sharedAttributeRequestCallbacks.at(i).m_cb == nullptr) { ^~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1305:49: error: '__gnu_cxx::__alloc_traits<std::allocator<Shared_Attribute_Request_Callback> >::value_type {aka class Shared_Attribute_Request_Callback}' has no member named 'm_cb' m_sharedAttributeRequestCallbacks.at(i).m_cb(data); ^~~~ ^~~~~~~~~ /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:20:16: note: suggested alternative: 'HttpClient' ThingsBoard tb(espClient); ^~~~~~~~~ HttpClient In file included from /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:8:0: /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In instantiation of 'const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendKeyval(const char*, T, bool) [with T = int; unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:505:24: required from 'const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryInt(const char*, int) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]' /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:44:40: required from here /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1032:43: error: call of overloaded 'sendTelemetryJson(ArduinoJson::JsonVariant&)' is ambiguous return telemetry ? sendTelemetryJson(object) : sendAttributeJSON(object); ~~~~~~~~~~~~~~~~~^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:529:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryJson(const char*) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendTelemetryJson(const char json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:545:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryJson(const JsonObject&) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger; ArduinoJson::JsonObject = ArduinoJson6194_F1::ObjectRef] inline const bool sendTelemetryJson(const JsonObject& jsonObject) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1032:71: error: call of overloaded 'sendAttributeJSON(ArduinoJson::JsonVariant&)' is ambiguous return telemetry ? sendTelemetryJson(object) : sendAttributeJSON(object); ~~~~~~~~~~~~~~~~~^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:594:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendAttributeJSON(const char) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendAttributeJSON(const char json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:610:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendAttributeJSON(const JsonObject&) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger; ArduinoJson::JsonObject = ArduinoJson6194_F1::ObjectRef] inline const bool sendAttributeJSON(const JsonObject& jsonObject) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h: In instantiation of 'const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendKeyval(const char, T, bool) [with T = float; unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]': /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:515:24: required from 'const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryFloat(const char*, float) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]' /var/folders/3h/k85zg0y13zn0fh1mp3fnpwvc0000gp/T/arduino_modified_sketch_35148/0000-arduino_send_telemetry.ino:45:41: required from here /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1032:43: error: call of overloaded 'sendTelemetryJson(ArduinoJson::JsonVariant&)' is ambiguous return telemetry ? sendTelemetryJson(object) : sendAttributeJSON(object); ~~~~~~~~~~~~~~~~~^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:529:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryJson(const char*) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendTelemetryJson(const char json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:545:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryJson(const JsonObject&) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger; ArduinoJson::JsonObject = ArduinoJson6194_F1::ObjectRef] inline const bool sendTelemetryJson(const JsonObject& jsonObject) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:1032:71: error: call of overloaded 'sendAttributeJSON(ArduinoJson::JsonVariant&)' is ambiguous return telemetry ? sendTelemetryJson(object) : sendAttributeJSON(object); ~~~~~~~~~~~~~~~~~^~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:594:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendAttributeJSON(const char) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendAttributeJSON(const char *json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/thingsboard-arduino-sdk-master/src/ThingsBoard.h:610:23: note: candidate: const bool ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::sendAttributeJSON(const JsonObject&) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger; ArduinoJson::JsonObject = ArduinoJson6194_F1::ObjectRef] inline const bool sendAttributeJSON(const JsonObject& jsonObject) { ^~~~~~~~~~~~~~~~~
Currently having some of the same issues reported above when switching from the version of the SDK available on Platformio to the latest repo version
Same issue here.
Possible workaround:
It seems that v0.7.0 does not work with ESP8266 chip, but ESP32 does. The solution for ESP8266 is to use v0.6.0, which is now difficult ( see #74 ). The following method will ensure that the correct Git tag is downloaded, bypassing the PlatformIO version detector.
[env:....]
lib_deps =
https://github.com/thingsboard/thingsboard-arduino-sdk#v0.6.0
[...]
@see https://docs.platformio.org/en/latest/core/userguide/lib/cmd_install.html#usage
Still, waiting on a solution for this? Looks like others have a similar problem.
Thanks for the suggestion @bencurio! Unfortunately, I'm not using an ESP nor platformIO. Using SAM21 & Arudino IDE.
0.6.0 just isn't stable and can't send any more than 16 telemetry points via gsm and keeps crashing the connection with the GSM modem. Hence looking at version 0.7.0
(Changed everything at the hardware level, different processor (teensy, seeduino etc) power is stable as can run other gsm sending code absolutely fine, changed gsm units etc)
We are considering moving to another platform, unfortunately.
My pull request includes an attempt to resolve all compile issues, would be nice if any one of you would be willing to check it out and see if it compiles/works with your ESP8266. Sorry for any inconviences caused.
Still a no go, unfortunately. Doesn't compile with ESP, Teensy or XAIO. Version 0.6 compiles fine.
/Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h: In member function 'const uint8_t ThingsBoardSized<PayloadSize, MaxFieldsAmt, Logger>::detect_size(const char*, ...)': /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1033:47: error: there are no arguments to 'vsnprintf_P' that depend on a template parameter, so a declaration of 'vsnprintf_P' must be available [-fpermissive] const int32_t result = JSON_STRING_SIZE(vsnprintf_P(nullptr, 0U, msg, args)); ^ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1033:47: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) In file included from /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/examples/0005-arduino-sim900_send_telemetry_http/0005-arduino-sim900_send_telemetry_http.ino:21:0: /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1034:7: error: there are no arguments to 'assert' that depend on a template parameter, so a declaration of 'assert' must be available [-fpermissive] assert(result >= 0); ^~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h: In instantiation of 'const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendKeyval(const char*, T, bool) [with T = int; unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]': /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1482:24: required from 'const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryInt(const char*, int) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]' /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/examples/0005-arduino-sim900_send_telemetry_http/0005-arduino-sim900_send_telemetry_http.ino:116:40: required from here /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1613:43: error: no matching function for call to 'ThingsBoardHttpSized<>::sendTelemetryJson(ArduinoJson::JsonVariant&, size_t)' return telemetry ? sendTelemetryJson(object, JSON_STRING_SIZE(measureJson(object))) : sendAttributeJSON(object, JSON_STRING_SIZE(measureJson(object))); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1506:23: note: candidate: const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryJson(const char*) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendTelemetryJson(const char json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1506:23: note: candidate expects 1 argument, 2 provided /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1613:110: error: no matching function for call to 'ThingsBoardHttpSized<>::sendAttributeJSON(ArduinoJson::JsonVariant&, size_t)' return telemetry ? sendTelemetryJson(object, JSON_STRING_SIZE(measureJson(object))) : sendAttributeJSON(object, JSON_STRING_SIZE(measureJson(object))); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1560:23: note: candidate: const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendAttributeJSON(const char) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendAttributeJSON(const char json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1560:23: note: candidate expects 1 argument, 2 provided /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h: In instantiation of 'const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendKeyval(const char, T, bool) [with T = float; unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]': /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1492:24: required from 'const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryFloat(const char*, float) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger]' /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/examples/0005-arduino-sim900_send_telemetry_http/0005-arduino-sim900_send_telemetry_http.ino:119:42: required from here /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1613:43: error: no matching function for call to 'ThingsBoardHttpSized<>::sendTelemetryJson(ArduinoJson::JsonVariant&, size_t)' return telemetry ? sendTelemetryJson(object, JSON_STRING_SIZE(measureJson(object))) : sendAttributeJSON(object, JSON_STRING_SIZE(measureJson(object))); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1506:23: note: candidate: const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendTelemetryJson(const char*) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendTelemetryJson(const char json) { ^~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1506:23: note: candidate expects 1 argument, 2 provided /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1613:110: error: no matching function for call to 'ThingsBoardHttpSized<>::sendAttributeJSON(ArduinoJson::JsonVariant&, size_t)' return telemetry ? sendTelemetryJson(object, JSON_STRING_SIZE(measureJson(object))) : sendAttributeJSON(object, JSON_STRING_SIZE(measureJson(object))); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/andy_shepshep/Documents/Arduino/libraries/ThingsBoard/src/ThingsBoard.h:1560:23: note: candidate: const bool ThingsBoardHttpSized<PayloadSize, MaxFieldsAmt, Logger>::sendAttributeJSON(const char) [with unsigned int PayloadSize = 64; unsigned int MaxFieldsAmt = 8; Logger = ThingsBoardDefaultLogger] inline const bool sendAttributeJSON(const char *json) { ^~~~~~~~~~~~~~~~~