summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-10py/mperrno: Add EAFNOSUPPORT definition.Damien George
2016-05-10esp8266: Enable uerrno module, weak linked also as errno.Damien George
2016-05-10esp8266: Convert to use new MP_Exxx errno symbols.Damien George
These symbols are still defined in terms of the system Exxx symbols, and can be switched to internal numeric definitions at a later stage. Note that extmod/modlwip still uses many system Exxx symbols.
2016-05-10stmhal: Convert to use internal errno symbols; enable uerrno module.Damien George
2016-05-10unix: Enable uerrno module.Damien George
2016-05-10py/parse: Add uerrno to list of modules to look for constants in.Damien George
2016-05-10py: Add uerrno module, with errno constants and dict.Damien George
2016-05-10py: Add mperrno.h file with uPy defined errno constants.Damien George
2016-05-10esp8266/help: Add "sta_if.active(True)" command.Paul Sokolovsky
As reported on the forum by Roberthh.
2016-05-10esp8266/mpconfigport: Reduce various parser-related allocation params.Paul Sokolovsky
This gives noticeable result for parsing simple input (modelled on 32-bit unix port): Before: >>> micropython.mem_total() 3360 >>> micropython.mem_total() 4472 After: >>> micropython.mem_total() 3072 >>> micropython.mem_total() 4052 However, effect on parsing large input is much less conclusive, e.g.: Before: >>> micropython.mem_total() 3376 >>> import pystone_lowmem >>> micropython.mem_total() 33006 delta=29630 After: >>> micropython.mem_total() 3091 >>> import pystone_lowmem >>> micropython.mem_total() 32509 delta=29418
2016-05-10stmhal: Fix clock configuration for STM32L476-discovery; also add I2C2.Tobias Badertscher
2016-05-10docs/esp8266/quickref: New way to get MAC addressRadomir Dopieralski
2016-05-10py/vstr: Change allocation policy, +16 to requested size, instead of *2.Paul Sokolovsky
Effect measured on esp8266 port: Before: >>> pystone_lowmem.main(10000) Pystone(1.2) time for 10000 passes = 44214 ms This machine benchmarks at 226 pystones/second >>> pystone_lowmem.main(10000) Pystone(1.2) time for 10000 passes = 44246 ms This machine benchmarks at 226 pystones/second After: >>> pystone_lowmem.main(10000) Pystone(1.2) time for 10000 passes = 44343ms This machine benchmarks at 225 pystones/second >>> pystone_lowmem.main(10000) Pystone(1.2) time for 10000 passes = 44376ms This machine benchmarks at 225 pystones/second
2016-05-09Revert "py/objstr: .format(): Avoid call to vstr_null_terminated_str()."Paul Sokolovsky
This reverts commit 6de8dbb4880e58c68a08205cb2b9c15940143439. The change was incorrect (correct change would require comparing with end pointer in each if statement in the block).
2016-05-09py/vstr: vstr_null_terminated_str(): Extend string by at most one byte.Paul Sokolovsky
vstr_null_terminated_str is almost certainly a vstr finalization operation, so it should add the requested NUL byte, and not try to pre-allocate more. The previous implementation could actually allocate double of the buffer size.
2016-05-09py/objstr: .format(): Avoid call to vstr_null_terminated_str().Paul Sokolovsky
By comparing with string end pointer instead of checking for NUL byte. Should alleviate reallocations and fragmentation a tiny bit.
2016-05-09py/mpz: Fix mpn_div so that it doesn't modify memory of denominator.Damien George
Previous to this patch bignum division and modulo would temporarily modify the RHS argument to the operation (eg x/y would modify y), but on return the RHS would be restored to its original value. This is not allowed because arguments to binary operations are const, and in particular might live in ROM. The modification was to normalise the arg (and then unnormalise before returning), and this patch makes it so the normalisation is done on the fly and the arg is now accessed as read-only. This change doesn't increase the order complexity of the operation, and actually reduces code size.
2016-05-09esp8266/main: Bump heap size to 28K.Paul Sokolovsky
This is kind of compensation for 4K FatFs buffer size which is eaten away from it on FS mount. This should still leave enough of networking ("OS") heap.
2016-05-08py/mpz: Do Python style division/modulo within bignum divmod routine.Damien George
This patch consolidates the Python logic for division/modulo to one place within the bignum code.
2016-05-08py/mpz: Fix bug with overflowing C-shift in division routine.Damien George
When DIG_SIZE=32, a uint32_t is used to store limbs, and no normalisation is needed because the MSB is already set, then there will be left and right shifts (in C) by 32 of a 32-bit variable, leading to undefined behaviour. This patch fixes this bug.
2016-05-08py/repl: If there're no better alternatives, try to complete "import".Paul Sokolovsky
Also do that only for the first word in a line. The idea is that when you start up interpreter, high chance that you want to do an import. With this patch, this can be achieved with "i<tab>".
2016-05-08esp8266/scripts/webrepl: Add start_foreground() method.Paul Sokolovsky
Starts WebREPL server in foreground and waits for (single) connection.
2016-05-08stmhal/can: Allow to get existing CAN obj if constructed without args.Henrik Sölver
Initialisation of CAN objects should now behave as other peripheral objects. Fixes issue #2001.
2016-05-08windows: Enable multi-processor compilation for msvcstijn
This will launch about as many compiler instances as there are logical processors on a machine, and as such significantly speeds up compilation.
2016-05-07Fix ESP8266 Network tutorialPaulus Schoutsen
The socket should either connect to `addr` or `addr_info[0][-1]`. Not to `addr[0][-1]`.
2016-05-07tests: Disable memoryview tests that overflow int conversion.Damien George
They fail on builds with 32-bit word size.
2016-05-07py/runtime: Properly handle passing user mappings to ** keyword args.Damien George
2016-05-07py/objstr: Binary type of str/bytes for buffer protocol is 'B'.Damien George
The type is an unsigned 8-bit value, since bytes objects are exactly that. And it's also sensible for unicode strings to return unsigned values when accessed in a byte-wise manner (CPython does not allow this).
2016-05-07esp8266/scripts/webrepl: Add optional password argument to webrepl.start()Noah Rosamilia
This commit fixes issue #2045
2016-05-07CODECONVENTIONS.md: Describe git commit messages conventions.Paul Sokolovsky
2016-05-07unix/mphalport: Add mp_hal_delay_us() for consistency with other ports.Pavol Rusnak
2016-05-07esp8266/scripts/: Add fill() to NeoPixelMike Causer
2016-05-07docs/machine.UART: Filter out unimplemented UART methods from esp8266 docs.Radomir Dopieralski
2016-05-07esp8266/scripts/inisetup: Don't start WebREPL on boot in master branch.Paul Sokolovsky
It interferes with running testsuite. master branch should be optimized for development, so any features which interfere with that, would need to be disabled by default.
2016-05-07tests/run-tests: Factor out list supported external boards.Paul Sokolovsky
To get consistent error messages, etc.
2016-05-06stmhal/sdcard: Fix initialisation of DMA TX so that writes work.Damien George
Addresses issue #2034.
2016-05-06stmhal/dma: Fix builds for boards with an F4 or F7 but no DAC.Dave Hylands
2016-05-05esp8266/scripts/: Remove use of pin.PULL_NONE.Paul Sokolovsky
This constant is no longer part of hardware API (replaced with just None), and is a default, so not needed in calls.
2016-05-05stmhal: For LIMIFROG board, add early-init function to get to DFU mode.Damien George
2016-05-05stmhal: Add board files for LIMIFROG board.Tobias Badertscher
2016-05-05stmhal/dma: Make DAC DMA descriptors conditional on having a DAC.Damien George
2016-05-05stmhal: L4: Add support for machine.sleep on STM32L4 MCUs.Tobias Badertscher
Also raise an exception for machine.freq and machine.deepsleep on this MCU, since they are not yet implemented.
2016-05-05stmhal: L4: Make CCM/DTCM RAM start-up conditional on MCU type.Tobias Badertscher
2016-05-05stmhal: L4: Adapt startup code, clock configuration and interrupts.Tobias Badertscher
2016-05-05stmhal: L4: Adapt DMA to be able to support STM32L4 MCU series.Tobias Badertscher
The main thing is to change the DMA code in a way that the structure DMA_Stream_TypeDef (which is similar to DMA_Channel_TypeDef on stm32l4) is no longer used outside of dma.c, as this structure only exists for the F4 series. Therefore I introduced a new structure (dma_descr_t) which handles all DMA specific stuff for configuration. Further the periphery (spi, i2c, sdcard, dac) does not need to know the internals of the dma.
2016-05-04py/obj: Add warning note about get_array return value and GC blocks.Damien George
2016-05-03docs: Bump version to 1.8.v1.8Damien George
2016-05-03docs/esp8266/tutorial: Change name of ESP8266 firmware to match actual.Damien George
2016-05-03docs/esp8266/tutorial/repl: Reword description of initial WebREPL setup a bit.Paul Sokolovsky
2016-05-03docs/esp8266/tutorial/repl: Suggest using hosted WebREPL client.Paul Sokolovsky
At http://micropython.org/webrepl .