<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openmano-mpy/ports/esp8266/Makefile, 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>esp8266: Remove release-specific manifest, disable osdebug by default.</title>
<updated>2020-09-18T06:01:42+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-09-11T06:47:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=b28758054b586fe41f56e462856d89f28c5e3f6a'/>
<id>b28758054b586fe41f56e462856d89f28c5e3f6a</id>
<content type='text'>
This commit removes release-specific builds for the esp8266 and makes the
normal build of the GENERIC board more like the release build.  This makes
esp8266 like all the other ports, for which there is no difference between
a daily build and a release build, making things less confusing.

Release builds were previously defined by UART_OS=-1 (disable OS messages)
and using manifest_release.py to include more frozen modules.

The changes in this commit are:
- Remove manifest_release.py.
- Add existing modules from manifest_release.py (except example code)
  to the GENERIC board's manifest.py file.
- Change UART_OS default to -1 to disable OS messages by default.

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 removes release-specific builds for the esp8266 and makes the
normal build of the GENERIC board more like the release build.  This makes
esp8266 like all the other ports, for which there is no difference between
a daily build and a release build, making things less confusing.

Release builds were previously defined by UART_OS=-1 (disable OS messages)
and using manifest_release.py to include more frozen modules.

The changes in this commit are:
- Remove manifest_release.py.
- Add existing modules from manifest_release.py (except example code)
  to the GENERIC board's manifest.py file.
- Change UART_OS default to -1 to disable OS messages by default.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>esp8266: Clean up Pin intr handler by moving all code to machine_pin.c.</title>
<updated>2020-05-08T13:40:22+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-05-02T04:38:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=e12de1fd9d6016e75eec6ebde2b4a50093a8bc78'/>
<id>e12de1fd9d6016e75eec6ebde2b4a50093a8bc78</id>
<content type='text'>
The macro MP_FASTCODE is used to explicitly place required functions in
iRAM, instead of needing a separate .c file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The macro MP_FASTCODE is used to explicitly place required functions in
iRAM, instead of needing a separate .c file.
</pre>
</div>
</content>
</entry>
<entry>
<title>py/stream: Remove mp_stream_errno and use system errno instead.</title>
<updated>2020-04-27T13:58:46+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-04-20T13:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=e08ca78f40bb1948acffa60c0315083acfb02227'/>
<id>e08ca78f40bb1948acffa60c0315083acfb02227</id>
<content type='text'>
This change is made for two reasons:

1. A 3rd-party library (eg berkeley-db-1.xx, axtls) may use the system
   provided errno for certain errors, and yet MicroPython stream objects
   that it calls will be using the internal mp_stream_errno.  So if the
   library returns an error it is not known whether the corresponding errno
   code is stored in the system errno or mp_stream_errno.  Using the system
   errno in all cases (eg in the mp_stream_posix_XXX wrappers) fixes this
   ambiguity.

2. For systems that have threading the system-provided errno should always
   be used because the errno value is thread-local.

For systems that do not have an errno, the new lib/embed/__errno.c file is
provided.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change is made for two reasons:

1. A 3rd-party library (eg berkeley-db-1.xx, axtls) may use the system
   provided errno for certain errors, and yet MicroPython stream objects
   that it calls will be using the internal mp_stream_errno.  So if the
   library returns an error it is not known whether the corresponding errno
   code is stored in the system errno or mp_stream_errno.  Using the system
   errno in all cases (eg in the mp_stream_posix_XXX wrappers) fixes this
   ambiguity.

2. For systems that have threading the system-provided errno should always
   be used because the errno value is thread-local.

For systems that do not have an errno, the new lib/embed/__errno.c file is
provided.
</pre>
</div>
</content>
</entry>
<entry>
<title>ports: Enable error text compression for various ports, but not all.</title>
<updated>2020-04-05T05:02:06+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2020-03-04T10:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=073b9a5eb888b26be7ce4c65e9649b6c3857ba39'/>
<id>073b9a5eb888b26be7ce4c65e9649b6c3857ba39</id>
<content type='text'>
Enabled on: bare-arm, minimal, unix coverage/dev/minimal, stm32, esp32,
esp8266, cc3200, teensy, qemu-arm, nrf.  Not enabled on others to be able
to test the code when the feature is disabled (the default case).

