tobozo / esp32-chimera-core Goto Github PK
View Code? Open in Web Editor NEWESP32-Chimera-Core ๐พ is an arduino library for M5Stack, Odroid-Go, D-Duino-32-XS and other ESP32/TFT/SD bundles
License: Other
ESP32-Chimera-Core ๐พ is an arduino library for M5Stack, Odroid-Go, D-Duino-32-XS and other ESP32/TFT/SD bundles
License: Other
#include <ESP32-Chimera-Core.h>
void setup() {
M5.begin();
}
void loop() {
M5.update();
if ( M5.BtnA.wasReleased() ) {
Serial.println("A-Short press.");
} else if (M5.BtnA.wasReleasefor(700)) {
Serial.println("A-Long press.");
}
if ( M5.BtnB.wasReleased() ) {
Serial.println("B-Short press.");
} else if (M5.BtnB.wasReleasefor(700)) {
Serial.println("B-Long press.");
}
if ( M5.BtnC.wasReleased() ) {
Serial.println("C-Short press.");
} else if (M5.BtnC.wasReleasefor(700)) {
Serial.println("C-Long press.");
}
}
Expected: Pressing the buttons writes messages to the Serial output.
Result: No Serial output.
Changing the header to read: #include <M5Core2.h> Makes the program work as expected.
Hi, this library is fantastic for M5 Stack Core2. Finally have a more up to date version of TFT-eSPI with many of the bugs fixed and new functions. Thank you.
Not sure if this is a question here or in LovyanGFX, but how do you access the dispaly WIDTH and HEIGHT macros? In TFT_eSPI they are availble as:
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
so you can do this sort of thing:
#define time_spr_x (TFT_WIDTH / 2) - (time_spr_wdth / 2)
Thank you.
I recently installed the ESP32-Chimera-Core as needed by https://github.com/tobozo/ESP32-GifPlayer/
Unfortunately, I get an error when Chimera-Core tries to load bsp_board.c (error below
In file included from c:\Users\matth\OneDrive\Documents\Arduino\libraries\ESP32-Chimera-Core\src\drivers\ESP32-S3-Box\Audio\src\bsp_board.c:11:
c:\Users\matth\OneDrive\Documents\Arduino\libraries\ESP32-Chimera-Core\src\drivers\ESP32-S3-Box\Audio\src\bsp_i2s.h:19:14: fatal error: driver/i2s_std.h: No such file or directory
#include "driver/i2s_std.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
Any idea if this is an incompatibility w/r/t other libraries being updated or if this should've worked and I'm doing something wrong and need to install a dependency that I thought would be installed with the "install dependencies" option within the Arduino IDE?
I am having issues in Arduino IDE with my CoreS3 and the Touch library.
does your replacement library support Touch if so please point me to the Definitions>
thansk
Hello!
I hope you are doing well!
We are a security research team. Our tool automatically detected a vulnerability in this repository. We want to disclose it responsibly. GitHub has a feature called Private vulnerability reporting, which enables security research to privately disclose a vulnerability. Unfortunately, it is not enabled for this repository.
Can you enable it, so that we can report it?
Thanks in advance!
PS: you can read about how to enable private vulnerability reporting here: https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository
When log level is higher than NONE redefinition error occurs:
https://github.com/tobozo/ESP32-Chimera-Core/blob/master/src/utility/Sprite.cpp#L2181
https://github.com/tobozo/ESP32-Chimera-Core/blob/master/src/M5Display.cpp#L204
Hey there...
I was trying to see if things "just work" and am having some issues...
I took my Core2ez library and replaced occurrences of M5Core.h
with ESP32-Chimera-Core.h
. That gave compile errrors, mostly about missing methods in TFT_eSprite, which seemed like they want to be replaced by replaced by LGFX_Sprite
. But that is still not working, and then I gave up until I understand better what this LovyanGFX does and how it differs from the TFT driver in the default M5Core2 library. Regrettably, I do not read Japanese...
I included all error messages below...
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'void ezDisplayZone::push(LGFX_Sprite*, int16_t, int16_t, int16_t, int16_t, int16_t, int16_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:79:32: error: 'LGFX_Sprite {aka class lgfx::LGFX_Sprite}' has no member named 'pushInSprite'
if (sprite ) sprite ->pushInSprite(s, ox, oy, w_, h_, x_, y_);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'void ezDisplayZone::spriteToDisplay(LGFX_Sprite*, int16_t, int16_t, int16_t, int16_t, int16_t, int16_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:89:12: error: 'LGFX_Sprite {aka class lgfx::LGFX_Sprite}' has no member named 'pushInSprite'
tmpspr.pushInSprite(s, ox, oy, w_, h_, 0, 0);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'void ezDisplayZone::setRotation(uint8_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:242:31: error: 'LGFX_Sprite {aka class lgfx::LGFX_Sprite}' has no member named 'setRotation'
if (sprite ) sprite ->setRotation(r);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'uint8_t ezDisplayZone::color16to8(uint16_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:398:38: error: 'LGFX_Sprite {aka class lgfx::LGFX_Sprite}' has no member named 'color16to8'
if (sprite ) return sprite ->color16to8(color565);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:400:38: error: 'class M5Display' has no member named 'color16to8'
else return DISPLAY .color16to8(color565);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'uint16_t ezDisplayZone::fontsLoaded()':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:416:38: error: 'LGFX_Sprite {aka class lgfx::LGFX_Sprite}' has no member named 'fontsLoaded'
if (sprite ) return sprite ->fontsLoaded();
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:418:38: error: 'class M5Display' has no member named 'fontsLoaded'
else return DISPLAY .fontsLoaded();
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'uint16_t ezDisplayZone::color8to16(uint8_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:428:38: error: 'LGFX_Sprite {aka class lgfx::LGFX_Sprite}' has no member named 'color8to16'
if (sprite ) return sprite ->color8to16(color332);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:430:38: error: 'class M5Display' has no member named 'color8to16'
else return DISPLAY .color8to16(color332);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp: In member function 'virtual void ezLabel::draw()':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:112:42: error: no matching function for call to 'min(int, std::vector<line_t>::size_type)'
lines.size());
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:62:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezEvents.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezWidget.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3451:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
min(initializer_list<_Tp> __l, _Compare __comp)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3451:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:112:42: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
lines.size());
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:62:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezEvents.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezWidget.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3445:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
min(initializer_list<_Tp> __l)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3445:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:112:42: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
lines.size());
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:61:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezEvents.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezWidget.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:243:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:112:42: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'std::vector<line_t>::size_type {aka unsigned int}')
lines.size());
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:61:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezEvents.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezWidget.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezLabel.cpp:112:42: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'std::vector<line_t>::size_type {aka unsigned int}')
lines.size());
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'int16_t ezDisplayZone::textWidth(const char*, uint8_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:506:60: error: no matching function for call to 'lgfx::LGFX_Sprite::textWidth(const char*&, uint8_t&)'
if (sprite ) return sprite ->textWidth(string, font);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate: int32_t lgfx::LGFXBase::textWidth(const char*)
std::int32_t textWidth(const char *string);
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate: int32_t lgfx::LGFXBase::textWidth(const String&)
inline std::int32_t textWidth(const String& string) { return textWidth(string.c_str()); }
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:508:60: error: no matching function for call to 'M5Display::textWidth(const char*&, uint8_t&)'
else return DISPLAY .textWidth(string, font);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate: int32_t lgfx::LGFXBase::textWidth(const char*)
std::int32_t textWidth(const char *string);
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate: int32_t lgfx::LGFXBase::textWidth(const String&)
inline std::int32_t textWidth(const String& string) { return textWidth(string.c_str()); }
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'int16_t ezDisplayZone::textWidth(const String&, uint8_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:518:60: error: no matching function for call to 'lgfx::LGFX_Sprite::textWidth(const String&, uint8_t&)'
if (sprite ) return sprite ->textWidth(string, font);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate: int32_t lgfx::LGFXBase::textWidth(const char*)
std::int32_t textWidth(const char *string);
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate: int32_t lgfx::LGFXBase::textWidth(const String&)
inline std::int32_t textWidth(const String& string) { return textWidth(string.c_str()); }
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:520:60: error: no matching function for call to 'M5Display::textWidth(const String&, uint8_t&)'
else return DISPLAY .textWidth(string, font);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate: int32_t lgfx::LGFXBase::textWidth(const char*)
std::int32_t textWidth(const char *string);
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:473:18: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate: int32_t lgfx::LGFXBase::textWidth(const String&)
inline std::int32_t textWidth(const String& string) { return textWidth(string.c_str()); }
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:494:25: note: candidate expects 1 argument, 2 provided
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp: In member function 'uint16_t ezDisplayZone::decodeUTF8(uint8_t*, uint16_t*, uint16_t)':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:542:70: error: no matching function for call to 'lgfx::LGFX_Sprite::decodeUTF8(uint8_t*&, uint16_t*&, uint16_t&)'
if (sprite ) return sprite ->decodeUTF8(buf, index, remaining);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:1005:19: note: candidate: uint16_t lgfx::LGFXBase::decodeUTF8(uint8_t)
std::uint16_t decodeUTF8(std::uint8_t c);
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:1005:19: note: candidate expects 1 argument, 3 provided
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:544:70: error: no matching function for call to 'M5Display::decodeUTF8(uint8_t*&, uint16_t*&, uint16_t&)'
else return DISPLAY .decodeUTF8(buf, index, remaining);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:1005:19: note: candidate: uint16_t lgfx::LGFXBase::decodeUTF8(uint8_t)
std::uint16_t decodeUTF8(std::uint8_t c);
^
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:1005:19: note: candidate expects 1 argument, 3 provided
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp: In member function 'uint16_t ezDisplayZone::decodeUTF8(uint8_t)':
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:1005:19: error: 'uint16_t lgfx::LGFXBase::decodeUTF8(uint8_t)' is protected
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:548:50: error: within this context
if (sprite ) return sprite ->decodeUTF8(c);
^
In file included from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LovyanGFX.hpp:41:0,
from /Users/rop/Documents/Arduino/libraries/LovyanGFX/src/LGFX_TFT_eSPI.hpp:14,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/M5Display.h:8,
from /Users/rop/Documents/Arduino/libraries/ESP32-Chimera-Core/src/ESP32-Chimera-Core.h:126,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.h:6,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:1:
/Users/rop/Documents/Arduino/libraries/LovyanGFX/src/lgfx/LGFXBase.hpp:1005:19: error: 'uint16_t lgfx::LGFXBase::decodeUTF8(uint8_t)' is protected
std::uint16_t decodeUTF8(std::uint8_t c);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezDisplayZone.cpp:550:50: error: within this context
else return DISPLAY .decodeUTF8(c);
^
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp: In member function 'int16_t ezMenu::doMenu()':
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:83:63: error: no matching function for call to 'min(uint8_t&, int)'
if (rowsPerScreen == EZ_AUTO) rowsPerScreen = min(numRows, 3);
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:62:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezSound.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/Core2ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezHeader.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3451:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
min(initializer_list<_Tp> __l, _Compare __comp)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3451:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:83:63: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'
if (rowsPerScreen == EZ_AUTO) rowsPerScreen = min(numRows, 3);
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:62:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezSound.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/Core2ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezHeader.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3445:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
min(initializer_list<_Tp> __l)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3445:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:83:63: note: mismatched types 'std::initializer_list<_Tp>' and 'unsigned char'
if (rowsPerScreen == EZ_AUTO) rowsPerScreen = min(numRows, 3);
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:61:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezSound.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/Core2ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezHeader.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:243:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:83:63: note: deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'int')
if (rowsPerScreen == EZ_AUTO) rowsPerScreen = min(numRows, 3);
^
In file included from /Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:61:0,
from /Users/rop/Library/Arduino15/packages/m5stack/hardware/esp32/1.0.5/cores/esp32/Arduino.h:142,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezSound.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/Core2ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ez.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezHeader.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.h:4,
from /Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:1:
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^
/Users/rop/Library/Arduino15/packages/m5stack/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed:
/Users/rop/Documents/Arduino/libraries/Core2ez/src/ezMenu.cpp:83:63: note: deduced conflicting types for parameter 'const _Tp' ('unsigned char' and 'int')
if (rowsPerScreen == EZ_AUTO) rowsPerScreen = min(numRows, 3);
^
exit status 1
Error compiling for board M5Stack-Core2.
TODO:
Add image encoders to the ScreenShot service.
Hi there, can you please implement this fix? I tested it by editing the library source and the fix works.
m5stack/M5Core2#1
Thanks
I know there is support for core 2, but for core 2 v1.1, is there support?
Hi again, still loving Chimera!
I'm using the touch button emulation (3 touch buttons at bottom of Core2 LCD) for the first time on Core2, and notice in the main loop if I test for M5.BtnX.wasReleased()
(i.e. BtnA, BtnB or BtnC) it is always set true after boot up. I'm not sure if this is a Chimera library issue or not.
A work around seems be to put a single call to M5.update()
in setup(), but just wondering if you could make this false at ESP32 boot? It shouldn't be true until user has pressed then released a button for the first time.
e.g. in this code I get BtnB released true after boot without touching any keys:
void loop(void) {
// Update M5 object
M5.update();
if (M5.BtnB.wasPressed()) {
Serial.println("BtnB Pressed");
M5.Lcd.setTextDatum(bottom_left);
M5.Lcd.setTextColor(TFT_CYAN, TFT_BLACK);
M5.Lcd.drawString("BtnB Prs", 120, effect_txt_y + 50);
} else if (M5.BtnB.wasReleased()) {
Serial.println("BtnB Released");
M5.Lcd.setTextDatum(bottom_left);
M5.Lcd.setTextColor(TFT_YELLOW, TFT_BLACK);
M5.Lcd.drawString("BtnB Rel", 120, effect_txt_y + 50);
}
}
thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.