🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    UiFlow 2.0 discuss(how-to, bug, feature request or sometings)

    UiFlow 2.0
    78
    193
    528.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zhumingqi @zhumingqi
      last edited by

      I tested more UI design. And I found that the memory leak only happens when I use image component and switch images frequently. Is that a UIFlow2.3.3 bug or my design is incorrect?

      1 Reply Last reply Reply Quote 0
      • Z
        zhumingqi
        last edited by

        Today, I updated the UIFlow to V2.3.4, and burned V2.3.4 firmware as well. Then I tested that image component again with M5GFX in UIFlow 2.3.4. But the issue still exists. After I switch two JPG pics with one image component for sometime, the memory will reduced continiously. Finally, the system will break out. And I try to use gc.collect() after every drawImage(), but it's not useful.
        Here is my design and python code:
        import os, sys, io, gc
        import M5
        from M5 import *

        ImageSwitchFlag = None

        def GcCollectAndPrint():
        global ImageSwitchFlag
        gc.collect()
        print(gc.mem_free())
        pass

        def btnA_wasClicked_event(state):
        global ImageSwitchFlag
        if ImageSwitchFlag == 0:
        M5.Lcd.drawImage("/flash/res/img/RotaryBGBacklight.jpg", 0, 0)
        GcCollectAndPrint()
        ImageSwitchFlag = 1
        elif ImageSwitchFlag == 1:
        M5.Lcd.drawImage("/flash/res/img/RotaryBGBT.jpg", 0, 0)
        GcCollectAndPrint()
        ImageSwitchFlag = 0

        def setup():
        global ImageSwitchFlag

        M5.begin()
        Widgets.fillScreen(0x000000)

        BtnA.setCallback(type=BtnA.CB_TYPE.WAS_CLICKED, cb=btnA_wasClicked_event)

        ImageSwitchFlag = 0

        def loop():
        global ImageSwitchFlag
        M5.update()

        if name == 'main':
        try:
        setup()
        while True:
        loop()
        except (Exception, KeyboardInterrupt) as e:
        try:
        from utility import print_error_msg
        print_error_msg(e)
        except ImportError:
        print("please update to latest firmware")******

        b442ffec-d9ce-4445-898c-4b8ffc3caa82-image.png

        1 Reply Last reply Reply Quote 0
        • S
          Schwibach
          last edited by

          I wrote in another thread about my Sync... 0% problem.

          I am pretty sure now that it is a bug. I does not matter which program I use. I can run them from UIFlow 2.0. But as soon as I download a program, I will get the Sync... 0%

          Also, if I burn firmware without selecting startup, it will not even connect to UIFlow 2.0.

          I would really appreciate any guidance you could give.

          1 Reply Last reply Reply Quote 0
          • O
            otosan-maker
            last edited by

            I have found a bug in MQTT software. When I subscrive to a topic, the python code creates the subscription at the beggining of the setup code, before it connects to wifi and mqtt.

            Here is the sample:
            def setup():
            global page0, label0, LTemp, label1, temperatura, slider0, button0, off, mqtt_client, wlan, rotary
            mqtt_client.subscribe('termostato/temperatura', mqtt_termostato_temperatura_event, qos=0)

            M5.begin()
            m5ui.init()
            page0 = m5ui.M5Page(bg_c=0xffffff)
            label0 = m5ui.M5Label("Umbral", x=30, y=81, text_c=0x85231b, bg_c=0x302c2c, bg_opa=0, font=lv.font_montserrat_24, parent=page0)
            LTemp = m5ui.M5Label("Temperatura:", x=41, y=39, text_c=0x000000, bg_c=0xffffff, bg_opa=0, font=lv.font_montserrat_14, parent=page0)
            label1 = m5ui.M5Label("19,0", x=152, y=81, text_c=0x85231b, bg_c=0xffffff, bg_opa=0, font=lv.font_montserrat_24, parent=page0)
            temperatura = m5ui.M5Label("00.00", x=141, y=39, text_c=0x000000, bg_c=0xffffff, bg_opa=0, font=lv.font_montserrat_14, parent=page0)
            slider0 = m5ui.M5Slider(x=38, y=119, w=160, h=22, mode=lv.slider.MODE.NORMAL, min_value=190, max_value=290, value=210, bg_c=0x115e9f, color=0x2c90e4, parent=page0)
            button0 = m5ui.M5Button(text="Set", x=54, y=172, bg_c=0x2196f3, text_c=0xffffff, font=lv.font_montserrat_14, parent=page0)
            off = m5ui.M5Button(text="OFF", x=124, y=171, bg_c=0xf36021, text_c=0xffffff, font=lv.font_montserrat_14, parent=page0)

            off.add_event_cb(off_event_handler, lv.EVENT.ALL, None)
            BtnA.setCallback(type=BtnA.CB_TYPE.WAS_CLICKED, cb=btnA_wasClicked_event)
            slider0.add_event_cb(slider0_event_handler, lv.EVENT.ALL, None)
            button0.add_event_cb(button0_event_handler, lv.EVENT.ALL, None)

            page0.screen_load()
            wlan = network.WLAN(network.STA_IF)
            rotary = Rotary()
            wlan.connect('bencab', 'arrabal6')
            rotary.set_rotary_value(19)
            mqtt_client = MQTTClient('m5termostato', '192.168.1.34', port=1883, user='user', password='pass', keepalive=33149)
            label1.set_text(str((slider0.get_value()) / 10))

            1 Reply Last reply Reply Quote 0
            • O
              otosan-maker
              last edited by

              c8fa1994-6b95-44a3-bd12-2a546e067051-image.png

              1 Reply Last reply Reply Quote 0
              • A
                Amani4791
                last edited by

                Hi there,

                I updated firmware on my Tab5 and installed UiFlow 2.0 V 2.4.0.
                I hoped for fixed UI libs, LVGL (M5UI) is not working for me:
                If I use pictures for button graphics (<30kB) hiding/ showing them to get 2 state feedback is very, very slow!
                The same graphics work fine/ fluent with old M5GFX, so I assume there must be a bug?

                Also: it seems that Wifi is not working anymore with V2.4.0: cannot get http calls.
                (also normally on booting Tab5 shows UIFlow settings page, with V2.4.0 not anymore and if I download project it's not booting...

                Hopefully you can fix it soon, I hoped to get something running over Christmas holidays ;-)

                Thanks a lot,
                Kind regards from Switzerland!
                Stephan

                1 Reply Last reply Reply Quote 0
                • G
                  GuerillaPlanter
                  last edited by

                  Thank you for the M5Stack devices and coding tools. This community forum has been a great help too. I have been successfully using UiFlow2 to create code for a Cardputer. But I think there is a bug in the UiFlow2 web UI and/or m5f2 file format.

                  THIS WORKS: I can save to the cloud, save the project to a local file, and reimport that file, when the script is like:

                  sTestString = None
                  
                  def setup():
                    global sTestString
                  
                    M5.begin()
                    Widgets.fillScreen(0x000000)
                  
                    sTestString = 'hello'
                  
                  def loop():
                    global sTestString
                    M5.update()
                  

                  THIS DOESN'T WORK: If I edit it and assign a particular more complex value to the string, I cannot save to the cloud, nor reimport a file saved locally:

                  sTestString = 'OL,1,RW7###jp0 55  j"#k#!7##ih###4up j`%##7#'
                  

                  This string happens to be a line from a teletext page .tti file, which includes some display control codes. Here is a screenshot of the code which can't be saved to the cloud or reimported, in the UiFlow2 UI:

                  4afd05da-a1ee-4057-a251-fcb98e423e69-image.png

                  Decoding this string's value is:

                  \u004f\u004c\u002c\u0031\u002c\u001b\u0052\u007f\u001b\u0057\u0037\u0023\u0023\u0023\u006a\u0070\u0030\u0020\u0035\u0035\u0020\u0020\u006a\u0022\u0023\u006b\u0023\u0021\u0037\u0023\u0023\u0069\u0068\u0023\u0023\u0023\u0034\u0075\u0070\u0020\u006a\u0060\u0025\u0023\u0023\u0037\u0023

                  While the script cannot be saved to the cloud (there is no response), the project can be saved to a local file. In the .m5f2 project file, the relevant saved value is:

                  <field name=\"VAR\" id=\"usN/c#7FD;q`ieH|V~5K\">sTestString</field><value name=\"VALUE\"><block type=\"text\" id=\"ap8ErHQgaUZ`^d-W-%_I\"><field name=\"TEXT\">OL,1,\u001bR\u001bW7###jp0 55  j\"#k#!7##ih###4up j`%##7#</field></block></value>
                  

                  This local file cannot then by imported again into UiFlow2, giving an "error opening file" message:

                  2dca212f-b98c-4d77-ba73-8801f4396409-image.png

                  I believe the problem is related to some unicode characters rather than the " character.

                  1 Reply Last reply Reply Quote 0
                  • W
                    wmoorefi @ajb2k3
                    last edited by

                    I am unable to get BaseX module to work with UI Flow 2.x firmware. I can get it to work with UI Flow 1.x.

                    1 Reply Last reply Reply Quote 0
                    • R
                      RBOUMAN58
                      last edited by

                      I noticed today uiflow2 is 2.4.4 instead of the 2.4.3 as yesterday.Working with a PaperS3 e-paper, my programs crash on missing fonts

                      AttributeError: type object 'Fonts' has no attribute 'Montserrat24'

                      Also Montserrat18 is mentioned many times.
                      These fonts are the fonts used in the prompts/labels on the screeneditor in uiflow2?
                      Anybody has seen same symptoms, so something wrong with 2.4.4?

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        RBOUMAN58 @RBOUMAN58
                        last edited by

                        @RBOUMAN58
                        Got the problem solved, burned the 2.4.4 firmware using M5Burner, problems gone... programs are working again

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post