[Microbit-Python] another maximum size of program thread

Locard l0c4rd at gmail.com
Thu Jun 30 10:55:57 EDT 2016


One other thing:

> 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.


This you can do. try:


     from micropython import mem_info

     #print memory info
     mem_info()

     #print verbose memory info
     mem_info("whatever")



Should give you the info you're after.

Locard


On 30/06/2016 15:38, Nicholas H.Tollervey wrote:
> I believe there is a max file length due to the constraints of the
> device (Mark Shannon will be able to confirm this). Perhaps you're
> hitting that? Why not modularise your code and import it as required in
> main.py..?
>
> Just guessing out loud here... YMMV.
>
> :-)
>
> N.
>
> On 30/06/16 15:35, Jeff Young wrote:
>> 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
>>
>>
>> _______________________________________________
>> Microbit mailing list
>> Microbit at python.org
>> https://mail.python.org/mailman/listinfo/microbit
>>
>
>
>
> _______________________________________________
> Microbit mailing list
> Microbit at python.org
> https://mail.python.org/mailman/listinfo/microbit

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/microbit/attachments/20160630/a2ca9c2e/attachment-0001.html>


More information about the Microbit mailing list