Commit Graph

95 Commits

Author SHA1 Message Date
Paul Sokolovsky 860ffb0a43 Convert many object types structs to use C99 tagged initializer syntax. 2014-01-05 22:34:09 +02:00
Damien George 823877bce0 stm: rename sw_xx to switch_xx; change Python bindings to new version. 2014-01-05 14:04:55 +00:00
mux de7fcc0c06 Move user switch code into a separate module
* Move user switch code from main.c into a separate module (usrsw)
* Add usrsw.c to Makefile
2014-01-05 14:56:46 +02:00
Damien George 71c5181a8d Convert Python types to proper Python type hierarchy.
Now much more inline with how CPython does types.
2014-01-04 20:21:15 +00:00
Damien George eb7bfcb286 Split qstr into pools, and put initial pool in ROM.
Qstr's are now split into a linked-list of qstr pools.  This has 2
benefits: the first pool can be in ROM (huge benefit, since we no longer
use RAM for the core qstrs), and subsequent pools use m_new for the next
pool instead of m_renew (thus avoiding a huge single table for all the
qstrs).

Still would be better to use a hash table, but this scheme takes us part
of the way (eventually convert the pools to hash tables).

Also fixed bug with import.

Also improved the way the module code is referenced (not magic number 1
anymore).
2014-01-04 15:57:35 +00:00
Damien George 1fb031744f Change mp_compile so that it returns a function object for the module. 2014-01-03 14:22:03 +00:00
Damien George 2870862601 Add module object, to be used eventually for import. 2014-01-02 21:30:26 +00:00
Damien 732407f1bf Change memory allocation API to require size for free and realloc. 2013-12-29 19:33:23 +00:00
Hagen Kaye 07590c2739 changes to Makefile and main.c to add i2c.c 2013-12-28 20:22:12 -05:00
Damien d99b05282d Change object representation from 1 big union to individual structs.
A big change.  Micro Python objects are allocated as individual structs
with the first element being a pointer to the type information (which
is itself an object).  This scheme follows CPython.  Much more flexible,
not necessarily slower, uses same heap memory, and can allocate objects
statically.

Also change name prefix, from py_ to mp_ (mp for Micro Python).
2013-12-21 18:17:45 +00:00
Damien b73085d288 stm: add pyb.sd_test; flash cache flushed only via MSD. 2013-12-20 11:45:06 +00:00
Damien 8c3da5c2c5 stm: flush storage cache immediately; improve user interface. 2013-12-17 18:36:19 +00:00
Damien 5285155ef7 stm: add basic Servo class, and stop and standby functions. 2013-12-11 00:40:15 +00:00
Damien d6b4c66565 stm: add Led object; add option to reset filesystem. 2013-12-06 00:41:33 +00:00
Damien 065f8a5e0e stm: initial commit of working CC3000 driver, based on Adafruit. 2013-12-05 20:38:23 +00:00
Damien 8fe8413b56 stm: servos on PA0-3; MMA filtering; timer for Python REPL. 2013-11-30 15:06:24 +00:00
Damien 39c6c59868 STM: add LCD functions for pixel access; add RNG Py bindings. 2013-11-09 20:15:48 +00:00
Damien bd8e110207 Add to STM code timer functionality to call Python on interrupt. 2013-11-06 23:04:33 +00:00
Damien 1c62d04e2e Add DAC, and simple audio driver to STM code. 2013-11-04 23:05:48 +00:00
Damien 0c70f88734 Add simple PWM control command to STM code. 2013-11-03 18:30:57 +00:00
Damien 0e496733fe Add simple file support to board. 2013-11-03 14:53:34 +00:00
Damien fecee2b0ae Floats work with MP on board; function for LCD pixel manipulation. 2013-11-02 16:41:51 +00:00
Damien 5892f4710e Working SD card, but no functionality yet (was hardware error). 2013-10-26 18:02:46 +01:00
Damien 8f7491a109 Add USART support, connected to stdio for REPL. 2013-10-26 18:01:48 +01:00
Damien 9281cd66c9 Add simple readline history. 2013-10-26 02:29:02 +01:00
Damien 8128941e6c Add support for RTC, used as a calendar. 2013-10-26 02:06:37 +01:00
Damien 58a1b4c6cf Add USB HID support. Runs as an alternative to VCP+MSC. 2013-10-25 20:53:54 +01:00
Damien 7ee80bac8e Add support for SD card (not working). 2013-10-24 00:22:27 +01:00
Damien 6f08f8ce51 Add working MMA support. 2013-10-23 22:17:26 +01:00
Damien 0f6545139b Implement simple servo control using PWM. 2013-10-23 20:39:20 +01:00
Damien 94186c8239 Implement boot-up commands; run main script after boot. 2013-10-23 00:02:06 +01:00
Damien e9f1e50be4 Board running boot.py, working REPL, soft reboot. 2013-10-22 23:09:25 +01:00
Damien 0c5827fc65 stm: improved GC, and cooked output for VCP. 2013-10-22 21:13:36 +01:00
Damien 3f69aca2e2 Make stm use garbage collector. 2013-10-21 23:46:04 +01:00
Damien f48cf67108 Implement crude but working REPL for board. 2013-10-21 10:42:06 +01:00
Damien 4b6e85ca26 Try to get REPL working, but bug with CDC VCP... 2013-10-21 09:56:56 +01:00
Damien fa2162bc77 Integrate new lexer stream with stm framework. 2013-10-20 17:42:00 +01:00
Damien afe12bca23 Fix IRQ priority issue to give working USB; and some cleanup. 2013-10-19 18:13:48 +01:00
Damien fb42ec17bc Try to re-add USB support... 2013-10-19 15:37:09 +01:00
Damien 00ff04fc49 Working SysTick, code factoring, some boot-up code. 2013-10-19 14:40:54 +01:00
Damien 995b8aabb1 Partially implement proper flash storage. 2013-10-18 23:44:05 +01:00
Damien 4a175e1f11 Fix up linker script; improve startup code; printf to USB. 2013-10-17 22:50:21 +01:00
Damien 152568bcb6 NLR and Python exceptions work on the board. 2013-10-16 00:46:39 +01:00
Damien fee89d520f Implement crude but functional CDC + MSC USB device. 2013-10-13 19:02:15 +01:00
Damien ed65605edc Inital commit of stm32f4xx framework. 2013-10-13 00:42:20 +01:00