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
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
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
780ba22bb8
stm: Copy COPT style from unix port.
2014-02-12 20:55:33 +00:00
Paul Sokolovsky
287d9620fc
Enable link map file generation.
2014-02-11 14:42:20 +02: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
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
Damien George
39631bc312
Fix Makefiles: -O3 option was not being applied; mkdir for STM.
2014-01-30 22:16:51 +00:00
Damien George
75abee206d
stm: USB host mode working! Restructure stm library directories.
2014-01-26 17:41:01 +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
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
638179fb9c
Move RTC to Separate Module
...
* Move RTC code from main to a separate module.
2014-01-23 13:49:06 +02:00
Damien George
b5d13c309f
stm: Fix USART3 init. Small edits to Makefile and other things.
2014-01-22 22:55:07 +00: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
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
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
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
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
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
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
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
9193f89296
Move lexerstr to main py directory (everyone uses it).
2014-01-08 15:28:26 +00: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
d3ebe4829d
Factor and simplify Makefile's and mpconfig, part 2.
2014-01-07 15:20:33 +00: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
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
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
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
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
mux
1a1ba4d555
Change dfu.py to be Python 2/3 compatible
...
* Chane dfu.py to use Python 3 syntax to avoid dependency on Python 2.
* Update Makefile to call python instead of python2
* Fix #33
2014-01-03 08:51:02 +02:00
Damien George
aae7847508
Change old use of module creation to new proper use.
2014-01-03 00:10:22 +00:00
Damien George
2870862601
Add module object, to be used eventually for import.
2014-01-02 21:30:26 +00:00
Paul Sokolovsky
e1151e463d
Use rm -rf to remove build dir, so it doesn't error out if dir doesn't exist.
2013-12-30 21:02:10 +02:00
Damien George
8cc96a35e5
Put unicode functions in unicode.c, and tidy their names.
2013-12-30 18:23:50 +00:00