<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/mpconfig.h, branch 0.9.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=0.9.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=0.9.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2017-01-12T20:46:44+00:00</updated>
<entry>
<title>Add persistent VFS shares so that the devices can be used with USB</title>
<updated>2017-01-12T20:46:44+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2017-01-12T20:33:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9ece7c907dc8bfc7487fc33242e8b52f15879dc7'/>
<id>urn:sha1:9ece7c907dc8bfc7487fc33242e8b52f15879dc7</id>
<content type='text'>
that is present across soft-reset.
</content>
</entry>
<entry>
<title>py/lexer: Permanently disable the mp_lexer_show_token function.</title>
<updated>2016-12-21T23:49:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-12-21T23:49:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c305ae32436e37327d33df979d57d9ac1fb822c1'/>
<id>urn:sha1:c305ae32436e37327d33df979d57d9ac1fb822c1</id>
<content type='text'>
The lexer is very mature and this debug function is no longer used.  If
it's really needed one can uncomment it and recompile.
</content>
</entry>
<entry>
<title>extmod/modutimeq: Refactor into optimized class.</title>
<updated>2016-12-21T21:29:32+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-12-21T21:29:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d02f6a9956760425188f517f3708c76123e53d2a'/>
<id>urn:sha1:d02f6a9956760425188f517f3708c76123e53d2a</id>
<content type='text'>
    import utimeq, utime
    # Max queue size, the queue allocated statically on creation
    q = utimeq.utimeq(10)
    q.push(utime.ticks_ms(), data1, data2)
    res = [0, 0, 0]
    # Items in res are filled up with results
    q.pop(res)
</content>
</entry>
<entry>
<title>py: Add MICROPY_KBD_EXCEPTION config option to provide mp_kbd_exception.</title>
<updated>2016-12-15T02:00:19+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-12-15T02:00:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f1da0a03b1559080ca4d054bd38f104bde168e6'/>
<id>urn:sha1:7f1da0a03b1559080ca4d054bd38f104bde168e6</id>
<content type='text'>
Defining and initialising mp_kbd_exception is boiler-plate code and so the
core runtime can provide it, instead of each port needing to do it
themselves.

The exception object is placed in the VM state rather than on the heap.
</content>
</entry>
<entry>
<title>py/mpconfig.h: Enable MICROPY_PY_SYS_EXIT by default.</title>
<updated>2016-12-14T18:22:05+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-12-14T18:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=403c93053e6a9897ad397ef325e451c4cc671ce1'/>
<id>urn:sha1:403c93053e6a9897ad397ef325e451c4cc671ce1</id>
<content type='text'>
sys.exit() is an important function to terminate a program. In particular,
the testsuite relies on it to skip tests (i.e. any other functionality may
be disabled, but sys.exit() is required to at least report that properly).
</content>
</entry>
<entry>
<title>py: Add inline Xtensa assembler.</title>
<updated>2016-12-09T06:07:38+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-12-09T06:03:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f76b1bfa9f59fcfa03837c6934ad51d2db3ff4a3'/>
<id>urn:sha1:f76b1bfa9f59fcfa03837c6934ad51d2db3ff4a3</id>
<content type='text'>
This patch adds the MICROPY_EMIT_INLINE_XTENSA option, which, when
enabled, allows the @micropython.asm_xtensa decorator to be used.

The following opcodes are currently supported (ax is a register, a0-a15):

    ret_n()
    callx0(ax)
    j(label)
    jx(ax)

    beqz(ax, label)
    bnez(ax, label)
    mov(ax, ay)
    movi(ax, imm) # imm can be full 32-bit, uses l32r if needed

    and_(ax, ay, az)
    or_(ax, ay, az)
    xor(ax, ay, az)
    add(ax, ay, az)
    sub(ax, ay, az)
    mull(ax, ay, az)

    l8ui(ax, ay, imm)
    l16ui(ax, ay, imm)
    l32i(ax, ay, imm)
    s8i(ax, ay, imm)
    s16i(ax, ay, imm)
    s32i(ax, ay, imm)
    l16si(ax, ay, imm)
    addi(ax, ay, imm)

    ball(ax, ay, label)
    bany(ax, ay, label)
    bbc(ax, ay, label)
    bbs(ax, ay, label)
    beq(ax, ay, label)
    bge(ax, ay, label)
    bgeu(ax, ay, label)
    blt(ax, ay, label)
    bnall(ax, ay, label)
    bne(ax, ay, label)
    bnone(ax, ay, label)

Upon entry to the assembly function the registers a0, a12, a13, a14 are
pushed to the stack and the stack pointer (a1) decreased by 16.  Upon
exit, these registers and the stack pointer are restored, and ret.n is
executed to return to the caller (caller address is in a0).

Note that the ABI for the Xtensa emitters is non-windowing.
</content>
</entry>
<entry>
<title>py: Allow inline-assembler emitter to be generic.</title>
<updated>2016-12-09T06:06:21+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-12-09T02:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ad297a1950c74c35c90dd655ae9a69d33ed28dc0'/>
<id>urn:sha1:ad297a1950c74c35c90dd655ae9a69d33ed28dc0</id>
<content type='text'>
This patch refactors some code so that it is easier to integrate new
inline assemblers for different architectures other than ARM Thumb.
</content>
</entry>
<entry>
<title>py: Integrate Xtensa assembler into native emitter.</title>
<updated>2016-12-09T05:51:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-12-09T05:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8e5aced1fd4845b23b203d8d15f9b34b6b022ceb'/>
<id>urn:sha1:8e5aced1fd4845b23b203d8d15f9b34b6b022ceb</id>
<content type='text'>
The config option MICROPY_EMIT_XTENSA can now be enabled to target the
Xtensa architecture with @micropython.native and @micropython.viper
decorators.
</content>
</entry>
<entry>
<title>stmhal/moduselect: Move to extmod/ for reuse by other ports.</title>
<updated>2016-11-20T21:05:56+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-11-20T20:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8f5bc3ffc0603bbc338f9a24bd7d278b72d5c9d7'/>
<id>urn:sha1:8f5bc3ffc0603bbc338f9a24bd7d278b72d5c9d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Factor out persistent-code reader into separate files.</title>
<updated>2016-11-16T07:13:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-11-16T05:04:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6b239c271c9c7041f9741c2a0f348f350808ad8a'/>
<id>urn:sha1:6b239c271c9c7041f9741c2a0f348f350808ad8a</id>
<content type='text'>
Implementations of persistent-code reader are provided for POSIX systems
and systems using FatFS.  Macros to use these are MICROPY_READER_POSIX and
MICROPY_READER_FATFS respectively.  If an alternative implementation is
needed then a port can define the function mp_reader_new_file.
</content>
</entry>
</feed>
