• v1.4.6 5572f735b6

    Auto-indent for REPL, jni module for unix, lots more tests

    Ghost released this 2015-09-24 02:16:36 +10:00 | 3670 commits to cross since this release

    py core:

    • make frozensets hashable
    • add MICROPY_PY_BUILTINS_FILTER to configure filter builtin
    • make slice attributes (start/stop/step) readable (enable via
      MICROPY_PY_BUILTINS_SLICE_ATTRS)
    • add support for array('q') and array('Q')
    • add stream_tell method, and use for unix and stmhal file tell
    • make string formatting 8-bit clean
    • treat escaped quotes correctly in REPL continuation
    • fix function args when a star-arg is followed by keyword args
    • properly classify floats that look like hex numbers (eg 0e0)
    • fix calculation of max digit storage for mpz; fix sys.maxsize
    • refine SyntaxError for repeated use of global/nonlocal
    • raise SyntaxError when unicode char point out of range
    • fix error reporting for unexpected end of modulo format str
    • fix error type for badly formatted format specifier (is now ValueError)
    • raise NotImplementedError for unicode name escape instead of assert
    • for str.endswith(s, start) raise NotImplementedError instead of assert
    • make str.rsplit(None,n) raise NotImplementedError instead of assert
    • handle 'raise X from Y' by issuing a warning that exception chaining is
      not supported
    • make it_iternext() recognize IndexError
    • only compile function annotations if really needed (for native emitter)
    • simplify dispatch of bool binary op
    • simplify printing of bytes objects when unicode enabled

    lib:

    • readline: add auto-indent support; 4 spaces are added at start of line
      to match previous indent, and if previous line ended in colon; backspace
      deletes 4 space if only spaces begin a line

    drivers:

    • nrf24l01: fix SPI phase setting to match specs of nRF chip

    tools:

    • upgrade upip to 0.5.8 (adds support for experimental ussl module)

    tests:

    • explain in README how tests get skipped
    • add feature_check dir to collect capability detection scripts
    • split byteorder-dependent tests to *_endian.py's
    • allow to skip byteorder-dependent tests
    • add escaped quotes tests for REPL
    • add tests for bool, bytearray, float, exceptions (to improve coverage)
    • add test for exception-chaining raise syntax
    • add test on set/frozenset equality
    • add tests for non-compliant behaviour (relative to CPython)
    • add test where getitem raises IndexError to stop iteration
    • make io test cleanup after itself by removing 'testfile'
    • move int+unicode test to unicode-specific test directory
    • wipy: add I2C tests
    • wipy: additional tests for when the UART is un-initialized
    • wipy: improve UART tests with no pin assignment case
    • wipy: remove unneeded dependencies to pyb.Pin

    unix-cpy port:

    • port is removed (no longer needed), along with conditional code in core

    unix port:

    • bump default heap size to 1MB (2MB on 64-bit systems)
    • enable REPL auto-indent
    • allow to build libffi from source and link against it
    • add 'jni' module to interface to JNI-compliant JavaVM

    windows port:

    • make mpconfigport.h up-to-date with the unix port
    • make unistd.h more posix compatible

    stmhal port:

    • use polling, not DMA, for 1 byte SPI transfers
    • add 'opt' arg to pyb.main, to set mp_optimise_value
    • add option to query for the current usb mode
    • add support for STM32F411 Discovery Board (STM32F411E-DISCO)
    • enable I & D caches for Cortex-M7
    • fix single precision float printing error

    cc3200 port:

    • implement new Pin API
    • implement new UART API
    • implement new I2C API
    • implement new SPI API
    • implement new ADC API
    • implement new WDT API
    • implement new SD and RTC API plus os and time modules' extensions
    • improve uniflash script and make it a bit more verbose
    • increase error led blynk period to 100ms
    • keep overwriting the same image on sequential updates
    • improve file system check routine
    • make sure to update sleep objects when registered
    • reduce servers cycle time to improve FTP transfer rate
    • remove unneeded loops in the FreeRTOS hooks
    • server side SSL socket requires both certfile and keyfile
    • don't clear the WDT special bit in the bootloader
    • disable some uPy features in debug mode to help code fit
    • change HeartBeat period from 5 to 4 seconds
    • add mphal error to raise hardware related exceptions

    esp8266 port:

    • add wifi_mode() to read and set WiFi operating mode
    • add wlan.isconnected() to maintain parity with other ports

    docs:

    • wipy: adapt ADC doc and quickref to the new API
    • wipy: update I2C and UART docs to match the new API
    • wipy: add pins to the I2C constructor
    Downloads