M5ez, a complete interface builder system for the M5Stack as an Arduino library. Extremely easy to use.



  • Thats good to know, so it could be that it isnt me... Learned a lot the past days! Thanks

    Still have some issues on loosing connection over time, but not sure if that is me or the m5stack. Am i the only one ?

    PS: backlight dimming would be nice on a ProgressBar, if it isnt to much work.



  • @bobolink
    I solved the blocking issue by putting the UI on one core and the communications (esp-now) on the other.



  • Thanks bobolink, i will find some lessons about using the 2 cores of the esp32.
    Cheers!



  • @r_255
    Good luck. I’ll try to post a skeleton example somewhere. But you might start here:
    YouTube
    Research a mutex for sharing data between processes.
    Also, @Rop says he is adding registration of functions to execute from his idle loop.

    I think M5Stack and M5ez have a great future in remote control of all sorts of things. Using the WiFi radio, IR, BLE, UART, etc.



  • @bobolink
    yeah, i did find the guy with the funny accent ;o) video including the skeleton file.. thanks for the link!

    I totaly agree! It might not be made with the intention to be remote controller, but it could be a nice one.

    Not sure about battery life, but there is still much to gain on that subject i guess. Screen brightness for instance will help a lot.

    I guess there are also a lot of things you could hook up on to the slider
    Like a dimmer, volume controller or even stuff like tv channels, Where a double press could be 10 up or 10 channels down. where a short press is just one.
    Or in a horizontal menu indicating where you are.

    Not sure if the ezslider bar could be re positioned or combined with a image, but i guess we will find a way.....
    Still wondering how i could do a rgb device in a easy way besides giving every color its own page.

    :O)



  • Just released: M5ez 2.0.0

     

    • Simply install from the Arduino Library Manager..
    • But then be ready to make some changes to existing code

     

    From the User Manual:

    What's new in M5ez 2.x ?

    • Many user-selectable settings, including backlight, clock/timezone, FACES keyboard, etc.
    • Theme values can be changed at runtime, multiple thmes can be loaded; a theme chooser then shows up in the settings
    • Header can have user-defined widgets (internally used for clock and wifi signal display)
    • The canvas now inherits from the Print class, so everything print and println could do, you can now also do on the canvas.
    • The canvas scrolls (unless you don't want it to)
    • you can create your own events that get ran in the M5ez button wait loops
    • Many bugs got fixed
    • Code is a lot cleaner now, easier to add things without the sometimes ad-hoc and organically grown constructs of M5ez 1.x

    However, all of this comes with some changes to the names of common functions in M5ez. Generally things are more consistent now, but that does mean they are different: your M5ez 1.x code will not run without modifications. I am not planning an M5ez 3.0 at this time, so expect no further modifications to be needed to existing code for a while.

    Converting code from M5ez 1.x to 2.x

    To convert code form 1.x to 2.x, it is recommended you start by replacing the following functions:

    M5ez 1.x M5ez 2.x
    ez.clearScreen() —> ez.screen.clear()
    ez.background() —> ez.screen.background()
    ez.drawHeader( —> ez.header.show(
    ez.removeHeader() —> ez.header.hide()
    ez.clearCanvas() —> ez.canvas.clear()
    ez.canvasTop() —> ez.canvas.top()
    ez.canvasBottom() —> ez.canvas.bottom()
    ez.canvasLeft() —> ez.canvas.left()
    ez.canvasRight() —> ez.canvas.right()
    ez.canvasWidth() —> ez.canvas.width()
    ez.canvasHeight() —> ez.canvas.height()
    ez.print( —> ez.canvas.print(
    ez.println( —> ez.canvas.println(
    ez.drawButtons( —> ez.buttons.show(
    ez.getButtons( —> ez.buttons.poll(
    ez.waitForButtons( —> ez.buttons.wait(

    Then, check all your print functions: they no longer support the setting of font, location or color in the statement itself: these need to be done with ez.canvas.font, ez.canvas.color etc. (Print is much nicer now because the canvas object inherited from the Print class, and because the canvas can scroll now.)

    Then simply fix any remaining problems by first fixing any compiler complaints with this document in hand, and then walk through all of your program's functionality to see if everything works as expected.

     

    Please consider starring the repository: it helps people find M5ez.



  • Can any users of M5ez that are using it with an M5Stack Fire briefly report whether any LED bars display spurious behaviour? I ave one report of an LED bar staying blue, and one case (my own Fire) where they stay off.

    Thanks...



  • Tested M5ez-demo on a Fire. Compiled with Arduino 1.8.7 with PSRAM=enabled. No issue, no Neopixel, no crackling sound during boot, everything flawlessly.
    Also the OTA Update worked. Maybe the user should try the included OTA application and exclude compiling errors by flashing your github binary?



  • @playthegame excellent report, and good suggestion to try OTA. Thanks...



  • This is Awesome! Great work!
    I'm wondering if there something similar for MicroPython?
    Or are there any plans creating a python version for M5ez?
    Would be amazing!



  • @yurikleb I haven't really played with micropython much: I built M5ez in part because micropython didn't really run well on the memory-restrained M5Stack I had. I know things ar edifferent with the Fire, and it wouldn't be crazy hard to create python bindings for M5ez. I just haven't done any python bindings before, and I'd prefer to stay focused on making M5ez better instead. But I will gladly support anyone else that feels like doing the python bindings.

    (I even had crazy thoughts of a Web-IDE where you can essentially build the entire interface in the browser, What You See Is What You Get. But seems a little ambitious and not sure how much actual use it would get.)



  • @rop Web-IDE sounds cool, have you seen the M5Flow IDE?
    It seems to be python based, and the firmware comes with a module called m5ui which has some basic UI elements you can work with, and it also has a WYSIWYG editor.
    Was trying to find the m5ui module on github but had no luck.



  • Hi! First of all, thank you for your work on this project. I am trying to use it as my very first sketch for m5stack, so I downloaded v2.0.1 and tried to load the demo from examples folder but I get a lot of errors. Is it compatible with v2.x?



  • @crazyhorse80
    What demo are you trying and what errors because im running 2.0
    (sorry @Rop I forgot to update :P )



  • @crazyhorse80 Yes, as mentioned by @ajb2k3 it would be quite helpful to know which example program and which errors.



  • @rop
    The sketch I'm trying to load is M5ez-demo from examples\M5ez in Arduino IDE v1.8.7. I have ezTime v0.7.6 and M5ez v2.0.1 installed and I get a whole lot of errors when compiling.

    Arduino:1.8.7 (Windows 10), Scheda:"M5Stack-Core-ESP32, QIO, 80MHz, Minimal SPIFFS (Large APPS with OTA), 115200, Warn"
    
    ...
    
    Compiling library "M5ez"
    "C:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++" -DESP_PLATFORM "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DHAVE_CONFIG_H "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/config" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/bluedroid" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/bluedroid/api" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/app_trace" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/app_update" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/bootloader_support" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/bt" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/driver" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/esp32" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/esp_adc_cal" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/esp_http_client" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/esp_https_ota" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/esp-mqtt" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/esp-tls" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/ethernet" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/fatfs" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/freertos" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/heap" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/http_server" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/jsmn" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/log" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/mdns" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/mbedtls" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/mbedtls_port" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/newlib" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/nvs_flash" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/openssl" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/spi_flash" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/sdmmc" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/smartconfig_ack" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/spiffs" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/tcpip_adapter" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/tcp_transport" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/ulp" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/vfs" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/wear_levelling" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/xtensa-debug-module" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/lwip" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/coap" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/console" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/expat" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/json" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/newlib" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/nghttp" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/soc" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32/tools/sdk/include/wpa_supplicant" -std=gnu++11 -fno-exceptions -Os -g3 -Wpointer-arith -fexceptions -fstack-protector -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -fno-rtti -MMD -c -DF_CPU=240000000L -DARDUINO=10807 -DARDUINO_M5Stack_Core_ESP32 -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"M5Stack_Core_ESP32\"" "-DARDUINO_VARIANT=\"m5stack_core_esp32\"" -DESP32 -DCORE_DEBUG_LEVEL=2 "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\cores\\esp32" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\variants\\m5stack_core_esp32" "-IC:\\arduino-1.8.7\\portable\\sketchbook\\libraries\\M5ez\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\WiFi\\src" "-IC:\\arduino-1.8.7\\portable\\sketchbook\\libraries\\M5Stack\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\Wire\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\SPI\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\FS\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\SD\\src" "-IC:\\arduino-1.8.7\\portable\\sketchbook\\libraries\\ezTime\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\SPIFFS\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\Preferences\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\WiFiClientSecure\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\Update\\src" "-IC:\\arduino-1.8.7\\hardware\\espressif\\esp32\\libraries\\EEPROM" "C:\\arduino-1.8.7\\portable\\sketchbook\\libraries\\M5ez\\src\\M5ez.cpp" -o "C:\\Users\\Utente\\AppData\\Local\\Temp\\arduino_build_297972\\libraries\\M5ez\\M5ez.cpp.o"
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'virtual size_t ezCanvas::write(uint8_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:329:1: error: no return statement in function returning non-void [-Werror=return-type]
    
     }
    
     ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'virtual size_t ezCanvas::write(const char*)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:334:1: error: no return statement in function returning non-void [-Werror=return-type]
    
     }
    
     ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'virtual size_t ezCanvas::write(const uint8_t*, size_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:341:1: error: no return statement in function returning non-void [-Werror=return-type]
    
     }
    
     ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static bool ezWifi::_autoconnectSelected(ezMenu*)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1248:2: error: no return statement in function returning non-void [-Werror=return-type]
    
      }
    
      ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static bool ezWifi::_connection(ezMenu*)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_WIFI_READY' not handled in switch [-Werror=switch]
    
            switch(_WPS_event) {
    
                  ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_SCAN_DONE' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_START' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_STOP' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_CONNECTED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_DISCONNECTED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_AUTHMODE_CHANGE' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_GOT_IP' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_STA_LOST_IP' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_AP_START' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_AP_STOP' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_AP_STACONNECTED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_AP_STADISCONNECTED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_AP_STAIPASSIGNED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_AP_PROBEREQRECVED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_GOT_IP6' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_ETH_START' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_ETH_STOP' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_ETH_CONNECTED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_ETH_DISCONNECTED' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_ETH_GOT_IP' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1382:14: error: enumeration value 'SYSTEM_EVENT_MAX' not handled in switch [-Werror=switch]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static uint16_t ezWifi::loop()':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1450:9: error: enumeration value 'EZWIFI_NOT_INIT' not handled in switch [-Werror=switch]
    
       switch(_state) {
    
             ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: At global scope:
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1779:2: warning: unknown escape sequence: '\|'
    
      "KB14|!?:;\\#$^&#SP#KB15|*()_-+=\|#Del#KB0|More#LCK:SYM|Lock#KB16|'\"`@%\\/#KB17|<>{}[]()#Done", //KB13
    
      ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1782:2: warning: unknown escape sequence: '\#'
    
      "'#\"#`#@#%#/#\##Back",                //KB16
    
      ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static String M5ez::msgBox(String, String, String, bool, const GFXfont*, uint16_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1805:10: warning: unused variable 'prev_num_lines' [-Wunused-variable]
    
      uint8_t prev_num_lines = 100;
    
              ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'bool ezMenu::addItem(String, void (*)(), bool (*)(ezMenu*))':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:2314:1: error: no return statement in function returning non-void [-Werror=return-type]
    
     }
    
     ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'void ezMenu::_drawItem(int16_t, String, bool)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:2488:10: warning: unused variable 'font_h' [-Wunused-variable]
    
      int16_t font_h = ez.fontHeight();
    
              ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'int16_t ezMenu::_runImagesOnce()':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:2542:11: warning: unused variable 'old_selected' [-Wunused-variable]
    
       int16_t old_selected = _selected;
    
               ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In constructor 'ezProgressBar::ezProgressBar(String, String, String, const GFXfont*, uint16_t, uint16_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:2715:10: warning: unused variable 'prev_num_lines' [-Wunused-variable]
    
      uint8_t prev_num_lines = 100;
    
              ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'bool ezMenu::setCaption(int16_t, String)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:2362:1: error: control reaches end of non-void function [-Werror=return-type]
    
     }
    
     ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In member function 'void ezMenu::_drawCaption()':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:2643:19: error: 'y' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
      m5.lcd.drawString(caption, x, y);
    
                       ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static void ezButtons::_drawButton(int16_t, String, String, int16_t, int16_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:574:23: error: 'bg_color' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
       m5.lcd.fillRoundRect(x, y, w, ez.theme->button_height, ez.theme->button_radius, bg_color);
    
                           ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:574:23: error: 'y' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static void ezWifi::_drawWidget(uint16_t, uint16_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1121:166: error: 'bars' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
        m5.lcd.fillRect(left_offset + n * (ez.theme->signal_bar_width + ez.theme->signal_bar_gap), top + max_len - this_len, ez.theme->signal_bar_width, this_len, (n + 1 <= bars ? ez.theme->header_fgcolor : ez.theme->header_bgcolor) );
    
                                                                                                                                                                          ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp: In static member function 'static String M5ez::textBox(String, String, bool, String, const GFXfont*, uint16_t)':
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1975:58: error: 'cursor_y' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
        if (!readonly && cursor_x && cursor_y) m5.lcd.fillRect(cursor_x, cursor_y, cursor_width, cursor_height, ez.screen.background());  //Remove current cursor
    
                                                              ^
    
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\src\M5ez.cpp:1975:18: error: 'cursor_x' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
        if (!readonly && cursor_x && cursor_y) m5.lcd.fillRect(cursor_x, cursor_y, cursor_width, cursor_height, ez.screen.background());  //Remove current cursor
    
                      ^
    
    cc1plus.exe: some warnings being treated as errors
    
    Più di una libreria trovata per "WiFi.h"
    Usata: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\WiFi
    Non usata: C:\arduino-1.8.7\libraries\WiFi
    Più di una libreria trovata per "SD.h"
    Usata: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\SD
    Non usata: C:\arduino-1.8.7\libraries\SD
    Uso la libreria M5ez alla versione 2.0.1 nella cartella: C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez 
    Uso la libreria WiFi alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\WiFi 
    Uso la libreria M5Stack alla versione 0.2.2 nella cartella: C:\arduino-1.8.7\portable\sketchbook\libraries\M5Stack 
    Uso la libreria Wire alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\Wire 
    Uso la libreria SPI alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\SPI 
    Uso la libreria FS alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\FS 
    Uso la libreria SD alla versione 1.0.5 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\SD 
    Uso la libreria ezTime alla versione 0.7.6 nella cartella: C:\arduino-1.8.7\portable\sketchbook\libraries\ezTime 
    Uso la libreria SPIFFS alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\SPIFFS 
    Uso la libreria Preferences alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\Preferences 
    Uso la libreria WiFiClientSecure alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\WiFiClientSecure 
    Uso la libreria Update alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\Update 
    Uso la libreria EEPROM alla versione 1.0 nella cartella: C:\arduino-1.8.7\hardware\espressif\esp32\libraries\EEPROM 
    exit status 1
    Errore durante la compilazione per la scheda M5Stack-Core-ESP32.
    


  • I can load other M5Stack examples but not those in the M5ez directory. Any idea? Thanks in advance!
    PS: Please forgive my bad English but I'm from Italy...



  • I think ( but i am a noob) that the location of your libraries are not right.

    Got multiple versions of the arduino ide installed ?

    C:\arduino-1.8.7\libraries\WiFi
    C:\arduino-1.8.7\hardware\espressif\esp32\libraries\WiFi
    C:\arduino-1.8.7\portable\sketchbook\libraries\M5ez\

    My best guess is to clean up other versions..... or update all versions on your system to m5ez 2.01



  • @crazyhorse80 Please don't apologise for being Italian, it happens in the best families :)

    The interesting thing is that some of these compiler warnings/errors are real. Sometimes a non-void function indeed returned nothing, some of the other errors are rather nitpicky. Thing is that my IDE never cared about these things: I had "Arduino / Preferences / Compiler Warnings" set to "Default". You must have it set higher. Naturally all of these errors need to be fixed in my code, and I will do so over the next few days and release 1.0.2. Until then, simply set "Compiler Warnings" to "None" and all will be good...

    (I have no idea what your undoubtably Italian version of the IDE calls "Arduino / Preferences / Compiler Warnings", but you'll figure it out...)

    Sorry for the inconvenience, my bad...



  • Thank you all for your replies. I have multiple versions of the Arduino IDE installed but they're all portable installations and they all run fine.
    I will change compiler configuration as suggested and I 'll let you know how it' ll do.
    PS: nice joke ;)


登录后回复
 

与 M5Stack Community 的连接断开,我们正在尝试重连,请耐心等待