Damien George
9b196cddab
Remove mp_obj_type_t.methods entry and use .locals_dict instead.
...
Originally, .methods was used for methods in a ROM class, and
locals_dict for methods in a user-created class. That distinction is
unnecessary, and we can use locals_dict for ROM classes now that we have
ROMable maps.
This removes an entry in the bloated mp_obj_type_t struct, saving a word
for each ROM object and each RAM object. ROM objects that have a
methods table (now a locals_dict) need an extra word in total (removed
the methods pointer (1 word), no longer need the sentinel (2 words), but
now need an mp_obj_dict_t wrapper (4 words)). But RAM objects save a
word because they never used the methods entry.
Overall the ROM usage is down by a few hundred bytes, and RAM usage is
down 1 word per user-defined type/class.
There is less code (no need to check 2 tables), and now consistent with
the way ROM modules have their tables initialised.
Efficiency is very close to equivaluent.
2014-03-26 21:47:19 +00:00
Damien George
c12b2213c1
Change mp_method_t.name from const char * to qstr.
...
Addresses issue #377 .
2014-03-26 20:15:40 +00: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
90834b956d
stm/stmhal: Change gammaf to tgammaf.
2014-03-23 14:00:02 +00:00
Damien George
e43e27cf79
Merge pull request #356 from iabdalkader/d2f
...
Implement __aeabi_f2d and __aeabi_d2f
2014-03-23 00:34:11 +00:00
Damien George
8138205bea
stm/stmhal: Add more math stubs.
2014-03-22 20:44:43 +00:00
mux
5b6008ddb9
Implement __aeabi_f2d and __aeabi_d2f
2014-03-22 02:08:01 +02:00
Damien George
c070ff24a9
Disable some math functions until they work correctly.
2014-03-21 20:52:54 +00:00
Damien George
280e7208d8
Add vstr_ins and vstr_cut_out; improve stmhal readline.
2014-03-15 14:33:09 +00:00
Damien George
849a0dda86
stm: Add some floating-point math functions.
...
These have been taken from the musl library. It's a bit of a hack for
now, just to get math functions working.
2014-03-12 22:33:22 +00:00
Damien George
8bfec2b538
Rename formatfloat file; remove MICROPY_ENABLE_FLOAT from mpconfigport.h.
...
MICROPY_ENABLE_FLOAT is automatically set in mpconfig.h if MICROPY_FLOAT_IMPL
is set to a non-zero value.
2014-03-10 13:27:02 +00:00
Dave Hylands
ca5a241e48
Add proper floating point printing support.
2014-03-10 00:10:01 -07:00
Damien George
5322ec0962
stm: Add DMA support to Audio object.
2014-03-09 19:59:17 +00:00
Damien George
c3d35c6ac7
stm: Put pyb module in ROM.
2014-03-08 16:40:08 +00:00
Damien George
01d50d0d58
stm: Wrap some functions in MICROPY_ENABLE_FLOAT.
2014-03-08 15:28:51 +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
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