Commit Graph

206 Commits

Author SHA1 Message Date
Damien George 2abbae3419 stm: Rename mma -> accel. 2014-02-16 21:41:57 +00:00
Damien George 754a8dd827 stm: Put REPL functions in own file; add raw REPL mode.
Raw REPL mode is activated by CTRL-A, and allows you to more easily
communicate with the pyboard over the serial channel.  In particular,
automated communication using, eg, pyserial on the PC side.
2014-02-16 21:36:03 +00:00
Paul Sokolovsky 44739e280e Make DEBUG_printf() a proper function, implementation is port-dependent.
In particular, unix outputs to stderr, to allow to run testsuite against
micropython built with debug output (by redirecting stderr to /dev/null).
2014-02-16 18:20:49 +02:00
Damien George 8bb11171da stm: Only define __packed if not already defined.
Addresses issue #299.
2014-02-16 11:24:44 +00:00
Damien George c5966128c7 Implement proper exception type hierarchy.
Each built-in exception is now a type, with base type BaseException.
C exceptions are created by passing a pointer to the exception type to
make an instance of.  When raising an exception from the VM, an
instance is created automatically if an exception type is raised (as
opposed to an exception instance).

Exception matching (RT_BINARY_OP_EXCEPTION_MATCH) is now proper.

Handling of parse error changed to match new exceptions.

mp_const_type renamed to mp_type_type for consistency.
2014-02-15 16:10:44 +00:00
Damien George a71c83a1d1 Change mp_obj_type_t.name from const char * to qstr.
Ultimately all static strings should be qstr.  This entry in the type
structure is only used for printing error messages (to tell the type of
the bad argument), and printing objects that don't supply a .print method.
2014-02-15 11:34:50 +00:00
Damien George 70d7a83c74 stm: If SD card inserted on hard reset, it is the medium for USB MSD. 2014-02-13 23:21:02 +00:00
Damien George 099a9cb575 Remove mp_obj_new_exception_msg_1_arg and _2_arg. 2014-02-12 23:02:19 +00:00
Damien George 780ba22bb8 stm: Copy COPT style from unix port. 2014-02-12 20:55:33 +00:00
Damien George 9d324b0ac7 stm: Add specific UINT_FMT and INT_FMT.
For some reason, STM port, while it's 32 bit, needs %lu and %ld for
printing machine_uint_t and machine_int_t.
2014-02-11 21:58:08 +00:00
Damien George 323f39a2b3 Merge pull request #278 from pfalcon/unix-gc
Enable GC for Unix port
2014-02-11 21:42:09 +00:00
Paul Sokolovsky 20632e4d3f stm: Provide malloc()/realloc()/free(), as forwarding to gc_*() functions.
Note: none of these functions are used by STM port, so they're provided
to have parity with pre gc refactor status quo, and in case they will be
needed in the future by some extension writers.
2014-02-11 18:09:50 +02:00
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