Commit Graph

236 Commits

Author SHA1 Message Date
Damien George
0c36da0b59 Implement ROMable modules. Add math module.
mp_module_obj_t can now be put in ROM.

Configuration of float type is now similar to longint: can now choose
none, float or double as the implementation.

math module has basic math functions.  For STM port, these are not yet
implemented (they are just stub functions).
2014-03-08 15:24:39 +00:00
Damien George
360b25ab0f stm: Add udelay (delay in microseconds). 2014-03-08 15:17:10 +00:00
Damien George
cd000645f8 stm: Improve DAC (audio) bindings. 2014-03-08 15:14:53 +00:00
mux
6882dbd9f8 Implement machine_sqrt using VSQRT 2014-03-02 00:33:39 +02:00
Dave Hylands
1fcbb966bd Remove param from python API of ext_register
Minor cleanup.
2014-02-26 20:24:51 -08:00
Damien George
98fb8935bc stm: Reinstate code to handle CC3000 EXTI (commented out for now). 2014-02-26 17:04:12 +00:00
Damien George
f8a4fbbb79 stm: Open header file in text mode (in make-pins). 2014-02-26 16:30:33 +00:00
Damien George
43122c320b Merge pull request #325 from dhylands/led
Update LED configuration
2014-02-26 16:07:18 +00:00
Damien George
4273498cb8 Merge pull request #324 from dhylands/board-check
Print an error if an invalid BOARD is specified
2014-02-26 16:03:59 +00:00
Damien George
c4361227ba Merge pull request #318 from dhylands/exti
Add EXTI support
2014-02-26 16:01:54 +00:00
Dave Hylands
34f66023d4 Update LED configuration 2014-02-26 00:05:34 -08:00
Dave Hylands
c3813ff50d Print an error if a non-valid BOARD is specified. 2014-02-26 00:04:01 -08:00
Dave Hylands
49b5533000 Fix floating point printing of negative numbers in the range (0, -1.0) 2014-02-25 15:24:25 -08:00
Damien George
2ee55c312d stm: Add option to pyb_usb_dev_init() to use USB HID interface.
With this option selected, only HID on its own works, not VCP+HID.
2014-02-24 01:12:04 +00:00
Dave Hylands
ee31f71d39 Add EXTI support
Revamp usrsw to use new exti code.
Add user switch callback function.
2014-02-23 11:26:22 -08:00
Damien George
790eed6f93 stm: Make pendsv_nlr_jump work when debugging is enabled.
Stack layout is different when -g used, so need to handle the pendsv
jump differently.  Addresses Issue #315.
2014-02-23 00:31:11 +00:00
Damien George
ee462489f1 stm: Add USART enum for pyboard skin labels. 2014-02-23 00:30:48 +00:00
Damien George
ed73fcd7d2 Merge pull request #316 from iabdalkader/fatfs_lfn
Add Configurable LFN support to FatFS
2014-02-22 22:36:24 +00:00
mux
1e2cf746d4 Add Configurable LFN support to FatFS 2014-02-22 22:09:00 +02:00
Damien George
438c88dd2f Add arbitrary precision integer support.
Some functionality is still missing (eg and, or, bit shift), and some
things are buggy (eg subtract).
2014-02-22 19:25:23 +00:00
Damien George
2e87c62cf6 stm: Update PYBOARD4 pin mapping. 2014-02-19 23:38:42 +00:00
Damien George
948a58d56e Merge pull request #310 from dhylands/pin_map
Add pin mapping code.
2014-02-19 23:19:18 +00:00
Damien George
302646625b stm: Add RTC start-up info, and uPy bindings. 2014-02-19 23:15:09 +00:00
Dave Hylands
51dabac096 Add pin mapping code.
This commit also introduces board directories and moves board
specific config into the appropriate board directory.

boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet
and hand-tweaked.

make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c,
and boards/BOARD-NAME/pins.csv as input and generates the file
build/pins_BOARD_NAME.c

The generated pin file for PYBOARD4 looks like this:
https://gist.github.com/dhylands/9063231

The generated pins file includes all of the supported alternate
functions, and includes upsupported alternate functions as comments.

See the commnet block at the top of stm/pin_map.c for details on
how to use the pin mapper.

I also went ahead and modified stm/gpio.c to use the pin mapper.
2014-02-17 21:20:38 -08:00
Damien George
46239413d0 stm: Implement mp_import_stat.
To follow up pull request #309.
2014-02-17 22:44:20 +00:00
Damien George
517e1706bd Merge pull request #309 from pfalcon/stm-sys-path
stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].
2014-02-17 22:21:25 +00:00
Paul Sokolovsky
4aee119f94 stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].
This is compatible with what search path was before sys.path refactor,
with addition of module library path ("0:/lib").
2014-02-18 00:06:37 +02:00
mux
d0ffda91cc Fix usart_obj_tx_char 2014-02-17 21:49:07 +02:00
Dave Hylands
90928f1194 Fix build for netduino and stm32f4disc 2014-02-16 23:14:49 -08:00
Damien George
402dc31aa7 stm: Factor out GPIO code to its own file. Add functions to set GPIO mode.
GPIO functions are crude, and need to be replaced with better ones!
2014-02-16 23:44:23 +00:00
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