Core2 Arduino samples do not work
-
I have a brand new Core2 and a Macbook with the latest Arduino IDE. The IDE is freshly installed, I have only installed the M5Core2 library. The Espressif boards are already up to date. I have tested sample code and everything concerning the display fails. I can flash an empty sketch.
Here is the code:/* ******************************************************************************* * Copyright (c) 2021 by M5Stack * Equipped with M5Core2 sample source code * 配套 M5Core2 示例源代码 * Visit for more information: https://docs.m5stack.com/en/core/core2 * 获取更多资料请访问: https://docs.m5stack.com/zh_CN/core/core2 * * Describe: Hello World * Date: 2021/7/21 ******************************************************************************* */ #include <M5Core2.h> /* After M5Core2 is started or reset the program in the setUp () function will be run, and this part will only be run once. 在 M5Core2 启动或者复位后,即会开始执行setup()函数中的程序,该部分只会执行一次。 */ void setup() { M5.begin(); // Init M5Core2. 初始化 M5Core2 /* Power chip connected to gpio21, gpio22, I2C device Set battery charging voltage and current If used battery, please call this function in your project */ M5.Lcd.print("Hello World"); // Print text on the screen (string) // 在屏幕上打印文本(字符串) } /* After the program in setup() runs, it runs the program in loop() The loop() function is an infinite loop in which the program runs repeatedly 在setup()函数中的程序执行完后,会接着执行loop()函数中的程序 loop()函数是一个死循环,其中的程序会不断的重复运行 */ void loop() { }Errors:
In file included from /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/M5Display.h:10, from /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/M5Core2.h:12, from /private/var/folders/6m/wp1p74qn5djfp08mcy83nzgr0000gn/T/.arduinoIDE-unsaved2024930-70928-12jngy4.v8s9/helloworld/helloworld.ino:13: /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/M5Display.h: In member function 'void M5Display::startWrite()': /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/utility/In_eSPI.h:231:5: error: 'GPIO' was not declared in this scope 231 | GPIO.out_w1tc = (1 << TFT_CS); \ | ^~~~ /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/M5Display.h:54:9: note: in expansion of macro 'CS_L' 54 | CS_L; | ^~~~ /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/M5Display.h: In member function 'void M5Display::endWrite()': /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/utility/In_eSPI.h:233:14: error: 'GPIO' was not declared in this scope 233 | #define CS_H GPIO.out_w1ts = (1 << TFT_CS) //;GPIO.out_w1ts = (1 << TFT_CS) | ^~~~ /Users/jonathan/Documents/Arduino/libraries/M5Core2/src/M5Display.h:66:9: note: in expansion of macro 'CS_H' 66 | CS_H; | ^~~~ Multiple libraries were found for "SD.h" Used: /Users/jonathan/Library/Arduino15/packages/esp32/hardware/esp32/3.0.7/libraries/SD Not used: /Users/jonathan/Library/Arduino15/libraries/SD exit status 1 Compilation error: exit status 1 -
Hello @G00TH
I think the issue is with M5Core2 library not being ready/compatible for Arduino library version 3.x.x. (I get the same compilation errors as you are reporting.)
That said, you could downgrade Arduino library to version 2.x.x - then the Hello World example of the M5Core2 library works for me.
Or I suggest you try M5Unified with M5GFX libraries instead. For me they compile and run fine with Arduino library 2.x.x or 3.x.x.
#include <M5Unified.h> #include <M5GFX.h> void setup() { auto cfg = M5.config(); M5.begin(cfg); M5.Display.println("M5Core2 - Hello world"); } void loop() { }Thanks
Felix
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login