UiFlow 2.0 discuss(how-to, bug, feature request or sometings)
-
Hi @felmue ,
Unfortunately, I had the same results with your code as with mine.The only thing I changed to make your code 'work' is add
print
statements (I broke my screen, so no more labels for me).
I also had to put the Pin Buttons' init statements tomode=High
(otherwise my buttons won't work)Basically the only difference between your code and mine, other than that, is that you didn't
sleep
in your loopI shared my test projects too:
(M5 Buttons) buttons callback test
(pin buttons) buttons callback test
for the pin buttons one, please fill in the callbacks' names to: [37, 37, 39, 39, 35, 35] (there is a bug that whenever you import the project they dissapear) -
Hello @CAT-the-Tech
ok, I think I figured it out. The issue seems to be the broken screen. I get the same results as you do if I remove the screen of my M5StickCPlus2.
UIFlow2 firmware is based on M5Unified (C code) which uses the different screens (or lack thereof) to distinguish between device models. The board ID for M5StickCPlus2 is
5
. However without screen it thinks it is an M5Atom (board ID129
). And the M5Atom has a single button connected to GPIO39. That is why pressing BtnB on an M5StickCPlus2 (w/o screen) signals BtnA. See here.Thanks
Felix -
@felmue @lbuque Finally! It worked!
As felmue said, it was the broken/unplugged screen that caused my StickCPlus2 to act like a M5Atom
My screen looks to have only the outer plastic/glass layer broken (it still lights on, but it is cracked and only shows lines and stuff).So I plugged the screen back in, and now the buttons work!
Thank you all for helping me, I will soon order another StickCPlus2 from Mouser.
To the developers:
Can you please make it so that UIFlow2 distinguish between the different models using a model number taken from when M5Burner flashes UIFlow2?
-
Feature requests
- An 'Execute mpy code' block that plugs into another block (a value block(?))
- The possibility to go back versions in UIFlow2's web interface
Bug/feature request
Normally, when you want to rotate the display, you execute this:
M5.begin() # M5 inits labels, etc Widgets.setRotation(1)
But this is wrong! Because it inits the labels BEFORE the screen is rotated, which makes the labels appear once before the screen is rotated, and then stays in the wrong orientation even after the screen is flipped.
What I need to do:
# trick M5 begin eval("M5" + ".begin()") Widgets.setRotation(1) if False: M5.begin() # M5 inits labels, etc
-
Hi,
I noticed the THERMAL2Unit name is capitalised wrong in UIFlow 2 web - in the m5stack/unit/init.py it is called "ThermalUnit2" => Import error.
(Even after doing manual codeblock edit I don't get an import error but other errors - but this should likely be fixed anyway)Thanks
C -
I see that the ThermalUnit2 is now fixed :)
Next issue -
- how can I access temperature data buffer and include in REST API or
- present it on screen (e.g. do I use it as source for an image UI component somehow?)
Thanks!
@chrol said in UiFlow 2.0 discuss(how-to, bug, feature request or sometings):
Hi,
I noticed the THERMAL2Unit name is capitalised wrong in UIFlow 2 web - in the m5stack/unit/init.py it is called "ThermalUnit2" => Import error.
(Even after doing manual codeblock edit I don't get an import error but other errors - but this should likely be fixed anyway)Thanks
C -
This post is deleted! -
FEATURE REQUEST!
It would be extraordinarily helpful for there to be a type of LABEL in UiFlow2 which could fill the screen and word-wrap long text strings.
-
@Coopersmith-24601 said in UiFlow 2.0 discuss(how-to, bug, feature request or sometings):
FEATURE REQUEST!
It would be extraordinarily helpful for there to be a type of LABEL in UiFlow2 which could fill the screen and word-wrap long text strings.
Yes. Thanks for suggestion. We will consider this.
-
Hello,
I am trying to receive a bytearray via BLE from a server, but I can't get a response.
By sending a certain bytearray via BLE to the Sbrick device, it returns a response indicating the temperature value. And through another bytearray, the voltage value is returned.
In App Inventor I get it with these blocks:
But in UiFlow 2.0 I can't get it using these blocks:
What am I doing wrong?
s it possible that this block will not trigger the server response?
Perhaps, the mode argument is mode=0 (write-without-response). Or am I mixing up different things?
I can't get a response from the server with the "When BLE client on notify" block or with the "When BLE client on read complete" block
I need help, or a lot of help. :)
Thank you very much.
-
Feature request:
Ability to set headers for Label+ objects. Many APIs required these headers before they respond with proper JSON.
Example:
curl -H "Accept: application/json" https://icanhazdadjoke.com/
-
I'm using a MiniJoyC with M5stuckC Plus2 and UIFlow 2.1.4.
I've read through examples and documentation but I can not get x or y values. They only display 0.Same thing happens in Arduino IDE.
I do get values when using UI flow 1, so I know the minijoy is working.
Any known issues with the UIf2 libraries?
Thanks in advance.
-
Using: UIFlow 2.1.5, AtomS3, KMeterISOunit
From the version history, it appears that the Firmware changed the KMeterISOunit API a couple revs back, but UIFlow is still generating code for the old API. When I do the blockly code and run on my AtomS3, an exception is thrown showing the issue:
Code generated (snipit)
...but from the latest API docs, the reading code should be:
Note: I did a workaround using the "Execute mpy code" block and writing in the proper API calls, but it would be nicer if the versions matched up.