[Microbit-Python] another maximum size of program thread
Jeff Young
jeff at perfectmotion.co.uk
Thu Jun 30 10:35:00 EDT 2016
Good idea. I gave it a try...
Installed microfs on my PC with a 'pip install microfs'
Flashed the microbit from the mu editor with a blank file. ( installed
runtime)
Uploaded the first test script to the microbit with 'ufs put main.py'
Hit the restart button.
It worked perfectly with this basic script ( main.py )
from microbit import *
while True:
display.scroll('Hello, World!')
display.show(Image.HEART)
sleep(2000)
Tried with my problem script getting smaller and smaller...
ufs put memory.py
MemoryError: memory allocation failed, allocating 3381 bytes
ufs put main.py
MemoryError: memory allocation failed, allocating 3087 bytes
ufs put main.py
MemoryError: memory allocation failed, allocating 2756 bytes
I even got past the point where the SAME code loads and runs from mu ! i.e
If I take the 2756bytes version above and load it into Mu and flash it
works.
Close but no cigar...
-----Original Message-----
From: Microbit [mailto:microbit-bounces+jeff=perfectmotion.co.uk at python.org]
On Behalf Of Nicholas H.Tollervey
Sent: 30 June 2016 14:55
To: microbit at python.org
Subject: Re: [Microbit-Python] another maximum size of program thread
Jeff,
A quick thought. If it's script length that's the problem, you could just
use the file-system. Viz:
https://microbit-micropython.readthedocs.io/en/latest/tutorials/storage.html
#mainly-main-py
Hope this helps,
N.
On 30/06/16 14:47, Jeff Young wrote:
> Hi All
>
>
>
> First time posting here. Checked the archives and found my exact
> problem outlined in a thread titled 'Maximum Size of Microbit Python
> Program' from Jun '16.
>
> I've tried a few things and I'm hitting the 'size of script' memory
> problem as outlined in a post from Nicholas Tollervey. Runtime memory
> is fine.
>
>
>
> The program never starts and I just see;
>
>
>
> MemoryError: memory allocation failed, allocating 3688 bytes
>
> MicroPython v1.7-9-gbe020eb on 2016-04-18; micro:bit with nRF51822
>
>
>
> The thread doesn't really reach any solutions so I was wondering if
> anyone had found a workround ? I've tried Mu and online editors.
> Same result. I'm seeing the messages via REPL in Mu
>
>
>
> My program is 127 lines working but add in another 8 lines and it
> breaks. No comments in the code ;-)
>
>
>
> As an aside I originally wrote it using python classes and objects but
> found I quickly hit the runtime error limit after about 3 or 4 objects.
> Rewrote with simple lists and we're up to 20 objects before hitting
> the runtime limit. I'm thinking classes/objects consume a lot of memory.
> Also lists-of-lists seem quite memory hungry.
>
>
>
> It would be great to be able to see how much memory is being
> consumed/free during runtime. Great to be able to see the size of
> objects etc in memory.
>
>
>
> I'm also wondering it there is some way to re-balance the memory
> partitioning between the block of memory that holds the code and the
> runtime memory ? ie take a few kb from the run time partition and add
> it to the code partition ?
>
>
>
> Thanks
>
>
>
> Jeff
>
>
>
>
>
>
>
> _______________________________________________
> Microbit mailing list
> Microbit at python.org
> https://mail.python.org/mailman/listinfo/microbit
>
are you in a meeting @be
More information about the Microbit
mailing list