Code size change for this commit:

   bare-arm:  -600 -0.906%
minimal x86:  -308 -0.208%
   unix x64:    +0 +0.000%
unix nanbox:    +0 +0.000%
      stm32: -3368 -0.869% PYBV10
     cc3200: -1024 -0.558%
    esp8266: -2512 -0.368% GENERIC
      esp32: -2876 -0.205% GENERIC[incl -3168(data)]
        nrf: -1708 -1.173% pca10040
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enabled on: bare-arm, minimal, unix coverage/dev/minimal, stm32, esp32,
esp8266, cc3200, teensy, qemu-arm, nrf.  Not enabled on others to be able
to test the code when the feature is disabled (the default case).

Code size change for this commit:

   bare-arm:  -600 -0.906%
minimal x86:  -308 -0.208%
   unix x64:    +0 +0.000%
unix nanbox:    +0 +0.000%
      stm32: -3368 -0.869% PYBV10
     cc3200: -1024 -0.558%
    esp8266: -2512 -0.368% GENERIC
      esp32: -2876 -0.205% GENERIC[incl -3168(data)]
        nrf: -1708 -1.173% pca10040
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
</pre>
</div>
</content>
</entry>
<entry>
<title>esp8266: Change from FAT to littlefs v2 as default filesystem.</title>
<updated>2020-04-04T05:30:36+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-03-26T11:35:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=e0905e85a7ad2961aa9192f6130565860e531ad3'/>
<id>e0905e85a7ad2961aa9192f6130565860e531ad3</id>
<content type='text'>
This commit changes the esp8266 boards to use littlefs v2 as the
filesystem, rather than FAT.  Since the esp8266 doesn't expose the
filesystem to the PC over USB there's no strong reason to keep it as FAT.
Littlefs is smaller in code size, is more efficient in use of flash to
store data, is resilient over power failure, and using it saves about 4k of
heap RAM, which can now be used for other things.

This is a backwards incompatible change because all existing esp8266 boards
will need to update their filesystem after installing new firmware (eg
backup old files, install firmware, restore files to new filesystem).

As part of this commit the memory layout of the default board (GENERIC) has
changed.  It now allocates all 1M of memory-mapped flash to the firmware,
so the filesystem area starts at the 2M point.  This is done to allow more
frozen bytecode to be stored in the 1M of memory-mapped flash.  This
requires an esp8266 module with 2M or more of flash to work, so a new board
called GENERIC_1M is added which has the old memory-mapping (but still
changed to use littlefs for the filesystem).

In summary there are now 3 esp8266 board definitions:
- GENERIC_512K: for 512k modules, doesn't have a filesystem.
- GENERIC_1M: for 1M modules, 572k for firmware+frozen code, 396k for
  filesystem (littlefs).
- GENERIC: for 2M (or greater) modules, 968k for firmware+frozen code,
  1M+ for filesystem (littlefs), FAT driver also included in firmware for
  use on, eg, external SD cards.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit changes the esp8266 boards to use littlefs v2 as the
filesystem, rather than FAT.  Since the esp8266 doesn't expose the
filesystem to the PC over USB there's no strong reason to keep it as FAT.
Littlefs is smaller in code size, is more efficient in use of flash to
store data, is resilient over power failure, and using it saves about 4k of
heap RAM, which can now be used for other things.

This is a backwards incompatible change because all existing esp8266 boards
will need to update their filesystem after installing new firmware (eg
backup old files, install firmware, restore files to new filesystem).

As part of this commit the memory layout of the default board (GENERIC) has
changed.  It now allocates all 1M of memory-mapped flash to the firmware,
so the filesystem area starts at the 2M point.  This is done to allow more
frozen bytecode to be stored in the 1M of memory-mapped flash.  This
requires an esp8266 module with 2M or more of flash to work, so a new board
called GENERIC_1M is added which has the old memory-mapping (but still
changed to use littlefs for the filesystem).

