Commit Graph

77 Commits

Author SHA1 Message Date
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
Paul Sokolovsky
5830fae26f Don't error out if build/ directory already exists. 2014-01-04 18:55:44 +02: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
2a5e6538b9 stm: Add comments for storage read from cache. 2014-01-04 12:34:36 +00:00
stevie67
2c62e262b2 Fix issue #62: Cache loses data
Use the storage cache not only for writing but also for reading. This
avoids reading stale data and thus data loss.
2014-01-04 03:02:32 +01:00
Paul Sokolovsky
1c6de11f77 Add basic implementation of slice object.
So far, only start and stop integer indexes are supported. Step is
not supported, as well as objects of arbitrary types.
2014-01-04 02:35:48 +02:00
Paul Sokolovsky
b372bfca21 Rename default config file to mpconfig.h, and port's to mpconfigport.h.
mpconfig.h will automatically pull mpconfigport.h.
2014-01-03 19:03:11 +02:00
Damien George
c2e21bb7d9 Merge pull request #45 from iabdalkader/master
Change dfu.py to be Python 2/3 compatible
2014-01-03 07:02:17 -08: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
66028ab6dc Basic implementation of import.
import works for simple cases.  Still work to do on finding the right
script, and setting globals/locals correctly when running an imported
function.
2014-01-03 14:03:48 +00:00
mux
1a1ba4d555 Change dfu.py to be Python 2/3 compatible
* Chane dfu.py to use Python 3 syntax to avoid dependency on Python 2.
* Update Makefile to call python instead of python2
* Fix #33
2014-01-03 08:51:02 +02:00
Damien George
aae7847508 Change old use of module creation to new proper use. 2014-01-03 00:10:22 +00:00
Damien George
2870862601 Add module object, to be used eventually for import. 2014-01-02 21:30:26 +00:00
Paul Sokolovsky
e1151e463d Use rm -rf to remove build dir, so it doesn't error out if dir doesn't exist. 2013-12-30 21:02:10 +02:00
Damien George
8cc96a35e5 Put unicode functions in unicode.c, and tidy their names. 2013-12-30 18:23:50 +00:00
Damien George
212c296c0b Make unix-cpy cross platform; remove dependency of asmx64 on mpconfig. 2013-12-30 12:52:32 +00:00
Damien
732407f1bf Change memory allocation API to require size for free and realloc. 2013-12-29 19:33:23 +00:00
Damien
7f7636e41c Add CODECONVENTIONS, and modify i2c module to conform. 2013-12-29 12:12:25 +00:00
Hagen Kaye
07590c2739 changes to Makefile and main.c to add i2c.c 2013-12-28 20:22:12 -05:00
Hagen Kaye
6474598c65 Added i2c python interface object 2013-12-28 19:23:33 -05:00
Damien
5bbc3cdc0e stm: Tidy up some wlan code. 2013-12-21 18:53:45 +00:00
Damien
6f95432407 stm: fix some compiler warnings in CC3000 code. 2013-12-21 18:47:01 +00: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
e2880aa2fd Fix a few compiler warnings. 2013-12-20 14:22:59 +00:00
Damien
f0d0940638 Add tools/dfu.py, and use it in stm/Makefile. 2013-12-20 12:07:50 +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
ec643130d0 stm: add timer to storage cache so it can be flushed. 2013-12-11 00:38:40 +00:00
Damien
261dbf8ce5 stm: add __WFI to sys_tick delay. 2013-12-06 00:42:13 +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
11809ee5d4 stm: disable audio function in systick. 2013-11-30 15:02:49 +00:00
Damien
81cc0e8f00 stm: add function to LCD module to show text. 2013-11-30 15:02:29 +00:00
Damien
d3e59feb6b stm: reorder things in Makefile. 2013-11-30 15:02:11 +00:00
Damien
39c6c59868 STM: add LCD functions for pixel access; add RNG Py bindings. 2013-11-09 20:15:48 +00:00
Damien
5c13dbf6ee STM: add RNG support. 2013-11-09 20:15:17 +00:00
Damien
6d42ab6625 Small improvements to timer module. 2013-11-09 11:29:49 +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
e8674399f1 Add vprintf, vsnprintf to STM code. 2013-11-03 18:30:30 +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
4c51cbdc0b Add proper FPU compile flags; disable Python float support. 2013-11-01 23:25:37 +00:00
Damien
e8217c2a9b Remove debugging print for SD card; add comment to possibly-buggy USB code. 2013-11-01 23:25:08 +00:00
Damien
c1764e997c Add syscfg and SPI libraries from STM. 2013-11-01 22:27:51 +00:00
Damien
4a14eb0b8d PC13 (SDIO detect) can handle at most 2MHz speed config. 2013-10-30 22:27:38 +00:00
Damien
5892f4710e Working SD card, but no functionality yet (was hardware error). 2013-10-26 18:02:46 +01:00