Damien George
75abee206d
stm: USB host mode working! Restructure stm library directories.
2014-01-26 17:41:01 +00:00
Damien George
51f3a6becd
stm: Improved ADC module; add BOARD_NAME config value.
2014-01-25 16:30:47 +00:00
Damien George
b829b5caec
Implement mp_parse_node_free; print properly repr(string).
2014-01-25 13:51:19 +00:00
Damien George
449dd0a69e
stm: Put gc_collect code in separate file; define _ram_start in .ld.
...
To partly address Issue #220 .
2014-01-25 00:44:31 +00:00
Damien George
58b8a6202a
Merge pull request #219 from dhylands/add-deps
...
Rework makefiles. Add proper dependency checking.
2014-01-24 15:03:39 -08:00
Damien George
0004a84ec0
Revert "Move gc_collect to py/gc.c"
...
This reverts commit a215b09c0d
.
2014-01-24 22:54:09 +00:00
mux
a215b09c0d
Move gc_collect to py/gc.c
...
* Move gc_collect from main to py/gc.c
* Define GC's memory boundaries in linker script
* Issue #220
2014-01-24 21:33:19 +02:00
Dave Hylands
c89c681a9f
Rework makefiles. Add proper dependency checking.
2014-01-24 08:46:48 -08:00
mux
40048adabc
Move file obj to separate module
2014-01-24 17:14:13 +02:00
Damien George
3257d3543b
stm: Remove unnecessary #includes; small other changes.
2014-01-23 22:16:15 +00:00
mux
45ad9b405d
Move LED defs to mpconfigport.h
2014-01-23 22:35:48 +02:00
Damien George
b080c7946b
Merge branch 'master' of github.com:iabdalkader/micropython into iabdalkader-master
...
Conflicts:
stm/main.c
2014-01-23 18:40:57 +00:00
Damien George
cfedd81c07
Merge branch 'master' of github.com:micropython/micropython
2014-01-23 18:11:05 +00:00
Damien George
26a00085fe
stm: LCD support for PYBv4; fix MMA reading code.
2014-01-23 18:10:42 +00:00
mux
1d1e4e1bd5
Fix USB CORE PCGCCTL Wrong Address
...
* Fix PCGCCTL bug using address instead of value.
* Fix issue #211
2014-01-23 18:27:29 +02:00
mux
638179fb9c
Move RTC to Separate Module
...
* Move RTC code from main to a separate module.
2014-01-23 13:49:06 +02:00
mux
c4808dae0a
Add More Feature Test Macros
...
* Add MICROPY_HW_HAS_LCD
* Add MICROPY_HW_HAS_WLAN
* Use feature test macros in main
2014-01-23 13:41:35 +02:00
Paul Sokolovsky
bc5b3f8c73
stm: Add memcmp() implementation.
2014-01-23 02:47:10 +02:00
Damien George
8bcc52e834
Merge branch 'master' of github.com:micropython/micropython
2014-01-22 22:56:17 +00:00
Damien George
b5d13c309f
stm: Fix USART3 init. Small edits to Makefile and other things.
2014-01-22 22:55:07 +00:00
mux
3c7e71fb00
Fix Feature Macro Prefix
2014-01-22 20:34:02 +02:00
mux
630d8ff89f
Remove Underscore from Macro Names
2014-01-22 18:11:48 +02:00
mux
28b23f09a4
Add Generic Feature Macros to mpconfigport
...
* Add some generic feature macros to mpconfigport
* Move pin and port definitions from usrsw.c to mpconfigport
2014-01-22 17:42:06 +02:00
Damien George
5fa93b6755
Second stage of qstr revamp: uPy str object can be qstr or not.
2014-01-22 14:35:10 +00:00
Damien George
8ae1c1beac
Merge branch 'fix-stm-discovery' of github.com:dhylands/micropython into dhylands-fix-stm-discovery
...
Conflicts:
stm/main.c
2014-01-22 11:56:24 +00:00
Dave Hylands
72a31162e9
Fix support for STM32F4DISCOVERY
2014-01-21 18:08:39 -08:00
Damien George
2c30256382
stm: Clean up main.c; disable libgcc by default.
...
f2d and d2f functions from libgcc does not work correctly, most likely
due to the ABI being incorrect. libgcc disabled for now.
2014-01-21 23:28:03 +00:00
Damien George
d51cfd155c
stm: Put HSE_VALUE and other defines in mpconfigport.h.
...
mpconfigport.h is now included by stm32f4xx.h so that all STM files have
access to these defines.
2014-01-21 22:32:51 +00:00
Damien George
eb380d7261
stm: Put TARGET in mpconfigport.h; support PYBv4.
2014-01-21 22:20:50 +00:00
Damien George
8517bce6b1
Merge pull request #202 from iabdalkader/master
...
Remove hardcoded PLL_M value
2014-01-21 14:05:49 -08:00
Damien George
55baff4c9b
Revamp qstrs: they now include length and hash.
...
Can now have null bytes in strings. Can define ROM qstrs per port using
qstrdefsport.h
2014-01-21 21:40:13 +00:00
mux
4578ced209
Add OSC_VALUE to Makefile
...
* Add the option to pass OSC frequency on command line.
2014-01-21 15:57:01 +02:00
mux
e9c01dea32
Remove hardcoded PLL_M value
2014-01-21 14:43:13 +02:00
Damien George
b2ebb161d4
stm: Upgrade ST peripheral library from 1.1.0 to 1.3.0.
2014-01-19 17:40:35 +00:00
Damien George
1277753812
stm: Upgrade to latest CMSIS libraries.
...
CMSIS V3.01 -> V3.20. Now in stm/cmsis to keep separate from ST
libraries.
2014-01-19 16:43:33 +00:00
Damien George
a11ceca807
Change int to uint for n_args in function with variable arguments.
2014-01-19 16:02:09 +00:00
Damien George
136b149e41
py: Add full traceback to exception printing.
2014-01-19 12:38:49 +00:00
Damien George
08335004cf
Add source file name and line number to error messages.
...
Byte code has a map from byte-code offset to source-code line number,
used to give better error messages.
2014-01-18 23:24:36 +00:00
Damien George
8161a10de1
stm: Add stm import support.
2014-01-16 22:09:13 +00:00
Damien George
613eb25545
stm: Fix print methods with new kind argument.
2014-01-15 23:02:53 +00:00
Damien George
4899ff9470
Merge branch 'str-repr' of github.com:pfalcon/micropython into pfalcon-str-repr
...
Conflicts:
tests/basics/tests/exception1.py
2014-01-15 22:39:03 +00:00
Damien George
9528cd66d7
Convert parse errors to exceptions.
...
Parser no longer prints an error, but instead returns an exception ID
and message.
2014-01-15 21:23:31 +00:00
Paul Sokolovsky
76d982ef34
type->print(): Distinguish str() and repr() variety by passing extra param.
2014-01-15 02:15:38 +02:00
Damien George
0367ad6214
stm: Include libgcc for __aeabi_d2f and __aeabi_f2d functions.
...
Thanks to Dave Hylands for this.
2014-01-14 23:48:11 +00:00
Damien George
a04a33fee7
Merge pull request #175 from iabdalkader/master
...
Add missing ADC driver
2014-01-14 15:41:05 -08:00
mux
8c10240722
Add ADC support for internal TEMP/VBAT/VREF
...
* Add ADC support for reading internal temperature sensor.
* Add ADC support for reading internal VREF/VBAT monitor.
2014-01-14 22:32:53 +02:00
mux
3591285091
Implement initial ADC support
...
* Add simple ADC driver, with support for ADC1 and all channels.
* Export MicroPython ADC object with read_channel function.
* Add stm32f4xx_adc.c and adc.c to Makefile.
2014-01-14 19:57:51 +02:00
mux
b4e374f138
Add missing ADC driver
...
* Add missing ADC driver from STM32F4xx_StdPeriph_Lib_V1.3.0
2014-01-14 19:51:15 +02:00
Paul Sokolovsky
5d2499c638
Add "buffer management" and "shrink" API calls to vstr.
...
vstr is initially intended to deal with arbitrary-length strings. By
providing a bit lower-level API calls, it will be also useful to deal
with arbitrary-length I/O buffers (the difference from strings is that
buffers are filled from "outside", via I/O).
Another issue, especially aggravated by I/O buffer use, is alloc size
vs actual size length. If allocated 1Mb for buffer, but actually
read 1 byte, we don't want to keep rest of 1Mb be locked by this I/O
result, but rather return it to heap ASAP ("shrink" buffer before passing
it to qstr_from_str_take()).
2014-01-13 23:31:06 +02:00
Damien George
f62d33aa1d
Consolidate rt_make_function_[0123] to rt_make_function_n.
2014-01-13 19:50:05 +00:00
Damien George
f88a72a88e
Merge pull request #168 from dhylands/add-strstr
...
Added public domain implementations of strchr and strstr.
2014-01-13 11:43:57 -08:00
Damien George
2300537c79
Cleanup built-ins, and fix some compiler warnings/errors.
2014-01-13 19:39:01 +00:00
Dave Hylands
c8effff937
Added public domain implementations of strchr and strstr.
2014-01-12 22:34:58 -08:00
Damien George
ed3a32b117
Merge pull request #157 from dhylands/printf-float
...
Added a hacky implementation for %g
2014-01-12 16:26:20 -08:00
Damien George
328708eb25
stm: Re-instate C debugging USART port (disabled by default).
...
See pyb_usart_global_debug variable.
Also did some work on USB OTG, but nothing working yet.
2014-01-13 00:20:06 +00:00
Dave Hylands
b5f458278c
Added a hacky implementation for %g
2014-01-12 10:45:17 -08:00
Dave Hylands
d80ee8bbfd
Added memzip filesystem support for teensy
...
You can now append a zipfile (containining uncomressed python sources)
to the micropython.hex file.
Use MEMZIP_DIR=directory when you call make, or set that in your
environment to include a different tree of source files.
Added sample /boot.py, /src/main.py, /test.py and /src/test.py files.
Added run command so that you can execute scripts from REPL (until import is implemented).
Added build directory to .gitignore
2014-01-11 16:16:20 -08:00
Damien George
cf11c961b4
stm: Disable usart calls from C.
...
Fixes Issue #132 .
2014-01-11 10:01:22 +00:00
mux
e98cc2b691
Fix usart_obj_tx_str
...
* Fix usart_obj_tx_str to send the actual string.
* Fix issue #126
2014-01-10 11:19:34 +02:00
Damien George
2d45429122
Use memcpy instead of strncpy; add usart.status to stm.
2014-01-09 22:04:45 +00:00
Damien George
0d4cab13dd
Merge pull request #127 from iabdalkader/master
...
Add USART Micro Python Bindings
2014-01-09 14:00:56 -08:00
Damien George
004cdcebfe
py: Implement base class lookup, issubclass, isinstance.
2014-01-09 21:43:51 +00:00
Damien George
062478e66d
Improved type/class/instance code; mp_obj_type_t now has load_attr, store_attr.
...
Creating of classes (types) and instances is much more like CPython now.
You can use "type('name', (), {...})" to create classes.
2014-01-09 20:57:50 +00:00
mux
e78e2dd305
Fix Makefile typo
2014-01-09 13:45:29 +02:00
mux
74269f86b9
Add DEBUG flag to Makefile
...
* Add a DEBUG flag to Makefile, enables: "-O0 -ggdb"
2014-01-09 13:42:18 +02:00
mux
c70ac7bf71
Add USART Micro Python Bindings
...
* Add Micro Python bindings to usart.c
* Export USART python object to namespace pyb
2014-01-09 13:36:13 +02:00
Dave Hylands
4646801181
Make build output quieter.
...
Use make V=1e make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
This should fix issue #117
2014-01-08 10:30:06 -08:00
Damien George
84a2c6fbda
Merge pull request #118 from dhylands/stm-use-OBJCOPY-SIZE-macros
...
Update stm/Makeile to use OBJCOPY and SIZE macros
2014-01-08 09:40:01 -08:00
Damien George
38a2da68c2
py: Stuff qstr in object pointer; keys for mp_map_t are now always mp_obj_t.
2014-01-08 17:33:12 +00:00
Dave Hylands
c1db58799d
Update stm/Makeile to use OBJCOPY and SIZE macros
...
While updating the teensy Makfile, I noticed that the stm Makefile
was using calling arm-none-eabi-objcopy and size rather than
$(OBJCOPY) and $(SIZE), so I added these 2 for consistency.
2014-01-08 09:07:29 -08:00
Damien George
ea9e441a75
Merge pull request #112 from iabdalkader/master
...
Use LSI OSC for RTC clock when LSE is not detected
2014-01-08 07:34:38 -08:00
Damien George
9193f89296
Move lexerstr to main py directory (everyone uses it).
2014-01-08 15:28:26 +00:00
mux
5df3d47ee0
Use LSI OSC for RTC clock when LSE is not detected
...
* Fix rtc_init to use LSI for RTC clock source when LSE is not detected.
2014-01-08 11:26:18 +02:00
Dave Hylands
9b7b947b01
Updated teensy to use common code from stm directory.
...
Updated mconfigport.h to enable GC
2014-01-08 00:29:44 -08:00
Damien George
97209d38e1
Merge branch 'cplusplus' of https://github.com/ian-v/micropython into ian-v-cplusplus
...
Conflicts:
py/objcomplex.c
2014-01-07 15:58:30 +00:00
Damien George
d3ebe4829d
Factor and simplify Makefile's and mpconfig, part 2.
2014-01-07 15:20:33 +00:00
Damien George
136f67523b
Factor and simplify Makefile's and mpconfig.
2014-01-07 14:54:15 +00:00
Damien George
ff07bb3adb
stm: Re-fix LED defines.
2014-01-06 22:17:37 +00:00
Damien George
439ff90959
Merge branch 'master' of https://github.com/iabdalkader/micropython
2014-01-06 22:16:04 +00:00
ian-v
5fd8fd2c16
Revert MP_BOOL, etc. and use <stdbool.h> instead
2014-01-06 13:51:53 -08:00
ian-v
7a16fadbf8
Co-exist with C++ (issue #85 )
2014-01-06 09:52:29 -08:00
mux
7c0c28dd71
Fix LED pin enum
...
* Fix LED pin enum, first one should start at 1
* Fix LED initialization typo
2014-01-06 06:41:56 +02:00
Damien George
73595feb75
Merge pull request #89 from pfalcon/c99-tagged-structs
...
Convert many object types structs to use C99 tagged initializer syntax.
2014-01-05 15:54:51 -08:00
Damien George
6b0b4a0cad
stm: pull-up usr switch on pyboard (fixes regression).
2014-01-05 23:49:34 +00:00
Paul Sokolovsky
860ffb0a43
Convert many object types structs to use C99 tagged initializer syntax.
2014-01-05 22:34:09 +02:00
mux
50d5420deb
Add Initial Support for STM32F4DISCOVERY Board
...
* Add a TARGET definition to Makefile (default PYBOARD).
* Add support for discovery LEDs in led module.
* Add support for discovery user switch in usersw
* Add EXTI interrupt handler for discovery user switch on (PA0).
* Parameterize led and usrsw modules pins and port.
* Issue #83
2014-01-05 19:38:41 +02:00
Damien George
12e2656472
stm: allow more flash for the binary.
2014-01-05 14:34:17 +00: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
Damien George
cd3c1ee3fc
Merge pull request #82 from iabdalkader/master
...
Move user switch code into a separate module
2014-01-05 06:05:13 -08: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
1dd657fa87
Add fatfs readme/license.
2014-01-05 11:57:17 +00: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
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
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