Several bug fixes later...AndrewJ wrote: ↑28 May 2018, 21:58 Hi Lisa,
I see on Github that you've been hard at work on a new update (9ebffbd) of uPyEasy!! Thank you for all your effort on this project!
I'm still keen to get uPyEasy working on my STM32F405 AliExpress clones, or at least the one which still seems to work reliably.
So I updated my local repo and set about building the firmware.
Initially I had errors from a couple of "missing" files in the /unix directory (copy.py and types.py) which I was able to fix, also I needed to create new links for these into my micropython-stm32 file system before it would work.
uPyEasy then started up ok and ran for a short time. Some screens are working (MaIn, Config, Hardware - Hardware is much more responsive! But i did find some issues....
- uptime is a large negative number of days, and some hours and minutes, bit of a time-warp
- Controller page: I tried 'Add' but got a blank browser screen, and in the log a Critical exception OSError(2)
- Devices: I got the first bit, to select a plugin, but clicking Submit gave an error "connection reset" and in the log NameError ('local variable rererenced before assignment')
- Advanced: tried to change NTP, Submit gave a MemoryError. It seems to be gradually using up the memory while in use.
Please keep up the good work!! I'm really keen to have a working Ethernet device, as potentially it should be faster and more reliable than wifi. Is there anything I can do to help?
Cheers
Andrew
I have everything working on my side, the source has been updated to 000df1a. Please update your side and try again.
But.. i do have some of the same memory problems as you have. If running on a stm32, please run it using: upyeasy.main(loglevel=0) and keep an eye on the memory!
If the memory level drops to about 7-8K, then you might start getting memory errors due to memory fragmentation. Workaround is to do a single action, like adding a controller, and then reboot.
This is happening due to the new deepcopy's (although now replaced in some parts by ordereddict init's) which make things more reliable but also consume more memory. I need to do a second round of memory optimization to free up memory.
A memory map can be seen when clicking on tools/info menu in the browser, then on your usb console a complete memory map is appearing when running in debug mode!
I'm not going to able to fix the memory problems shortly, due to the fact that i'm back home to the good old USA for the next few weeks.