<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/objexcept.c, branch v1.3.5</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.5</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.5'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2014-10-25T22:37:57+00:00</updated>
<entry>
<title>py: Add mp_pending_exception global variable, for VM soft interrupt.</title>
<updated>2014-10-25T22:37:57+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-25T17:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=124df6f8d07b53542b6960dbeea9b63bff469a67'/>
<id>urn:sha1:124df6f8d07b53542b6960dbeea9b63bff469a67</id>
<content type='text'>
This allows to implement KeyboardInterrupt on unix, and a much safer
ctrl-C in stmhal port.  First ctrl-C is a soft one, with hope that VM
will notice it; second ctrl-C is a hard one that kills anything (for
both unix and stmhal).

One needs to check for a pending exception in the VM only for jump
opcodes.  Others can't produce an infinite loop (infinite recursion is
caught by stack check).
</content>
</entry>
<entry>
<title>py: Remove unused and unneeded SystemError exception.</title>
<updated>2014-10-22T18:42:55+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-22T18:42:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e7a478204a984f9f79a99700375d961be6d28a96'/>
<id>urn:sha1:e7a478204a984f9f79a99700375d961be6d28a96</id>
<content type='text'>
It's purpose is for internal errors that are not catastrophic (ie not as
bad as RuntimeError).  Since we don't use it, we don't need it.
</content>
</entry>
<entry>
<title>py: Fix dummy definition of BEGIN/END_ATOMIC_SECTION.</title>
<updated>2014-10-15T17:33:24+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-15T17:33:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4859edb95b53313b140318ee8674ec617c8c7566'/>
<id>urn:sha1:4859edb95b53313b140318ee8674ec617c8c7566</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Remove IOError since it's deprecated; use OSError instead.</title>
<updated>2014-09-30T13:59:30+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-30T13:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8b03d944e2ae64f7987116ff342fbd1cc3b97b71'/>
<id>urn:sha1:8b03d944e2ae64f7987116ff342fbd1cc3b97b71</id>
<content type='text'>
In CPython IOError (and EnvironmentError) is deprecated and aliased to
OSError.  All modules that used to raise IOError now raise OSError (or a
derived exception).

In Micro Python we never used IOError (except 1 place, incorrectly) and
so don't need to keep it.

See http://legacy.python.org/dev/peps/pep-3151/ for background.
</content>
</entry>
<entry>
<title>py: Tidy up exception matching; allow matching of tuple of exceptions.</title>
<updated>2014-09-25T14:49:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-24T13:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4bcd04bcaddeeb53779f2c067a4d1b533c888f9d'/>
<id>urn:sha1:4bcd04bcaddeeb53779f2c067a4d1b533c888f9d</id>
<content type='text'>
Addresses issue #864.
</content>
</entry>
<entry>
<title>py: Change all uint to mp_uint_t in obj.h.</title>
<updated>2014-08-30T13:19:41+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-08-30T13:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d182b98a37bde34c06ae705624da03cf381eb4dc'/>
<id>urn:sha1:d182b98a37bde34c06ae705624da03cf381eb4dc</id>
<content type='text'>
Part of code cleanup, working towards resolving issue #50.
</content>
</entry>
<entry>
<title>py: Make tuple and list use mp_int_t/mp_uint_t.</title>
<updated>2014-08-30T13:04:14+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-08-30T13:04:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9c4cbe2ac0ae4c51270f21ba9c974dd24f6b9d55'/>
<id>urn:sha1:9c4cbe2ac0ae4c51270f21ba9c974dd24f6b9d55</id>
<content type='text'>
Part of code cleanup, to resolve issue #50.
</content>
</entry>
<entry>
<title>Change some parts of the core API to use mp_uint_t instead of uint/int.</title>
<updated>2014-08-29T23:35:11+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-08-29T23:35:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ecc88e949ca5e307d22da4605a40d39ea2df9e3b'/>
<id>urn:sha1:ecc88e949ca5e307d22da4605a40d39ea2df9e3b</id>
<content type='text'>
Addressing issue #50, still some way to go yet.
</content>
</entry>
<entry>
<title>stmhal: Make enable_irq and disable_irq inline functions.</title>
<updated>2014-08-25T12:24:33+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-08-25T12:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e5cbb70328239e58c820938eccd51f3c735fc312'/>
<id>urn:sha1:e5cbb70328239e58c820938eccd51f3c735fc312</id>
<content type='text'>
These functions are generally 1 machine instruction, and are used in
critical code, so makes sense to have them inline.

Also leave these functions uninverted (ie 0 means enable, 1 means
disable) and provide macro constants if you really need to distinguish
the states.  This makes for smaller code as well (combined with
inlining).

Applied to teensy port as well.
</content>
</entry>
<entry>
<title>Add save/restore_irq</title>
<updated>2014-08-25T11:22:11+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2014-08-24T19:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9480138f0c917b2400991066e94636f7d8076a4c'/>
<id>urn:sha1:9480138f0c917b2400991066e94636f7d8076a4c</id>
<content type='text'>
Factored irq functions into a separate file.
</content>
</entry>
</feed>
