<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/windows, branch v1.8.2</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.2</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.2'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-06-25T20:49:45+00:00</updated>
<entry>
<title>windows/msvc: Include machine_pinbase.c in build and enable umachine module</title>
<updated>2016-06-25T20:49:45+00:00</updated>
<author>
<name>stijn</name>
<email>stijn@ignitron.net</email>
</author>
<published>2016-06-23T07:55:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4b9046328dd9cc5905bc7c971eaa03248f0f0396'/>
<id>urn:sha1:4b9046328dd9cc5905bc7c971eaa03248f0f0396</id>
<content type='text'>
Fixes linker errors since [ad229477] and adds the umachine module so tests pass.
</content>
</entry>
<entry>
<title>windows: Follow unix port changes regarding "utime" module.</title>
<updated>2016-06-17T21:17:18+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-06-17T21:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=10e5e103937741c1bc42fc978b9fdfb8603f72e7'/>
<id>urn:sha1:10e5e103937741c1bc42fc978b9fdfb8603f72e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Rename __QSTR_EXTRACT flag to NO_QSTR.</title>
<updated>2016-06-15T22:42:48+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-06-15T22:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f469c764428230363a2b22fedf303d86eea82853'/>
<id>urn:sha1:f469c764428230363a2b22fedf303d86eea82853</id>
<content type='text'>
It has more usages than just qstr extraction, for example, embedding (where
people don't care about efficient predefined qstrs).
</content>
</entry>
<entry>
<title>windows: Enable multi-processor compilation for msvc</title>
<updated>2016-05-08T10:07:57+00:00</updated>
<author>
<name>stijn</name>
<email>stijn@ignitron.net</email>
</author>
<published>2016-04-27T14:00:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=87106d025bcbb7508e9be68efa57e800778365ab'/>
<id>urn:sha1:87106d025bcbb7508e9be68efa57e800778365ab</id>
<content type='text'>
This will launch about as many compiler instances as there are logical
processors on a machine, and as such significantly speeds up compilation.
</content>
</entry>
<entry>
<title>windows/msvc: Rewrite qstr auto-generation.</title>
<updated>2016-04-25T21:34:24+00:00</updated>
<author>
<name>stijn</name>
<email>stinos@zoho.com</email>
</author>
<published>2016-04-23T16:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=29c8c8aecb3409e57a43256f8fe5cb25de1e9856'/>
<id>urn:sha1:29c8c8aecb3409e57a43256f8fe5cb25de1e9856</id>
<content type='text'>
Builds have been broken since reworking autogeneration in c618f91 and
related, this gets fixed here by applying similar qstr generation logic
for the msvc builds: c files are only preprocessed when changed (or not
yet preprocessed) and the concatenated output is fed into makeqstrdefs.py.
To speed up this process, the concatenated output is already filtered to
contain only lines which makeqstrdefs really needs: this makes the qstr
generation stage about twice as fast (checked on different machines).
</content>
</entry>
<entry>
<title>windows/msvc: Implement automatic qstr generation using makeqstrdefs.</title>
<updated>2016-04-16T12:19:15+00:00</updated>
<author>
<name>stijn</name>
<email>stijn@ignitron.net</email>
</author>
<published>2016-03-15T09:22:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9a627e8881c1b5d8fad9f1a563b5af23716e1b55'/>
<id>urn:sha1:9a627e8881c1b5d8fad9f1a563b5af23716e1b55</id>
<content type='text'>
Note this still needs some work: currently all source files are always
preprocessed no matter which one actually changed, moreover that happens
file by file without any parallellism so builds are painstakingly slow.
</content>
</entry>
<entry>
<title>py: Add rules for automated extraction of qstrs from sources.</title>
<updated>2016-04-16T12:18:09+00:00</updated>
<author>
<name>Jan Čapek</name>
<email>jan.capek@braiins.cz</email>
</author>
<published>2016-03-10T09:22:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d76c65f599b77aa275eda3d2248cde16f6be7e10'/>
<id>urn:sha1:d76c65f599b77aa275eda3d2248cde16f6be7e10</id>
<content type='text'>
- add template rule that converts a specified source file into a qstring file

- add special rule for generating a central header that contains all
  extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED
  variable. Each platform appends a list of sources that may contain
  qstrings into a new build variable: SRC_QSTR. Any autogenerated
  prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable.

- remove most qstrings from py/qstrdefs, keep only qstrings that
  contain special characters - these cannot be easily detected in the
  sources without additional annotations

- remove most manual qstrdefs, use qstrdef autogen for: py, cc3200,
  stmhal, teensy, unix, windows, pic16bit:

   - remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,&lt;,&gt; etc.)
   - remove all port specific qstrdefs except for special strings
   - append sources for qstr generation in platform makefiles (SRC_QSTR)
</content>
</entry>
<entry>
<title>py: Declare help, input, open builtins in core.</title>
<updated>2016-04-14T21:07:56+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-04-14T21:07:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9b0714b24cb140ea630ea6176ae68b2ec6945c6b'/>
<id>urn:sha1:9b0714b24cb140ea630ea6176ae68b2ec6945c6b</id>
<content type='text'>
These are *defined* per-port, but why redeclare them again and again.
</content>
</entry>
<entry>
<title>py: Add ability to have frozen persistent bytecode from .mpy files.</title>
<updated>2016-04-13T15:07:47+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-31T22:24:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0a2e9650f5383bc1190d6b27a3d923e313c3d879'/>
<id>urn:sha1:0a2e9650f5383bc1190d6b27a3d923e313c3d879</id>
<content type='text'>
The config variable MICROPY_MODULE_FROZEN is now made of two separate
parts: MICROPY_MODULE_FROZEN_STR and MICROPY_MODULE_FROZEN_MPY.  This
allows to have none, either or both of frozen strings and frozen mpy
files (aka frozen bytecode).
</content>
</entry>
<entry>
<title>py/runtime: mp_stack_ctrl_init() should be called immediately on startup.</title>
<updated>2016-01-29T00:13:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-28T23:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d3b1f0b627ccc6705d9fe958549badb87a74ded1'/>
<id>urn:sha1:d3b1f0b627ccc6705d9fe958549badb87a74ded1</id>
<content type='text'>
Calling it from mp_init() is too late for some ports (like Unix), and leads
to incomplete stack frame being captured, with following GC issues. So, now
each port should call mp_stack_ctrl_init() on its own, ASAP after startup,
and taking special precautions so it really was called before stack variables
get allocated (because if such variable with a pointer is missed, it may lead
to over-collecting (typical symptom is segfaulting)).
</content>
</entry>
</feed>
