summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* Merge tag 'v1.9.1' into parse-bytecodeDamien George2017-08-14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes for stmhal USB mass storage, lwIP bindings and VFS regressions This release provides an important fix for the USB mass storage device in the stmhal port by implementing the SCSI SYNCHRONIZE_CACHE command, which is now require by some Operating Systems. There are also fixes for the lwIP bindings to improve non-blocking sockets and error codes. The VFS has some regressions fixed including the ability to statvfs the root. All changes are listed below. py core: - modbuiltins: add core-provided version of input() function - objstr: catch case of negative "maxsplit" arg to str.rsplit() - persistentcode: allow to compile with complex numbers disabled - objstr: allow to compile with obj-repr D, and unicode disabled - modsys: allow to compile with obj-repr D and PY_ATTRTUPLE disabled - provide mp_decode_uint_skip() to help reduce stack usage - makeqstrdefs.py: make script run correctly with Python 2.6 - objstringio: if created from immutable object, follow copy on write policy extmod: - modlwip: connect: for non-blocking mode, return EINPROGRESS - modlwip: fix error codes for duplicate calls to connect() - modlwip: accept: fix error code for non-blocking mode - vfs: allow to statvfs the root directory - vfs: allow "buffering" and "encoding" args to VFS's open() - modframebuf: fix signed/unsigned comparison pendantic warning lib: - libm: use isfinite instead of finitef, for C99 compatibility - utils/interrupt_char: remove support for KBD_EXCEPTION disabled tests: - basics/string_rsplit: add tests for negative "maxsplit" argument - float: convert "sys.exit()" to "raise SystemExit" - float/builtin_float_minmax: PEP8 fixes - basics: convert "sys.exit()" to "raise SystemExit" - convert remaining "sys.exit()" to "raise SystemExit" unix port: - convert to use core-provided version of built-in import() - Makefile: replace references to make with $(MAKE) windows port: - convert to use core-provided version of built-in import() qemu-arm port: - Makefile: adjust object-file lists to get correct dependencies - enable micropython.mem_*() functions to allow more tests stmhal port: - boards: enable DAC for NUCLEO_F767ZI board - add support for NUCLEO_F446RE board - pass USB handler as parameter to allow more than one USB handler - usb: use local USB handler variable in Start-of-Frame handler - usb: make state for USB device private to top-level USB driver - usbdev: for MSC implement SCSI SYNCHRONIZE_CACHE command - convert from using stmhal's input() to core provided version cc3200 port: - convert from using stmhal's input() to core provided version teensy port: - convert from using stmhal's input() to core provided version esp8266 port: - Makefile: replace references to make with $(MAKE) - Makefile: add clean-modules target - convert from using stmhal's input() to core provided version zephyr port: - modusocket: getaddrinfo: Fix mp_obj_len() usage - define MICROPY_PY_SYS_PLATFORM (to "zephyr") - machine_pin: use native Zephyr types for Zephyr API calls docs: - machine.Pin: remove out_value() method - machine.Pin: add on() and off() methods - esp8266: consistently replace Pin.high/low methods with .on/off - esp8266/quickref: polish Pin.on()/off() examples - network: move confusingly-named cc3200 Server class to its reference - uos: deconditionalize, remove minor port-specific details - uos: move cc3200 port legacy VFS mounting functions to its ref doc - machine: sort machine classes in logical order, not alphabetically - network: first step to describe standard network class interface examples: - embedding: use core-provided KeyboardInterrupt object
| * docs: Bump version to 1.9.1.v1.9.1Damien George2017-06-11
| |
| * tests/extmod/vfs_basic: Allow test to pass on embedded targets.Damien George2017-06-11
| |
| * extmod/modframebuf: Fix signed/unsigned comparison pendantic warning.Paul Sokolovsky2017-06-10
| | | | | | | | Happened with 32-bit gcc 4.8.4.
| * tests: Convert remaining "sys.exit()" to "raise SystemExit".Paul Sokolovsky2017-06-10
| |
| * tests/basics: Convert "sys.exit()" to "raise SystemExit".Paul Sokolovsky2017-06-10
| |
| * zephyr/machine_pin: Use native Zephyr types for Zephyr API calls.Paul Sokolovsky2017-06-10
| | | | | | | | | | In 1.8, Zephyr made a controversial change of dumping C99 stdint types and switching to its own types.
| * esp8266/Makefile: Add clean-modules target.Paul Sokolovsky2017-06-10
| | | | | | | | Helpful when dealing with frozen modules (and whole applications).
| * py/objstringio: If created from immutable object, follow copy on write policy.Paul Sokolovsky2017-06-09
| | | | | | | | | | Don't create copy of immutable object's contents until .write() is called on BytesIO.
| * py/makeqstrdefs.py: Make script run correctly with Python 2.6.Damien George2017-06-09
| |
| * py: Provide mp_decode_uint_skip() to help reduce stack usage.Damien George2017-06-09
| | | | | | | | | | | | | | | | | | Taking the address of a local variable leads to increased stack usage, so the mp_decode_uint_skip() function is added to reduce the need for taking addresses. The changes in this patch reduce stack usage of a Python call by 8 bytes on ARM Thumb, by 16 bytes on non-windowing Xtensa archs, and by 16 bytes on x86-64. Code size is also slightly reduced on most archs by around 32 bytes.
| * zephyr: Define MICROPY_PY_SYS_PLATFORM (to "zephyr").Paul Sokolovsky2017-06-08
| |
| * tests/float/builtin_float_minmax: PEP8 fixes.Paul Sokolovsky2017-06-08
| |
| * tests/float: Convert "sys.exit()" to "raise SystemExit".Damien George2017-06-08
| | | | | | | | | | The latter is shorter and simpler because it doesn't require importing the sys module.
| * unix/Makefile: replace references to make with $(MAKE)Tamas TEVESZ2017-06-08
| | | | | | | | | | make is not always GNU make; the latter may go by different names. This helps builds on systems where the default make is not GNU make.
| * esp8266/Makefile: replace references to make with $(MAKE)Tamas TEVESZ2017-06-08
| | | | | | | | | | make is not always GNU make; the latter may go by different names. This helps builds on systems where the default make is not GNU make.
| * stmhal/usbdev: For MSC implement SCSI SYNCHRONIZE_CACHE command.Damien George2017-06-08
| | | | | | | | | | Currently just a dummy command that returns "success", but it's needed for some O/S's to correctly talk with the SCSI layer.
| * py/modsys: Allow to compile with obj-repr D and PY_ATTRTUPLE disabled.Damien George2017-06-08
| |
| * py/objstr: Allow to compile with obj-repr D, and unicode disabled.Damien George2017-06-08
| |
| * py/persistentcode: Allow to compile with complex numbers disabled.Damien George2017-06-08
| |
| * examples/embedding: Use core-provided KeyboardInterrupt object.Damien George2017-06-07
| |
| * stmhal/usb: Make state for USB device private to top-level USB driver.Damien George2017-06-07
| |
| * stmhal/usb: Use local USB handler variable in Start-of-Frame handler.Sylvain Pelissier2017-06-07
| |
| * stmhal: Pass USB handler as parameter to allow more than one USB handlerSylvain Pelissier2017-06-07
| |
| * extmod/vfs: Allow "buffering" and "encoding" args to VFS's open().Damien George2017-06-07
| | | | | | | | | | These args are currently ignored but are parsed to make it easier to write portable scripts between CPython and MicroPython.
| * extmod/vfs: Allow to statvfs the root directory.Damien George2017-06-07
| |
| * stmhal: Add support for NUCLEO_F446RE board.Dave Hylands2017-06-07
| |
| * qemu-arm: Enable micropython.mem_*() functions to allow more tests.Paul Sokolovsky2017-06-06
| |
| * docs/network: First step to describe standard network class interface.Paul Sokolovsky2017-06-04
| | | | | | | | | | | | | | | | This adds description of implied AbstractNIC base class, which should be "subclasses" and implemented by a particular network device class. This is just an initial step in that direction, the API and description will be elabotated further.
| * extmod/modlwip: accept: Fix error code for non-blocking mode.Paul Sokolovsky2017-06-04
| | | | | | | | | | In non-blocking mode, if no pending connection available, should return EAGAIN, not ETIMEDOUT.
| * extmod/modlwip: Fix error codes for duplicate calls to connect().Paul Sokolovsky2017-06-04
| | | | | | | | | | | | | | | | If socket is already connected, POSIX requires returning EISCONN. If connection was requested, but not yet complete (for non-blocking socket), error code is EALREADY. http://pubs.opengroup.org/onlinepubs/7908799/xns/connect.html
| * extmod/modlwip: connect: For non-blocking mode, return EINPROGRESS.Paul Sokolovsky2017-06-03
| | | | | | | | | | Instead of ETIMEDOUT. This is consistent with POSIX: http://pubs.opengroup.org/onlinepubs/7908799/xns/connect.html
| * zephyr/modusocket: getaddrinfo: Fix mp_obj_len() usage.Paul Sokolovsky2017-06-03
| | | | | | | | | | Return value is mp_obj_t, so needs to be accessed using MP_OBJ_SMALL_INT_VALUE().
| * docs/machine: Sort machine classes in logical order, not alphabetically.Paul Sokolovsky2017-06-03
| | | | | | | | | | | | The list starts with the simplest functionality - GPIO, proceeds to communication interfaces (UART, SPI, I2C), the to time(r) related things, then everything else.
| * docs/uos: Move cc3200 port legacy VFS mounting functions to its ref doc.Paul Sokolovsky2017-06-03
| | | | | | | | | | This patch also unconditionalizes uos.dupterm(), though exact interface and semantics is yet to be defined.
| * docs/uos: Deconditionalize, remove minor port-specific details.Paul Sokolovsky2017-06-03
| | | | | | | | | | | | | | | | | | For a couple of ports, there was information which directory is set as current after boot. This information doesn't belong to "uos" module, and is moved to boards' references (which actually already contained information on which directory is chosen for boot, even if without explicit mentioning that it becomes current directory, which is now done).
| * docs/network: Move confusingly-named cc3200 Server class to its reference.Paul Sokolovsky2017-06-03
| | | | | | | | | | cc3200 port has network.Server class to control behavior of builtin Telnet/FTP server of that port.
| * docs/esp8266/quickref: Polish Pin.on()/off() examples.Paul Sokolovsky2017-06-02
| |
| * tests/basics/string_rsplit: Add tests for negative "maxsplit" argument.Damien George2017-06-02
| |
| * py/objstr: Catch case of negative "maxsplit" arg to str.rsplit().Damien George2017-06-02
| | | | | | | | | | Negative values mean no limit on the number of splits so should delegate to the .split() method.
| * lib/utils/interrupt_char: Remove support for KBD_EXCEPTION disabled.Damien George2017-06-02
| | | | | | | | | | If a port is using interrupt_char.c then it must enable MICROPY_KBD_EXCEPTION. This is the case for all official ports.
| * windows: Convert to use core-provided version of built-in import().Damien George2017-06-01
| |
| * unix: Convert to use core-provided version of built-in import().Damien George2017-06-01
| |
| * ports: Convert from using stmhal's input() to core provided version.Damien George2017-06-01
| |
| * py/modbuiltins: Add core-provided version of input() function.Damien George2017-06-01
| | | | | | | | | | | | | | The implementation is taken from stmhal/input.c, with code added to handle ctrl-C. This built-in is controlled by MICROPY_PY_BUILTINS_INPUT and is disabled by default. It uses readline() to capture input but this can be overridden by defining the mp_hal_readline macro.
| * lib/libm: Use isfinite instead of finitef, for C99 compatibility.Damien George2017-05-31
| |
| * stmhal/boards: Enable DAC for NUCLEO_F767ZI board.Damien George2017-05-30
| |
| * docs/esp8266: Consistently replace Pin.high/low methods with .on/off.Paul Sokolovsky2017-05-30
| |
| * docs/machine.Pin: Add on() and off() methods.Paul Sokolovsky2017-05-29
| |
| * docs/machine.Pin: Remove out_value() method.Paul Sokolovsky2017-05-29
| | | | | | | | | | | | | | | | This method isn't implemented in any port. It seemed to have originated in cc3200 port, but actually never was implemented there either. In general case, it's impossible to implement this method (for example, for a perfect GPO, which has only output latch without any feedback look into a CPU).