Commit Graph

217 Commits

Author SHA1 Message Date
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