Giter VIP home page Giter VIP logo

esp32-chimera-core's People

Contributors

ivankravets avatar lovyan03 avatar mongonta0716 avatar tobozo avatar ut2uh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-chimera-core's Issues

Current button code isn't working on Core2. V 1.1.8

#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.

How to access display WIDTH and HEIGHT macros

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.

i2s_std.h error (not found)

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?

TTGO Lora v2

Would this or the M5Stack-SD-Updater work with the TTGO Lora v2?

IMG_20211109_021513

Thank you

does your Library support CoreS3 / Touch?

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

Reporting a vulnerability

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

Core2ez on Chimera

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.

M5.BtnX.wasReleased() is true at boot

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.