aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-04esp8266/modmachine: idle(): Return number of CPU cycles spent idling.Paul Sokolovsky
Useful to better understand esp8266 inner workings and compare behavior in different cases.
2016-10-05tests/extmod/btree1: Checks for put, seq, string print and unsupported ↵Alex March
binary op.
2016-10-04stmhal/usb: Use real packet size (not maximum) in HID receive.Pavol Rusnak
2016-10-04stmhal/usb: Use correct ClassData structure for HID receive.Pavol Rusnak
2016-10-04stmhal/usb: Add support to receive USB HID messages from host.Philip Potter
2016-10-04stmhal/usbdev: Add OUT endpoint to HID interface.Philip Potter
2016-10-04tests/run-tests: Disable cmdline/cmd_showbc test on Windows.Damien George
Disabled until a proper fix is found.
2016-10-04stmhal: Fix linker map for STM32L476 chips.Dave Hylands
In particular, this makes the L4 .isr_vector section 16K in size so it's the same as the F4/F7 MCUs. The patch also moves the L4 filesystem to the end of flash, which allows for 512K filesystem on the 1Mb devices like the STM32L476DISC.
2016-10-04stmhal/spi: Enable use of fast software SPI.Damien George
2016-10-04extmod/machine_spi: Add optional support for fast software SPI.Damien George
If a port defines MICROPY_PY_MACHINE_SPI_MIN_DELAY then it can use a faster software SPI loop that does not make calls to the delay_us function.
2016-10-04extmod/machine_spi: Use delay_half, not baudrate, for internal timing.Damien George
The delay_half parameter must be specified by the port to set up the timing of the software SPI. This allows the port to adjust the timing value to better suit its timing characteristics, as well as provide a more accurate printing of the baudrate.
2016-10-04stmhal/spi: Use software SPI if no periph id given, even if pins given.Damien George
It's simpler to just default to always using software SPI if no specific peripheral id/name is given. To use hardware SPI users must specify a hardware peripheral id as the first parameter to the SPI constructor.
2016-10-03esp8266/moduos: Move stat/statvfs funcs to sit within #if VFS guard.Damien George
2016-10-03stmhal/mphalport: Fix mp_hal_pin_write to use correct pin_mask.Damien George
2016-10-03stmhal/spi: Make machine.SPI class conform to correct API.Damien George
Includes both software and hardware SPI implementations.
2016-10-03stmhal/mphalport: Implement mp_hal_pin_{input,output,write}.Damien George
2016-10-03extmod/machine_spi: Factor out software SPI code from esp8266 to extmod.Damien George
2016-10-03stmhal/spi: Simplify spi_transfer function to take only one buf len arg.Damien George
2016-10-03extmod/machine_spi: Simplify SPI xfer function to only take one buf len.Damien George
There is no need to take src_len and dest_len arguments. The case of reading-only with a single output byte (originally src_len=1, dest_len>1) is now handled by using the output buffer as the input buffer, and using memset to fill the output byte into this buffer. This simplifies the implementations of the spi_transfer protocol function.
2016-10-01cc3200: Add ssl_version argument to ssl.wrap_socket().daniel
This resolves issue #2343.
2016-09-30py/objbool: Make a slight simplification of bool constructor.Damien George
Reduces code size for some archs.
2016-09-30py/objbool: Defer bool's unary op implementation to small int.Damien George
Similar to how binary op already works. Common unary operations already have fast paths for bool so there's no need to have explicit handling of ops in bool_unary_op, especially since they have the same behaviour as integers.
2016-09-30py/argcheck: Simplify if-chain so that the last one is the default.Damien George
2016-09-30tests/basics: Add test for printing OSError when errno is unknown.Damien George
2016-09-30lib/cmsis: upgrade CMSIS-CORE to V4.30Krzysztof Blazewicz
2016-09-30lib/cmsis: remove CMSIS-DSP headers, they are unusedKrzysztof Blazewicz
2016-09-30lib/cmsis: move CMSIS headers to lib/Krzysztof Blazewicz
Files in lib/cmsis are generic for all Cortex-M MCU's files left in stmhal/cmsis are all STM32 specific.
2016-09-30tests/basics: Add test constructing a set from a non-trivial expression.Damien George
2016-09-30tests/import: Add test for compiling "import a.b as c".Damien George
2016-09-30py/compile: Fix typo when checking for parse-node kind.Damien George
2016-09-30tests/basics: Add further tests for nonlocal scoping and closures.Damien George
2016-09-30py/scope: Factor common code to find locals and close over them.Damien George
Saves 50-100 bytes of code.
2016-09-30py/scope: Shrink scope_t struct by 1 machine word.Damien George
On 32-bit archs this makes the scope_t struct 48 bytes in size, which fits in 3 GC blocks (previously it used 4 GC blocks). This will lead to some savings when compiling scripts because there are usually quite a few scopes, one for each function and class. Note that qstrs will fit in 16 bits, this assumption is made in a few other places.
2016-09-30py/scope: Use lookup-table to determine a scope's simple name.Damien George
Generates slightly smaller and more efficient code.
2016-09-29lib/interrupt_char: Factor out typical Ctrl+C handling from esp8266 port.Paul Sokolovsky
Utility functions for keyboard interrupt handling, to be reused across (baremetal) ports.
2016-09-28stmhal: Remove CMSIS STM32F2xx files, they are unused/unsupported.Damien George
2016-09-28extmod/machine_i2c: Add support for the addrsize parameter in mem xfers.Radomir Dopieralski
The memory read/write I2C functions now take an optional keyword-only parameter that specifies the number of bits in the memory address. Only mem-addrs that are a multiple of 8-bits are supported (otherwise the behaviour is undefined). Due to the integer type used for the address, for values larger than 32 bits, only 32 bits of address will be sent, and the rest will be padded with 0s. Right now no exception is raised when that happens. For values smaller than 8, no address is sent. Also no exception then. Tested with a VL6180 sensor, which has 16-bit register addresses. Due to code refactoring, this patch reduces stmhal and esp8266 builds by about 50 bytes.
2016-09-27stmhal: Add virtual com port support for STM32L476DISC.Nicholas Graumann
2016-09-28py/compile: Fix async-for/async-with to work with simpler exc on stack.Damien George
There is now just the exception instance on the stack when an exception is raised, not the full (type, exc, traceback).
2016-09-28tests/basics: Add test for set.difference_update with arg being itself.Damien George
2016-09-28py/objset: Ensure that use of frozenset.update raises an exception.Damien George
2016-09-28py/objset: Use mp_check_self() to check args of set/frozenset methods.Damien George
Following how other objects work, set/frozenset methods should use the mp_check_self() macro to check the type of the self argument, because in most cases this check can be a null operation. Saves about 100-180 bytes of code for builds with set and frozenset enabled.
2016-09-27py/objfun: Use if instead of switch to check return value of VM execute.Damien George
It's simpler and improves code coverage.
2016-09-27py/objfun: Remove unnecessary check for viper fun with 5 or more args.Damien George
The native emitter/compiler restricts viper functions to 4 args, so there is no need for an extra check in the dynamic dispatch.
2016-09-27stmhal/modmachine: Fix clearing of reset-cause flags.Damien George
To reset the flags we should write to the single bit only, not the entire register (otherwise all other settings in the register are cleared). Fixes #2457.
2016-09-27py/emitbc: Remove/refactor unreachable code, to improve coverage.Damien George
2016-09-27py/objstr: Remove unreachable function used only for terse error msgs.Damien George
2016-09-27tests/float: Add test for parsing a float from an empty string.Damien George
2016-09-27esp8266: Add uos.statvfs() to get filesystem status.Alex March
2016-09-27tests/extmod/vfs_fat_ramdisk: Add test for VFS.statvfs().Alex March