Commit Graph

125 Commits

Author SHA1 Message Date
Damien George cb861a5c6a stm[hal]: Init mp_sys_path and mp_sys_argv correctly. 2014-04-13 13:19:09 +01:00
Damien George 26cf55ae05 Add a check for NULL nlr_top in nlr_jump.
If no nlr_buf has been pushed, and an nlr_jump is called, then control
is transferred to nlr_jump_fail (which should bail out with a fatal
error).
2014-04-08 14:08:14 +00:00
Damien George d17926db71 Rename rt_* to mp_*.
Mostly just a global search and replace.  Except rt_is_true which
becomes mp_obj_is_true.

Still would like to tidy up some of the names, but this will do for now.
2014-03-30 13:35:08 +01:00
Damien George caac542b23 Proper support for registering builtin modules in ROM.
Comes with some refactoring of code and renaming of files.  All modules
are now named mod*.[ch].
2014-03-25 14:18:18 +00:00
mux 89d45248ee Add mp_obj_module_register
* Add function to load static modules.
* Use module_register to pyb module.
2014-03-25 00:25:27 +02:00
Damien George c3d35c6ac7 stm: Put pyb module in ROM. 2014-03-08 16:40:08 +00:00
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
Damien George c4361227ba Merge pull request #318 from dhylands/exti
Add EXTI support
2014-02-26 16:01:54 +00: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 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 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
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
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 70d7a83c74 stm: If SD card inserted on hard reset, it is the medium for USB MSD. 2014-02-13 23:21:02 +00:00