50hz triac phase control with zero crossing timing synchronization. 100micro second timing tolerance or better. I ended up porting to Arduino/C++, too many limitations with UIFlow for now, python maybe to slow anyway. UIFlow is a good tool for higher level/basic control.
Posts made by birdsong
-
RE: UIFlow digital input interruptposted in UIFlow
-
UIFlow digital input interruptposted in UIFlow
In UIFlow is it possible to use an interrupt on an input? when I get a sub millisecond low signal on an input I would like to run some code.
-
RE: uiflow non-volatile memory - save variablesposted in UIFlow
Thanks, I see eeprom option when I change ver to beta in UIFlow. Data in is stored as strings, that simplifies things.
-
M5Stack Delete App from App List UIFlow V1.5.4posted in UIFlow
How do I delete apps from the app list with the UIFlow firmware loaded?
-
uiflow non-volatile memory - save variablesposted in UIFlow
In UIFlow, how do I save variables to non-volitile memory? When the M5stack starts I would like to load saved variables so I don't have to re set them every time the power is cycled. If there is a blackout I don't want to loose the current settings.
-
RE: How to set data type and intial values.posted in UIFlow

Converts to;if bRunFan and bRunFan != bRunFanOld: fPvHrs = 0.01 if bTm6min and bRunFan: fPvHrs = fPvHrs + 0.01 bRunFanOld = bRunFanThanks M5stack, this worked.
I didn't want to divide by 10 because I would have to do that everywhere, slow the execution speed, its a slippery slope. The esp32 has very long divide instruction time compared to addition and multiplication. -
How to set data type and intial values.posted in UIFlow
How can a make blockly keep a data type? this Function doesnt work, because 0.1 rounds down to 0 every time the code is executed. It is for an hour meter, I want to add 0.1 every 6mins.
This is what blockly automaticaly generates;if bTm6min and bRunFan: fPvHrs = (fPvHrs if isinstance(fPvHrs, Number) else 0) + 0.1
When i manually change the code the problem goes away until blockly reverts back to the old code again.fPvHrs = fPvHrs + 0.1 -
RE: Button Errorposted in UIFlow
@m5stack Its ok thanks, problem solved. I gave the text label the name 'btnA' which is already a M5stack function, so renamingthe label cleared the problem.
-
RE: Button Errorposted in UIFlow
@birdsong said in Button Error:
Solution:
I gave text a label btnA, when I changed it to labelA that bug was cleared. -
RE: Delivery times to Australiaposted in General
Mine took 5 days to arrive in QLD through digi-key.
-
Button Errorposted in UIFlow
What do you think is causing the error "'M5TextBox' object has no attribute 'wasReleased'" to display on the screen when I download the program to a M5stack?

def buttonC_wasReleased(): global bDecreaseSp, iMenu, bIncreaseSp, bTm250ms, thrd10ms, iBackLtTm20min, thrdDispStatBar, thrdDispPvSp, fPvHrs, bTm1s, thrdCtrlFan, thrd20ms, fPvTemp, bRunFan, bRunFanOld, bTm6min, thrd30ms, iTm250ms, bTm15min, iSpMode, iStatus, thrd40ms, fSpTemp, fSpRH, fSpMaxHrs, thrd50ms, thrd60ms, fPvRH, iTm1s, fSpHrs, iTm6min, iTm15min bDecreaseSp = True iBackLtTm20min = 4800 pass btnC.wasReleased(buttonC_wasReleased) def buttonA_wasReleased(): global bDecreaseSp, iMenu, bIncreaseSp, bTm250ms, thrd10ms, iBackLtTm20min, thrdDispStatBar, thrdDispPvSp, fPvHrs, bTm1s, thrdCtrlFan, thrd20ms, fPvTemp, bRunFan, bRunFanOld, bTm6min, thrd30ms, iTm250ms, bTm15min, iSpMode, iStatus, thrd40ms, fSpTemp, fSpRH, fSpMaxHrs, thrd50ms, thrd60ms, fPvRH, iTm1s, fSpHrs, iTm6min, iTm15min iMenu = (iMenu if isinstance(iMenu, Number) else 0) + 1 iBackLtTm20min = 4800 pass btnA.wasReleased(buttonA_wasReleased) def buttonB_wasReleased(): global bDecreaseSp, iMenu, bIncreaseSp, bTm250ms, thrd10ms, iBackLtTm20min, thrdDispStatBar, thrdDispPvSp, fPvHrs, bTm1s, thrdCtrlFan, thrd20ms, fPvTemp, bRunFan, bRunFanOld, bTm6min, thrd30ms, iTm250ms, bTm15min, iSpMode, iStatus, thrd40ms, fSpTemp, fSpRH, fSpMaxHrs, thrd50ms, thrd60ms, fPvRH, iTm1s, fSpHrs, iTm6min, iTm15min bIncreaseSp = True iBackLtTm20min = 4800 pass btnB.wasReleased(buttonB_wasReleased)