[Microbit-Python] error code?... :(020

Alan alainjackson at hotmail.com
Fri Sep 25 03:09:25 CEST 2015


I've just been writing myself an event queue for button pushes etc... maybe that's not necessary if there already is one, if it's accessible. 

Cheers,

Alan
To: microbit at python.org
From: larry at hastings.org
Date: Thu, 24 Sep 2015 14:17:17 +0100
Subject: Re: [Microbit-Python] error code?... :(020


  
    
  
  
    

    I wish to understand this more.  Micropython has an internal,
    hidden-from-view, event queue?  How do I examine and interact with
    it?

    

    I thought button_a.is_pressed() was polling; is it watching for
    button events on this event queue?  Does that imply that I can get
    delayed / buffered button presses?

    

    In general how do I keep the event queue from filling?

    

    

    /arry

    

    On 09/23/2015 01:54 PM, Damien George
      wrote:

    
    
      Hi Alan,

Error code 020 is "out of memory".

The problem is as you guessed: there is an event put on the event
queue each time the button is pressed.  To clear this queue your code
needs to "yield".  You can do this by putting sleep(1) in your loop.

This is totally unexpected behaviour and I'll work out how to fix it
(Ie your code should just work).

Cheers,
Damien.



On Wed, Sep 23, 2015 at 4:02 AM, Alan <alainjackson at hotmail.com> wrote:

      
        Error code update.

I'm consistently getting the ":( 020" code after 42 button presses (of any
combination of buttons A and B).

Is there a button click buffer that's overflowing somewhere? If there is I
can't see a method on the microbit API to clear it.

Cheers,

Alan

________________________________
From: alainjackson at hotmail.com
To: microbit at python.org
Date: Wed, 23 Sep 2015 00:28:51 +0000
Subject: [Microbit-Python] error code?... :(020


Hi,

I wrote a small program to draw on the LED matrix, but after setting a few
LEDs on I get what looks like an error message on the LEDs:

":(020"

(Frowny-face zero two zero)

It just keeps repeating that and my program stops but there's no stack trace
on the python repl.

Is that a built in hardware error code or something? Has anyone else seen
that?

Here's my program:

====8<====

from microbit import *

index = 0

while True:
    if button_a.is_pressed():
        x = index % 5
        y = int(index / 5)
        display.image.set_pixel_value(x,y,
not(display.image.get_pixel_value(x,y)))

    if button_b.is_pressed():
        index = (index + 1) % 25

_______________________________________________ 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


      
      _______________________________________________
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: <https://mail.python.org/mailman/private/microbit/attachments/20150925/f38a35ef/attachment.html>


More information about the Microbit mailing list