luebbe / homie-node-collection

Collection of Node implementations for the Homie-ESP8266 library
MIT License
26 stars 12 forks source link

compatibility with eps8266 platform Version 3.0.0 #16

Closed RunningPenguin closed 2 years ago

RunningPenguin commented 3 years ago

Hi,

I just updated my platform Espressif 8266 in PlatformIO from version 2.5.0 to version 3.0.0

image

Then some projects which are working with the "old" version stopped to work.

It seems that there isn't anymore the function "asprintf" the Errors are: .pio/libdeps/H801/Homie node collection/src/BME280Node.cpp: In constructor 'BME280Node::BME280Node(const char*, const char*, int, int, Adafruit_BME280::sensor_sampling, Adafruit_BME280::sensor_sampling, Adafruit_BME280::sensor_sampling, Adafruit_BME280::sensor_filter)': .pio/libdeps/H801/Homie node collection/src/BME280Node.cpp:31:3: error: 'asprintf' was not declared in this scope; did you mean 'asnprintf'? 31 | asprintf(&_temperatureOffsetName, "%s.temperatureOffset", id); | ^~~~~~~~ | asnprintf .pio/libdeps/H801/Homie node collection/src/ContactNode.cpp: In constructor 'ContactNode::ContactNode(const char*, const char*, int, ContactNode::TContactCallback)':

I haven't investigated if there are more issues.

As an workaround the addition of the platform version in platformio.ini is possible.

platform = espressif8266 @ 2.5.0

luebbe commented 3 years ago

Thanks for the hint. I'll investigate.

luebbe commented 2 years ago

The problem seems to have solved itself over time. I just upgraded to Version 3.2.0 and don't get any compiler errors, even though PIO places a red squiggle under the asprintf() line