<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openmano-mpy/docs, branch master</title>
<subtitle>MicroPython source and hardware configuration for OpenMano</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/'/>
<entry>
<title>py/objexcept: Support errno attribute on OSError exceptions.</title>
<updated>2021-04-23T12:03:46+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-04-20T07:11:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=3c4bfd1dec28ffbefc6379dedeaa24feaa2ef373'/>
<id>3c4bfd1dec28ffbefc6379dedeaa24feaa2ef373</id>
<content type='text'>
This commit adds the errno attribute to exceptions, so code can retrieve
errno codes from an OSError using exc.errno.

The implementation here simply lets `errno` (and the existing `value`)
attributes work on any exception instance (they both alias args[0]).  This
is for efficiency and to keep code size down.  The pros and cons of this
are:

Pros:
- more compatible with CPython, less difference to document and learn
- OSError().errno will correctly return None, whereas the current way of
  doing it via OSError().args[0] will raise an IndexError
- it reduces code size on most bare-metal ports (because they already have
  the errno qstr)
- for Python code that uses exc.errno the generated bytecode is 2 bytes
  smaller and more efficient to execute (compared with exc.args[0]); so
  bytecode loaded to RAM saves 2 bytes RAM for each use of this attribute,
  and bytecode that is frozen saves 2 bytes flash/ROM for each use
- it's easier/shorter to type, and saves 2 bytes of space in .py files that
  use it (for each use)

Cons:
- increases code size by 4-8 bytes on minimal ports that don't already have
  the `errno` qstr
- all exceptions now have .errno and .value attributes (a cpydiff test is
  added to address this)

See also #2407.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds the errno attribute to exceptions, so code can retrieve
errno codes from an OSError using exc.errno.

The implementation here simply lets `errno` (and the existing `value`)
attributes work on any exception instance (they both alias args[0]).  This
is for efficiency and to keep code size down.  The pros and cons of this
are:

Pros:
- more compatible with CPython, less difference to document and learn
- OSError().errno will correctly return None, whereas the current way of
  doing it via OSError().args[0] will raise an IndexError
- it reduces code size on most bare-metal ports (because they already have
  the errno qstr)
- for Python code that uses exc.errno the generated bytecode is 2 bytes
  smaller and more efficient to execute (compared with exc.args[0]); so
  bytecode loaded to RAM saves 2 bytes RAM for each use of this attribute,
  and bytecode that is frozen saves 2 bytes flash/ROM for each use
- it's easier/shorter to type, and saves 2 bytes of space in .py files that
  use it (for each use)

Cons:
- increases code size by 4-8 bytes on minimal ports that don't already have
  the `errno` qstr
- all exceptions now have .errno and .value attributes (a cpydiff test is
  added to address this)

See also #2407.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>all: Bump version to 1.15.</title>
<updated>2021-04-18T14:11:51+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-04-18T14:11:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=321d1897c34f16243edf2c94913d7cf877a013d1'/>
<id>321d1897c34f16243edf2c94913d7cf877a013d1</id>
<content type='text'>
Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs/develop: Improve user C modules to properly describe how to build.</title>
<updated>2021-04-02T06:07:20+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-04-02T06:07:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=f541b3673d272fbe9081a96776072a83ac5add9d'/>
<id>f541b3673d272fbe9081a96776072a83ac5add9d</id>
<content type='text'>
Make and CMake builds are slightly different and these changes help make it
clear what to do in each case.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make and CMake builds are slightly different and these changes help make it
clear what to do in each case.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>examples/usercmodules: Simplify user C module enabling.</title>
<updated>2021-04-01T05:27:38+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-03-30T13:45:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=d87f42b0e53829052f17955ba1e17f938ae486fb'/>
<id>d87f42b0e53829052f17955ba1e17f938ae486fb</id>
<content type='text'>
It's a bit of a pitfall with user C modules that including them in the
build does not automatically enable them.  This commit changes the docs and
examples for user C modules to encourage writers of user C modules to
enable them unconditionally.  This makes things simpler and covers most use
cases.

