[Microbit-Python] Lock-up due to some combination of radio and pwm.
Nicholas H.Tollervey
ntoll at ntoll.org
Fri Jan 27 06:04:49 EST 2017
Hi,
I'm hope to have a release of the editors with an updated runtime come
out relatively soon. Unfortunately, it's a case of lining things up and
making sure everything is ready / tested and those people I'm relying on
to do something actually do it.
N.
On 27/01/17 10:27, David Booth via Microbit wrote:
> Hi Nevil, Damien, Mark
>
> Re Micro Python lock up when Radio and PWM output used on micro:bit.
>
> Damien found that my firmware was out of date and sent me a fix which
> involved merging two hex file. Unfortunately my programming skills were
> not up to performing this merger and so David Whale sent me this idiots
> guide (me) to producing a microPython editor on my PC screen which
> incorporated Damien's fix but enabled me to write any microPython script
> as I would in the editor I would have got via microbit.org
> <http://microbit.org>. This solution written by Nicholas Tollervey is
> given at the end of this email. This worked. So I recommend you follow
> the instructions but remember if you do not update your new editor, over
> time it might get out of date again.
>
> *Question for Damien*
> *
> *
> *For people like me with older micro:bits and poor C skills, will there
> come a time when linking into the microPython editor via
> www.microbit.org <http://www.microbit.org> will give them an editor that
> will by-pass this problem or should the microPython documentation warn
> them that if they want to use radio and PWM to use the following procedure?*
> *
> *
> Regarding Ticket 583 https://support.microbit.org/helpdesk/tickets/583
> <https://support.microbit.org/helpdesk/tickets/583>
>
> Ok, so I have a simple scheme for how you can fix this, the idea came
> from Nicholas Tollervey late last night!
>
> 1. go to: https://github.com/bbcmicrobit/PythonEditor
> <https://github.com/bbcmicrobit/PythonEditor>
>
> 2. press the CLONE OR DOWNLOAD button
>
> 3. Choose the DOWNLOAD ZIP option
>
> This will download a complete web based python editor.
>
> 4. Unzip this on your computer - you should now have a PythonEditor folder
>
> 5. get Damien's patched .hex file from
> here: https://micropython.org/resources/firmware/microbit-micropython.hex <https://micropython.org/resources/firmware/microbit-micropython.hex>
>
> 6. rename Damien's .hex file as 'firmware.hex' and replace the
> firmware.hex that is in the PythonEditor directory that is now on your
> computer with this patched version.
>
> 7. double click on editor.html - this should launch a complete python
> editor web page in your browser.
>
> 8. Paste your code into this editor window, then press the DOWNLOAD
> button. This will generate a .hex file that has your script and Damien's
> latest MicroPython 'firmware' inside it (which apparently has the PWM
> fix inside it that he was talking about)
>
> 9. Test your code again to see if the PWM lasts for longer, and report
> back to us on how this goes?
>
> Hope this helps!
>
>
>
> David Whale
> micro:bit support
> http://microbit.org/team
>
>
> On 26 January 2017 at 18:14, Nevil Hunt <nevil.hunt at hotmail.co.uk
> <mailto:nevil.hunt at hotmail.co.uk>> wrote:
>
> Hi David/Mark/Damien,
>
>
> Are there any updates on this lock-up issue?
>
>
> By the way if you or anyone else on this mailing list is at the BETT
> Show tomorrow (Friday) then I will be on the micro:bit stand for at
> least part of the day so come over and say 'hello'!
>
>
> Cheers,
>
>
> Nevil
>
>
>
> ------------------------------------------------------------------------
> *From:* Microbit
> <microbit-bounces+nevil.hunt=hotmail.co.uk at python.org
> <mailto:hotmail.co.uk at python.org>> on behalf of David Booth via
> Microbit <microbit at python.org <mailto:microbit at python.org>>
> *Sent:* 31 December 2016 23:17
> *To:* For Pythonic MicroBit related discussions
> *Cc:* David Booth
> *Subject:* Re: [Microbit-Python] Lock-up due to some combination of
> radio and pwm.
>
> Hi Mark
> I have been having problems getting github to accept my input. It
> keeps asking me to verify my email address which I have done several
> times. So I have now re registered and submitted a comment.
> However it did not let me send .hex or .py files
>
> However you should know that in the interim Damien George has my hex
> files and has reproduced the problem. I have sent him my .py files
> so he can investigate further.
>
> Happy New Year
> David
>
> On 30 December 2016 at 12:04, Mark Shannon <mark at hotpy.org
> <mailto:mark at hotpy.org>> wrote:
>
> Hi Nevil and David,
>
> Could you please submit an issue for this.
> https://github.com/bbcmicrobit/micropython/issues/new
> <https://github.com/bbcmicrobit/micropython/issues/new>
>
> It is frustrating knowing that there may be a problem, but not
> being able to fix it.
> All I need is a brief description of what goes wrong and, most
> importantly, some code that causes the problem.
>
> Cheers,
> Mark.
>
> On 23/12/16 18:44, Nevil Hunt wrote:
>
> Hi David,
>
>
> I've also encountered some similar symptoms this week, namely a
> micro:bit locking up such that a reset doesn't bring it back
> to life.
> Only a power cycle brings it back to life.
>
>
> My set-up has some similarities with yours in that I'm
> sending Radio
> commands from one micro:bit to another using the suggested
> method of
> "radio.send(str(x))" with the receiving micro:bit locking up
> from time
> to time. However I think the lockups might not be due to the
> Radio
> commands. I too have the receiving micro:bit driving pins
> with PWM (in
> my case Servos) and with a bit of experimenting it looks
> like it might
> be these "pin1.write_analog(x_angle)" commands that are
> causing the
> lock-ups since by commenting out these "write_analog"
> commands (but with
> all the Radio commands still running) it hasn't locked up in
> over an
> hour. By comparison, with the "write_analog" commands still
> active, ~5
> mins is the longest it runs without locking up.
>
>
> Maybe you could see if commenting out the "write_analog"
> commands on
> your setup has the same effects. It may not stop other
> errors but I'd be
> interested to see if it stops the lock-ups.
>
>
>
> Cheers,
>
>
> Nevil
>
>
>
>
> ------------------------------------------------------------------------
> *From:* Microbit
> <microbit-bounces+nevil.hunt=hotmail.co.uk at python.org
> <mailto:hotmail.co.uk at python.org>>
> on behalf of David Booth via Microbit <microbit at python.org
> <mailto:microbit at python.org>>
> *Sent:* 23 December 2016 15:09
> *To:* For Pythonic MicroBit related discussions
> *Cc:* David Booth
> *Subject:* Re: [Microbit-Python] List of error codes and
> their meanings
>
> Hi Damien
>
> I have a related question regarding run time errors in micro
> Python.
>
> I have three micro:bits. The first I call Rx because it
> basically
> receives x axis acceleration data in string form, via the
> radio from the
> other two micro:bits Tx1 and Tx2. Rx poles Tx1 then Tx2
> with 100 ms
> gaps. Nicholas Tollervey showed me how to avoid the Type
> None error when
> converting the string to an integer in RX and I now have
> three simple
> script which enable Rx to drive pins P0 (from Tx1) and P8
> (from Tx2)
> with a PWM signal.
>
> However after running perfectly well for anything from 10
> seconds to a
> minute Rx freezes. On the very few occasions an error
> message has
> scrolled it appears to be saying that "received is not a
> string" and
> possibly there is a value error. However on 98% of
> occasions Rx is
> frozen to the extent it cannot report the error. Since
> spurious errors
> do not worry me, provided Rx continues with the polling
> loop, is it
> possible to suppress catching run time errors and if it is
> possible is
> it likely that the While loop would continue?
>
> Sometimes pressing reset restarts the system but sometimes I
> have to
> remove the battery.
>
> Thank you and a Happy Christmas
> David Booth
> ps will you be at BETT?
>
>
> On 20 December 2016 at 23:31, Damien George
> <damien.p.george at gmail.com <mailto:damien.p.george at gmail.com>
> <mailto:damien.p.george at gmail.com
> <mailto:damien.p.george at gmail.com>>> wrote:
>
> There are many exceptions and they can occur for many
> reasons. Almost
> all are based on CPython and the exceptions form a
> hierarchy. Eg,
> indexing a list with an out-of-bounds index will raise
> IndexError,
> which derives from LookupError, which derives from
> Exception, which
> derives from BaseException.
>
> For a list of implemented exceptions in MicroPython see
>
> https://github.com/bbcmicrobit/micropython/blob/master/source/py/objexcept.c#L192-L280
> <https://github.com/bbcmicrobit/micropython/blob/master/source/py/objexcept.c#L192-L280>
>
> <https://github.com/bbcmicrobit/micropython/blob/master/source/py/objexcept.c#L192-L280
> <https://github.com/bbcmicrobit/micropython/blob/master/source/py/objexcept.c#L192-L280>>
>
> On 21 December 2016 at 08:35, David Whale
> <david at thinkingbinaries.com
> <mailto:david at thinkingbinaries.com>
> <mailto:david at thinkingbinaries.com
> <mailto:david at thinkingbinaries.com>>> wrote:
> > Is there anything in the docs that lists all the errors
> (exceptions) that
> > can occur in MicroPython and what they mean?
> >
> > The closest I found was this:
> >
> >
>
> https://github.com/bbcmicrobit/micropython/blob/a20fbe82c919cea9519ce5a1140103f518b51caa/inc/py/qstrdefs.h
> <https://github.com/bbcmicrobit/micropython/blob/a20fbe82c919cea9519ce5a1140103f518b51caa/inc/py/qstrdefs.h>
>
> <https://github.com/bbcmicrobit/micropython/blob/a20fbe82c919cea9519ce5a1140103f518b51caa/inc/py/qstrdefs.h
> <https://github.com/bbcmicrobit/micropython/blob/a20fbe82c919cea9519ce5a1140103f518b51caa/inc/py/qstrdefs.h>>
> >
> >
> > Thanks
> >
> > David
> >
> > microbit.org-ticket: 460
> >
> >
> >
> > _______________________________________________
> > Microbit mailing list
> > Microbit at python.org <mailto:Microbit at python.org>
> <mailto:Microbit at python.org <mailto:Microbit at python.org>>
> > https://mail.python.org/mailman/listinfo/microbit
> <https://mail.python.org/mailman/listinfo/microbit>
> <https://mail.python.org/mailman/listinfo/microbit
> <https://mail.python.org/mailman/listinfo/microbit>>
> >
> _______________________________________________
> Microbit mailing list
> Microbit at python.org <mailto:Microbit at python.org>
> <mailto:Microbit at python.org <mailto:Microbit at python.org>>
> https://mail.python.org/mailman/listinfo/microbit
> <https://mail.python.org/mailman/listinfo/microbit>
> <https://mail.python.org/mailman/listinfo/microbit
> <https://mail.python.org/mailman/listinfo/microbit>>
>
>
>
>
> _______________________________________________
> Microbit mailing list
> Microbit at python.org <mailto:Microbit at python.org>
> https://mail.python.org/mailman/listinfo/microbit
> <https://mail.python.org/mailman/listinfo/microbit>
>
> _______________________________________________
> Microbit mailing list
> Microbit at python.org <mailto:Microbit at python.org>
> https://mail.python.org/mailman/listinfo/microbit
> <https://mail.python.org/mailman/listinfo/microbit>
>
>
>
>
>
> _______________________________________________
> Microbit mailing list
> Microbit at python.org
> https://mail.python.org/mailman/listinfo/microbit
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/microbit/attachments/20170127/c41be1fd/attachment.sig>
More information about the Microbit
mailing list