• More Python features, reduced code size, coverage testing at 91%.

    Ghost released this 2015-03-29 17:03:29 +00:00 | 13428 commits to master since this release

    py core:

    • add builtin setattr function
    • optimise exceptions for out-of-memory scenario
    • add some special methods: mul, floordiv, truediv
    • implement array slice assignment
    • add support for start/stop/step attrs in range object
    • make builtin abs work with bools and bignums
    • add basic implementation of collections.OrderedDict
    • add support for a function's name
    • refactor compiler code to reduce code size by up to 2k
    • support for descriptors get and set

    inline Thumb2 assembler:

    • more robust syntax checking
    • general bug fixes
    • better error messages
    • add "it" instructions
    • add bl, bx instructions
    • add bcc_n, bcc_w instructions

    extmod:

    • modure: bug fixes for groups
    • modure: add named classes

    lib:

    • libm: add erf, erfc, lgamma, tgamma

    drivers:

    • add onewire driver in pure Python
    • add ds18x20 temp sensor driver, using onewire
    • cc3100 driver upgraded to v1.1.0

    tests:

    • lots of new tests, including many for SyntaxError
    • automated covage testing using coveralls, at 91% coverage

    unix port:

    • support for readline history saving to file

    stmhal port:

    • usbdev code cleanup
    • add Python-configurable USB HID mode
    • add CDC only USB option
    • improve USB descriptors (untested on Windows and Mac)
    • add UART.sendbreak() method to send break condition
    • add support for CAN rx callbacks
    • raise error if UART can't do requested baudrate within 5%
    • fix timing init when callback is passed as argument to init
    • add support for quadrature encoder mode in TimerChannel
    • fix ADC.read_timed so buffer store respects element size
    • add RTC.wakeup method to set wakeup timer (preliminary)
    • add compile-time config option for RTC to use LSE or LSI
    • bug fix related to unhandled channel interrupts
    • improved support for stop and standby mode
    • expose all PYBv1.0 pins, including SD and USB pins
    • optimise ADC.read_timed so it can sample at up to 750kHz
    • make pybstdio code usable by other ports

    cc3200 port:

    • add I2C module
    • add ADC module
    • add SD module
    • support for connecting to WEP secured networks
    • add WDT support
    • add low power support
    • add SPi module

    esp8266 port:

    • add basic pyb.Pin class

    miscellaneous:

    • add list of Kickstarter backers in ACKNOWLEDGEMENTS file

    size difference in bytes to previous version (a negative value means
    binary is smaller in this version):

    • bare-arm: -2448
    • minimal: -3028
    • unix: +574
    • stmhal: +7996
    • cc3200: -2984
    • teensy: -10560
    • esp8266: -936
    • qemu-arm: -844
    Downloads