<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/esp8266/main.c, branch v1.4.6</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.6</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.6'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-05-26T19:22:08+00:00</updated>
<entry>
<title>esp8266: Move initialization to system_init_done_cb</title>
<updated>2015-05-26T19:22:08+00:00</updated>
<author>
<name>Josef Gajdusek</name>
<email>atx@atx.name</email>
</author>
<published>2015-05-17T09:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=967f3230f554cb6d0682eaf1f74878f5f1534f42'/>
<id>urn:sha1:967f3230f554cb6d0682eaf1f74878f5f1534f42</id>
<content type='text'>
Initializing too early caused some of the API functions (wifi_*) to fail
when called in main.py
</content>
</entry>
<entry>
<title>esp8266: Add support for frozen modules</title>
<updated>2015-05-06T21:04:20+00:00</updated>
<author>
<name>Josef Gajdusek</name>
<email>atx@atx.name</email>
</author>
<published>2015-05-05T22:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bda7041294e0446c9909fe18c4826dd0bcfb9fc4'/>
<id>urn:sha1:bda7041294e0446c9909fe18c4826dd0bcfb9fc4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>esp8266: Fix garbage collector by hard-coding stack end address.</title>
<updated>2015-05-06T13:01:07+00:00</updated>
<author>
<name>Josef Gajdusek</name>
<email>atx@atx.name</email>
</author>
<published>2015-05-06T12:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=28076f3d4b3bf58aa86d6346af88665f7e5c6031'/>
<id>urn:sha1:28076f3d4b3bf58aa86d6346af88665f7e5c6031</id>
<content type='text'>
As user_init() is not a true main functions, the stack pointer captured within
is not pointing at the base of the stack. This caused gc_collect being called
with sp being higher than stack_end, causing integer overflow and crashing as
gc tried to scan almost the entire address space.
</content>
</entry>
<entry>
<title>pyexec: Make raw REPL work with event-driven version of pyexec.</title>
<updated>2015-05-05T23:02:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-05-05T23:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c98c128fe885e539ecd73843756340f8950115c8'/>
<id>urn:sha1:c98c128fe885e539ecd73843756340f8950115c8</id>
<content type='text'>
esp8266 port now has working raw and friendly REPL, as well as working
soft reset (CTRL-D at REPL, or raise SystemExit).

tools/pyboard.py now works with esp8266 port.
</content>
</entry>
<entry>
<title>py: Protect mp_parse and mp_compile with nlr push/pop block.</title>
<updated>2015-02-07T18:33:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-07T18:33:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0bfc7638baa4c5a4a2351364ab770a188dcab302'/>
<id>urn:sha1:0bfc7638baa4c5a4a2351364ab770a188dcab302</id>
<content type='text'>
To enable parsing constants more efficiently, mp_parse should be allowed
to raise an exception, and mp_compile can already raise a MemoryError.
So these functions need to be protected by an nlr push/pop block.

This patch adds that feature in all places.  This allows to simplify how
mp_parse and mp_compile are called: they now raise an exception if they
have an error and so explicit checking is not needed anymore.
</content>
</entry>
<entry>
<title>esp8266: Implement task-based, event-driven interface with UART.</title>
<updated>2015-01-16T17:20:17+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-01-15T23:54:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f12ea7c7ed1ef97ee48c4356dbbc808cc2bdee4a'/>
<id>urn:sha1:f12ea7c7ed1ef97ee48c4356dbbc808cc2bdee4a</id>
<content type='text'>
This enables proper interfacing with underlying OS - MicroPython doesn't
run the main loop, OS does, MicroPython just gets called when some event
takes place.
</content>
</entry>
<entry>
<title>esp8266: Use dedicated heap allocated as static array.</title>
<updated>2015-01-14T22:36:03+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-01-14T22:21:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c6b8750c143b21e797ace233a92e476f8ce798e0'/>
<id>urn:sha1:c6b8750c143b21e797ace233a92e476f8ce798e0</id>
<content type='text'>
We cannot assume that all memory belongs to us - it actually belongs to
ESP8266 OS.
</content>
</entry>
<entry>
<title>py: Put all global state together in state structures.</title>
<updated>2015-01-07T20:33:00+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T23:30:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b4b10fd350852e321624d74983cca286091b55a1'/>
<id>urn:sha1:b4b10fd350852e321624d74983cca286091b55a1</id>
<content type='text'>
This patch consolidates all global variables in py/ core into one place,
in a global structure.  Root pointers are all located together to make
GC tracing easier and more efficient.
</content>
</entry>
<entry>
<title>esp8266: Prefix includes with py/; remove need for -I../py.</title>
<updated>2015-01-01T21:16:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T21:16:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fe7d542352738e14c6d03bcc55b1e89b4e7c5c96'/>
<id>urn:sha1:fe7d542352738e14c6d03bcc55b1e89b4e7c5c96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>esp8266: Change bignum from mpz to longlong; move some rodata to iram.</title>
<updated>2014-11-28T14:58:25+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-11-28T14:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fbea8100432abbdfde3d866d5bea1d8b4f87d217'/>
<id>urn:sha1:fbea8100432abbdfde3d866d5bea1d8b4f87d217</id>
<content type='text'>
Some rodata items can go in iram/irom segment, but not others.  With
this patch ESP now has 24256 bytes of heap ram.  It passes 228 out of
248 tests from tests/basics directory.
</content>
</entry>
</feed>
