Paul Sokolovsky
b62c30b4bc
Generalize malloc-via-gc-heap support, make it available to unix port.
2014-02-11 16:20:02 +02:00
Paul Sokolovsky
287d9620fc
Enable link map file generation.
2014-02-11 14:42:20 +02:00
Damien George
181d190643
stm: Remove unused, useless and not-to-be-used strndup.
...
Addresses issue #275 .
2014-02-10 22:55:15 +00:00
Damien George
f1081f400b
Merge branch 'master' of github.com:micropython/micropython
2014-02-10 22:51:35 +00:00
Damien George
ed378cd12f
stm: Tidy up memory labels; optimise GC root scanning.
...
Addresses issues #272 and #273 .
2014-02-10 22:50:44 +00:00
Paul Sokolovsky
58ff93bc7c
Get rid of calloc().
...
If there's malloc and memset, then there's no need for calloc, especially if
we need to implement it ourselves.
2014-02-10 18:40:00 +02:00
Damien George
698ec21e46
Make mp_obj_str_get_data return char* instead of byte*.
...
Can't decide which is better for string type, char or byte pointer.
Changing to char removes a few casts. Really need to do proper unicode.
2014-02-08 18:17:23 +00:00
Damien George
23177088d2
stm: Mount SD card on 1:/ if present.
...
If SD card is present on (soft) reset then it's mounted on 1:/ and files
can be openned using, eg, open('1:/test.txt', 'r'), or 'w' for writing.
2014-02-08 16:00:15 +00:00
Damien George
354d15a964
Implement fixed buffer vstrs; use them for import path.
2014-02-06 21:11:19 +00:00
Damien George
e09ffa1400
Search paths properly on import and execute __init__.py if it exists.
2014-02-05 23:57:48 +00:00
Paul Sokolovsky
9110896063
Remove older import helpers, no longer used.
2014-02-05 02:03:23 +02:00
Dave Hylands
1570a96cad
Initial support for Netduino
...
This also fixes up the IRQ for the PYBOARD4 USERSW
although I was unable to test that functionality.
2014-02-03 23:26:05 -08:00
Damien George
d71cd86dc1
Merge branch 'iabdalkader-master'
...
Conflicts:
stm/usb.c
stm/usb.h
2014-02-01 16:17:06 +00:00
Damien George
01156d510c
stm: Add support for ctrl-C to interrupt running Python.
...
Using PendSV interrupt at lowest priority, code can now raise an
exception during an interrupt by calling pendsv_nlr_jump. The exception
will be raised when all interrupts are finished. This is used to trap
ctrl-C from the USB VCP to break out of running Python code.
2014-02-01 16:04:34 +00:00
mux
565fdccfd2
Add usb_vcp_connected prototype to usb.h
2014-02-01 15:49:16 +02:00
mux
b2269b610e
Detect VCP line state.
...
* Detect VCP line state, based on SET_CONTROL_LINE_STATE request
2014-02-01 13:28:29 +02:00
Damien George
39631bc312
Fix Makefiles: -O3 option was not being applied; mkdir for STM.
2014-01-30 22:16:51 +00:00
Damien George
2d15c1216d
stm: Add optional memory debugging output.
2014-01-29 20:33:20 +00:00
Damien George
01fa4a9164
stm: Fix gccollect ram range.
2014-01-29 19:21:17 +00:00
mux
bfb01e9da6
Fix unused function warning in main
...
* Add SD card test to fix warning
2014-01-29 15:07:04 +02:00
mux
8592d85b36
Remove redundant include in file.c
...
* Remove include mpconfigport.h from file.c
2014-01-29 15:05:53 +02:00
mux
76a6335b6e
Move HEAP_END and RAM_END to linker script
...
* Issue #232
2014-01-29 12:52:03 +02:00
Damien George
217814cc63
stm: Increase timeout for RTC LSE startup; use backup regs.
2014-01-28 23:47:28 +00:00
Damien George
42647e64db
stm: Remove unneccesary include of mpconfigport (already in mpconfig).
2014-01-27 23:52:47 +00:00
mux
8d3b0a9f74
Add LCD check to stdout_print_strn
2014-01-27 18:53:16 +02:00
mux
bd61a6cee8
Add missing LCD driver definitions for STM32F4DISC
...
* Add missing LCD definitions for STM32F4DISC target, current code
breaks build.
2014-01-27 10:56:47 +02:00
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