See discussion in issue #6960, and also #7086.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's a bit of a pitfall with user C modules that including them in the
build does not automatically enable them.  This commit changes the docs and
examples for user C modules to encourage writers of user C modules to
enable them unconditionally.  This makes things simpler and covers most use
cases.

See discussion in issue #6960, and also #7086.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs/develop/cmodules.rst: Document C-modules and micropython.cmake.</title>
<updated>2021-03-30T13:28:21+00:00</updated>
<author>
<name>Phil Howard</name>
</author>
<published>2021-02-24T12:57:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=8e5756e2b6d03805bf9f40cd1128c0cd6214e07c'/>
<id>8e5756e2b6d03805bf9f40cd1128c0cd6214e07c</id>
<content type='text'>
Documents the micropython.cmake file required to make user C modules
compatible with the CMake build system.

Signed-off-by: Phil Howard &lt;phil@pimoroni.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Documents the micropython.cmake file required to make user C modules
compatible with the CMake build system.

Signed-off-by: Phil Howard &lt;phil@pimoroni.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>all: Add .git-blame-ignore-revs for fixing up git blame output.</title>
<updated>2021-03-15T10:07:29+00:00</updated>
<author>
<name>stijn</name>
</author>
<published>2021-03-15T09:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=914380cb89d7cf5e9c186055753ff12bbcf6296a'/>
<id>914380cb89d7cf5e9c186055753ff12bbcf6296a</id>
<content type='text'>
Add most formatting-only commits to this file so that when used with
git blame, these commits are excluded and the output shows only the
interesting bits.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add most formatting-only commits to this file so that when used with
git blame, these commits are excluded and the output shows only the
interesting bits.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Rename run-tests to run-tests.py for consistency.</title>
<updated>2021-03-12T08:56:09+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-03-11T05:09:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=6129b8e401c36cc68e0f7ba8180da27a40d17621'/>
<id>6129b8e401c36cc68e0f7ba8180da27a40d17621</id>
<content type='text'>
Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>esp32/machine_hw_spi: Use default pins when making SPI if none given.</title>
<updated>2021-03-11T23:56:25+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-03-11T02:32:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=b24fcd7aec4b34064e9d9016d417d4ca3cc925cc'/>
<id>b24fcd7aec4b34064e9d9016d417d4ca3cc925cc</id>
<content type='text'>
The default pins can be optionally configured by a board.

Fixes issue #6974.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The default pins can be optionally configured by a board.

Fixes issue #6974.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>esp32: Add basic support for Non-Volatile-Storage in esp32 module.</title>
<updated>2021-02-19T04:05:19+00:00</updated>
<author>
<name>Thorsten von Eicken</name>
</author>
<published>2021-01-18T09:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=c10d431819f9f7095c3573c98f01c98526a2cb0b'/>
<id>c10d431819f9f7095c3573c98f01c98526a2cb0b</id>
<content type='text'>
This commit implements basic NVS support for the esp32.  It follows the
pattern of the esp32.Partition class and exposes an NVS object per NVS
namespace.  The initial support provided is only for signed 32-bit integers
and binary blobs.  It's easy (albeit a bit tedious) to add support for
more types.

See discussions in: #4436, #4707, #6780
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit implements basic NVS support for the esp32.  It follows the
pattern of the esp32.Partition class and exposes an NVS object per NVS
namespace.  The initial support provided is only for signed 32-bit integers
and binary blobs.  It's easy (albeit a bit tedious) to add support for
more types.

See discussions in: #4436, #4707, #6780
</pre>
</div>
</content>
</entry>
<entry>
<title>extmod/modussl: Fix ussl read/recv/send/write errors when non-blocking.</title>
<updated>2021-02-17T00:50:54+00:00</updated>
<author>
<name>Thorsten von Eicken</name>
</author>
<published>2020-04-02T17:01:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=2c1299b0071c2c528cc01e3cde9eb22743820176'/>
<id>2c1299b0071c2c528cc01e3cde9eb22743820176</id>
<content type='text'>
Also fix related problems with socket on esp32, improve docs for
wrap_socket, and add more tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also fix related problems with socket on esp32, improve docs for
wrap_socket, and add more tests.
</pre>
</div>
</content>
</entry>
</feed>