In summary there are now 3 esp8266 board definitions:
- GENERIC_512K: for 512k modules, doesn't have a filesystem.
- GENERIC_1M: for 1M modules, 572k for firmware+frozen code, 396k for
  filesystem (littlefs).
- GENERIC: for 2M (or greater) modules, 968k for firmware+frozen code,
  1M+ for filesystem (littlefs), FAT driver also included in firmware for
  use on, eg, external SD cards.
</pre>
</div>
</content>
</entry>
<entry>
<title>ports: Add lib/libm/roundf.c to bare-metal Makefile's.</title>
<updated>2020-03-24T14:22:00+00:00</updated>
<author>
<name>Zoltán Vörös</name>
</author>
<published>2020-03-24T07:11:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=c5cc64175be32cb1e4f3f1a249667bc9f5a12613'/>
<id>c5cc64175be32cb1e4f3f1a249667bc9f5a12613</id>
<content type='text'>
This function is not used by the core but having it as part of the build
allows it to be used by user C modules, or board extensions.  The linker
won't include it in the final firmware if it remains unused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function is not used by the core but having it as part of the build
allows it to be used by user C modules, or board extensions.  The linker
won't include it in the final firmware if it remains unused.
</pre>
</div>
</content>
</entry>
<entry>
<title>ports: Allow overriding CROSS_COMPILE in a custom makefile.</title>
<updated>2019-12-27T12:53:16+00:00</updated>
<author>
<name>David Lechner</name>
</author>
<published>2019-12-21T20:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=e79424d672919bfc59862d14f2d9e78e43e8582e'/>
<id>e79424d672919bfc59862d14f2d9e78e43e8582e</id>
<content type='text'>
Many ports already allow overriding CROSS_COMPILE.  This modifies the
remaining ports to allow it as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many ports already allow overriding CROSS_COMPILE.  This modifies the
remaining ports to allow it as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>extmod: Consolidate FAT FS config to MICROPY_VFS_FAT across all ports.</title>
<updated>2019-11-11T00:37:38+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2019-11-07T07:27:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=799b6d1e0c5bfb2392b7978f549ab2c7d2e0cc29'/>
<id>799b6d1e0c5bfb2392b7978f549ab2c7d2e0cc29</id>
<content type='text'>
This commit removes the Makefile-level MICROPY_FATFS config and moves the
MICROPY_VFS_FAT config to the Makefile level to replace it.  It also moves
the include of the oofatfs source files in the build from each port to a
central place in extmod/extmod.mk.

For a port to enabled VFS FAT support it should now set MICROPY_VFS_FAT=1
at the level of the Makefile.  This will include the relevant oofatfs files
in the build and set MICROPY_VFS_FAT=1 at the C (preprocessor) level.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit removes the Makefile-level MICROPY_FATFS config and moves the
MICROPY_VFS_FAT config to the Makefile level to replace it.  It also moves
the include of the oofatfs source files in the build from each port to a
central place in extmod/extmod.mk.

For a port to enabled VFS FAT support it should now set MICROPY_VFS_FAT=1
at the level of the Makefile.  This will include the relevant oofatfs files
in the build and set MICROPY_VFS_FAT=1 at the C (preprocessor) level.
</pre>
</div>
</content>
</entry>
<entry>
<title>esp8266: Allow building without a manifest.</title>
<updated>2019-10-21T12:21:14+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2019-10-18T13:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=df7f632fd7003824500ec6c05f4395f667667d54'/>
<id>df7f632fd7003824500ec6c05f4395f667667d54</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>esp8266: Convert to use FROZEN_MANIFEST to specify frozen code.</title>
<updated>2019-10-15T10:36:02+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2019-10-10T12:01:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=2fd3f2520d88a80c12ac6c31f1e2fb1534f1aa42'/>
<id>2fd3f2520d88a80c12ac6c31f1e2fb1534f1aa42</id>
<content type='text'>
Removes symlinks in modules directory, all frozen code is now specified by
manifest.py.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removes symlinks in modules directory, all frozen code is now specified by
manifest.py.
</pre>
</div>
</content>
</entry>
</feed>
