adafruit / Adafruit_IO_Arduino

Arduino library to access Adafruit IO from WiFi, cellular, and ethernet modules.
Other
209 stars 108 forks source link

Adding AirLift #84

Closed brentru closed 5 years ago

brentru commented 5 years ago

This pull request adds compatibility with AirLift (ESP32 Co-Processor) compatible boards/breakouts/wings/shields to this library.

Tested with: PyPortal M4 and Feather M0 + AirLift Breakout.

brentru commented 5 years ago

@ladyada This branch is running into a conflict between WiFiNiNa and WiFi101.

AdafruitIO_AIRLIFT(https://github.com/adafruit/Adafruit_IO_Arduino/blob/7e5471135363091662fe6bc3ae973d482188b55d/src/AdafruitIO_AIRLIFT.h) is separate from AdafruitIO_WiFi. Furthermore, AdafruitIO_WiFi is not included in the example sketch, only AdafruitIO_AIRLIFT is.

But, it seems like WiFi101 is getting imported during compilation. And as a result, is conflicting with functions in the WiFiNina library.

In file included from 
/Arduino/libraries/Adafruit_IO_Arduino/src/wifi/AdafruitIO_WINC1500.cpp:14:0:
/Arduino/libraries/Adafruit_IO_Arduino/src/wifi/AdafruitIO_WINC1500.h:15:2: error: invalid preprocessing directive #typo

Replication requires latest version of Adafruit MQTT installed: https://github.com/adafruit/Adafruit_MQTT_Library

The publish example has an example of using the AdafruitIO_AIRLIFT class with config.h: https://github.com/adafruit/Adafruit_IO_Arduino/blob/7e5471135363091662fe6bc3ae973d482188b55d/examples/adafruitio_00_publish/config.h

brentru commented 5 years ago

@ladyada This is ready for merge. I will be releasing this as v3.0.0, version is bumped in .properties file.

Examples working and tested on PyPortal M4 and Metro M4 WiFi.