summaryrefslogtreecommitdiff
path: root/stmhal
AgeCommit message (Collapse)Author
2017-08-21all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros.Damien George
2017-08-13all: Raise exceptions via mp_raise_XXXJavier Candeira
- Changed: ValueError, TypeError, NotImplementedError - OSError invocations unchanged, because the corresponding utility function takes ints, not strings like the long form invocation. - OverflowError, IndexError and RuntimeError etc. not changed for now until we decide whether to add new utility functions.
2017-08-11all: Make use of $(TOP) variable in Makefiles, instead of "..".Damien George
$(TOP) is defined in py/mkenv.mk and should be used to refer to the top level of this repository.
2017-08-02py,extmod,stmhal: Use "static inline" for funcs that should be inline.Damien George
"STATIC inline" can expand to "inline" if STATIC is defined to nothing, and this case can lead to link errors.
2017-07-31all: Use the name MicroPython consistently in commentsAlexander Steffen
There were several different spellings of MicroPython present in comments, when there should be only one.
2017-07-19all: Remove trailing spaces, per coding conventions.Damien George
2017-07-19stmhal: Clean up USB CDC/MSC files and remove commented-out code.Damien George
2017-07-18all: Unify header guard usage.Alexander Steffen
The code conventions suggest using header guards, but do not define how those should look like and instead point to existing files. However, not all existing files follow the same scheme, sometimes omitting header guards altogether, sometimes using non-standard names, making it easy to accidentally pick a "wrong" example. This commit ensures that all header files of the MicroPython project (that were not simply copied from somewhere else) follow the same pattern, that was already present in the majority of files, especially in the py folder. The rules are as follows. Naming convention: * start with the words MICROPY_INCLUDED * contain the full path to the file * replace special characters with _ In addition, there are no empty lines before #ifndef, between #ifndef and one empty line before #endif. #endif is followed by a comment containing the name of the guard macro. py/grammar.h cannot use header guards by design, since it has to be included multiple times in a single C file. Several other files also do not need header guards as they are only used internally and guaranteed to be included only once: * MICROPY_MPHALPORT_H * mpconfigboard.h * mpconfigport.h * mpthreadport.h * pin_defs_*.h * qstrdefs*.h
2017-07-14stmhal/servo: Don't compile servo code when it's not enabled.Damien George
2017-07-14stmhal/pin_named_pins: Remove unreachable print function.Damien George
There are never any instances of these objects so there is no need to have a print function.
2017-07-14stmhal/servo: Make pyb.Servo(n) map to Pin('Xn') on all MCUs.Damien George
Prior to this patch Servo numbers 1, 2, 3, 4 mapped to pins X3, X4, X1, X2 on PYBLITE which doesn't match the standard PYB mapping. This patch fixes the mapping.
2017-07-12stmhal: Reduce size of ESPRUINO_PICO build so it fits in flash.Damien George
The default frozen modules are no longer included (but users can still specify their own via FROZEN_MPY_DIR), complex numbers are disabled and so are the native, viper and asm_thumb emitters. Users needing these features can tune the build to disable other things.
2017-07-04stmhal/boards/NUCLEO_F429ZI: Change USB config from HS to FS peripheral.Damien George
This dev board only has a single USB connector, connected to the FS peripheral.
2017-07-03stmhal: Clean up some header includes.Damien George
2017-07-03stmhal/boards: Add configuration files for NUCLEO_F429ZI.Alberto Petrucci
2017-06-28stmhal/mpconfigport.h: Allow MICROPY_PY_THREAD to be overridden.Damien George
2017-06-28stmhal/Makefile: Add CFLAGS_EXTRA to CFLAGS so cmdline can add options.Damien George
2017-06-28stmhal/Makefile: Rename FLOAT_IMPL to MICROPY_FLOAT_IMPL to match C nameDamien George
The name used in py/mpconfig.h is MICROPY_FLOAT_IMPL so rename this Makefile variable to mirror that.
2017-06-28stmhal/Makefile: Use hardware double-prec FP for MCUs that support it.Damien George
2017-06-28stmhal/boards: Enable double-prec FP on F76x boards.Damien George
2017-06-28stmhal: Add possibility to build with double-precision floating point.Damien George
By default the firmware is built with single-precision floating point. To build a particular board using double precision instead, put the following line in the mpconfigboard.mk file: FLOAT_IMPL = double
2017-06-27stmhal/sdcard: Allow a board to customise the SDIO pins.Benjamin Weps
2017-06-26stmhal/boards/stm32f405.ld: Increase FLASH_TEXT to end of 1MiB flash.Damien George
And and FLASH_FS, and use "K" values instead of hex numbers for lengths. The increase of FLASH_TEXT is to allow more frozen bytecode for a particular user's project. It's not used for anything else.
2017-06-22stmhal/modules: Provide sym-link to onewire.py driver.Damien George
2017-06-22stmhal: Make available the _onewire module, for low-level bus control.Damien George
2017-06-22stmhal: Add "quiet timing" enter/exit functions.Damien George
They disable all interrupts except for SysTick and are useful for doing certain low-level timing operations.
2017-06-15stmhal: Move pybstdio.c to lib/utils/sys_stdio_mphal.c for common use.Damien George
It provides sys.stdin, sys.stdout, sys.stderr for bare-metal targets based on mp_hal functions.
2017-06-15stmhal: Add .value() method to Switch object, to mirror Pin and Signal.Damien George
2017-06-15stmhal: Add initial implementation of Pin.irq() method.Damien George
This method follows the new HW API and allows to set a hard or soft IRQ callback when a Pin has a level change. It still remains to make this method return a IRQ object.
2017-06-15stmhal: Make error messages more consistent across peripherals.Damien George
2017-06-15all: Make more use of mp_raise_{msg,TypeError,ValueError} helpers.Damien George
2017-06-14stmhal/mpconfigport.h: Remove config of PY_THREAD_GIL to use default.Damien George
The default for the GIL is to enable it if threading is enabled, and this is the recommended way to use threading with the stmhal port.
2017-06-08stmhal/usbdev: For MSC implement SCSI SYNCHRONIZE_CACHE command.Damien George
Currently just a dummy command that returns "success", but it's needed for some O/S's to correctly talk with the SCSI layer.
2017-06-07stmhal/usb: Make state for USB device private to top-level USB driver.Damien George
2017-06-07stmhal/usb: Use local USB handler variable in Start-of-Frame handler.Sylvain Pelissier
2017-06-07stmhal: Pass USB handler as parameter to allow more than one USB handlerSylvain Pelissier
2017-06-07stmhal: Add support for NUCLEO_F446RE board.Dave Hylands
2017-06-01ports: Convert from using stmhal's input() to core provided version.Damien George
2017-05-30stmhal/boards: Enable DAC for NUCLEO_F767ZI board.Damien George
2017-05-21esp8266, stmhal, zephyr: Rename machine.Pin high/low methods to on/off.Paul Sokolovsky
For consistent Pin/Signal class hierarchy. With it, Signal is a proper (while still ducktyped) subclass of a Pin, and any (direct) usage of Pin can be replace with Signal. As stmhal's class is reused both as machine.Pin and legacy pyb.Pin, high/low methods actually retained there.
2017-05-16stmhal/modmachine: Remove TODO comment that is now implemented.Damien George
2017-05-16stmhal/modmachine: Add machine.UART class, linking to pyb.UART.Damien George
pyb.UART has a superset of machine.UART functionality so can be used to provide compatibility with other ports that also implement machine.UART.
2017-05-10ports: Add ilistdir in uos module.Damien George
2017-05-06stmhal: Convert all module and method tables to use MP_ROM macros.Damien George
2017-04-28qemu-arm, stmhal: Remove dummy memory.h since it's no longer needed.Damien George
extmod/crypto-algorithms/sha256.c was recently fixed so that it didn't include this header.
2017-04-22mpy-cross, unix, windows, stmhal: Enable return-if-else optimisation.Damien George
Prior to making this a config option it was previously available on these (and all other) ports, and it makes sense to keep it enabled for mpy-cross as well as ports that have a decent amount of space for the code.
2017-04-18stmhal/timer: Clear interrupt flag before setting callback.Henrik Sölver
Sometimes when setting a channel callback the callback fires immediately, even if the compare register is set to a value far into the future. This happens when the free running counter has previously been equal to what happens to be in the compare register. This patch make sure that there is no pending interrupt when setting a callback.
2017-04-11stmhal: Enable parsing of all Pin constructor args by machine.Signal.Damien George
2017-04-04stmhal/usbd_cdc_interface: Change CDC RX to use a circular buffer.Damien George
This should be a little more efficient (since we anyway scan the input packet for the interrupt char), and it should also fix any non-atomic read issues with the buffer state being changed during an interrupt. Throughput tests show that RX rate is unchanged by this patch.
2017-04-04stmhal/usbd_cdc_interface: Increase in-endpoint timeout to 500ms.Damien George
The previous timeout value of 150ms could lead to data being lost (ie never received by the host) in some rare cases, eg when the host is under load. A value of 500ms is quite conservative and allows the host plenty of time to read our data.