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



  • @rop, M5ez is awesome - thank you for the enormous amount of time you put into it!

    I'm trying to use Blynk to receive events from another board. I have gotten events to show on the M5 in a simple standalone program, so I know it "works". Within M5ez, I believe I just need to call Blynk.run() with the ez.addEvent function, as Blynk.run needs to run often as possible - in most of my projects it's usually the only thing in the main loop, but I'm unsure of how/where to use the ez.addEvent function. There aren't any examples of ez.addEvent in the Demo or any of the other examples included with the library. Any help on syntax and where to put that statement?

    Thanks again for your time!!!



  • @brianr It depends on the rest of your program, but normally you would place it in setup(). Then make sure the event function returns 1 to run as often as possible. What that means is that you cannot provide Blynk.run() directly but must make your own function that runs Blynk.run() and returns a uint16_t of value 1

    This needs to be more convenient, I know. addEvent() needs another go-over, better documentation and examples, will put that on the list.



  • Ah yes, success! I added ez.addEvent(run_Blynk); to the setup(), and then created a function down below, after the loop, that looks like the following. It's worth noting that I'm using the M5 as a "receiver" from a bridge, thus the blynk_write(V1) statement.

    uint16_t run_Blynk() {
      Blynk.run();
      return 1;
    }
    
    BLYNK_WRITE(V1){
        eventData = param.asString();
    }
    

    That did the trick, Blynk connects and stays connected. Now trying to figure out how to display the dynamic data from Blynk on the canvas. If I figure this all out, I'll write a short demo in a new topic for others, as I haven't seen many examples of actual use of M5ez, other than the demo program, but most projects are more than just menus, they have to display something... Again, @rop, excellent work, and thanks again so much!



  • I really like M5ez so I gave it its own core. Justified it by saying that’s real MVC architecture! Real Computer Science stuff.
    /*


    GLOBAL INFO
    core 0 is the communications processor.
    Uses the ESP-NOW protocol
    on the 2.4 GHz radio
    This process runs as a task created
    on core 1
    core 1 is the UI processor.
    Maintains the M5Stack M5ez LCD menu
    Runs Arduino setup() and loop()


    */
    Use RTOS semaphores when accessing the global vars to/from the local versions.



  • Hello,

    Is there a chance to change font (or size) of ez.header ?

    Regards, M



  • Looks great! Does it play well with PlatformIO ?


  • M5Stack

    Great Job



  • @Rop is M5EZ supporting the Stick C?
    I have had a query from the Facebook group.



  • @ajb2k3

    No it does not: it only works on the 3-Button M5Stack devices.



  • @rop Any intention of a stick version?