M5Stack and Blynk
I'm trying to get the M5Stack working with Blynk. I tried to compile a basic Blynk sketch and it's not working.
#define BLYNK_PRINT Serial
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth = "my_auth_token";
// Your WiFi credentials.
char ssid = "my_ssid";
char pass = "my_ssid_password";
// Debug console
Blynk.begin(auth, ssid, pass);
The Arduino errors are:
Arduino: 1.8.5 (Mac OS X), Board: "M5Stack-Core-ESP32, QIO, 80MHz, 921600, None"
In file included from /Users/world101/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:17:0,
/Users/world101/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkTimer.h:38:36: error: conflicting declaration 'typedef void (* timer_callback)()'
typedef void (*timer_callback)(void);
In file included from /Users/world101/Documents/Arduino/libraries/M5Stack/src/M5Stack.h:94:0,
/Users/world101/Documents/Arduino/libraries/M5Stack/src/utility/M5Timer.h:34:35: note: previous declaration as 'typedef class std::function<void()> timer_callback'
typedef std::function<void(void)> timer_callback;
Multiple libraries were found for "WiFi.h"
Not used: /Applications/Arduino.app/Contents/Java/libraries/WiFi
Multiple libraries were found for "SD.h"
Not used: /Users/world101/Documents/Arduino/libraries/SD
Not used: /Applications/Arduino.app/Contents/Java/libraries/SD
exit status 1
Error compiling for board M5Stack-Core-ESP32.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
If I comment out #include <M5Stack.h> it will compile fine, but I don't get to use any of the M5 functions like M5.Lcd.printf().
Any ideas on how to fix it?
I also tried the DH12 example from github and get similar errors.
I got the same error trying to compile Blynk - PostDHT12 using the one in the list of M5Stack examples.
But it looks like it worked back in September : https://twitter.com/M5Stack/status/907633635796193281
Perhaps something got broken since then..... the blynk library was updated Dec 22nd....
Or another file update perhaps.......
Anyone got it working ?
After further digging for the error, I found the following which has the solution.
I modified the header file Arduino/libraries/M5Stack/src/utility/M5Timer.h as follows.
//typedef std::function<void(void)> timer_callback; typedef void (*timer_callback)(void); typedef void (*timer_callback_p)(void *);
It now builds successfully and connects to the blynk cloud :-)
@m5stack FYI... please add this to fix on the next release.
@world101 Really glad you raised this question and found a solution... I have wanted to use it for quite a while but hadn't chased it.... thanks. Will test it out.