summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-04docs/network: First step to describe standard network class interface.Paul Sokolovsky
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.
2017-06-04extmod/modlwip: accept: Fix error code for non-blocking mode.Paul Sokolovsky
In non-blocking mode, if no pending connection available, should return EAGAIN, not ETIMEDOUT.
2017-06-04extmod/modlwip: Fix error codes for duplicate calls to connect().Paul Sokolovsky
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
2017-06-03extmod/modlwip: connect: For non-blocking mode, return EINPROGRESS.Paul Sokolovsky
Instead of ETIMEDOUT. This is consistent with POSIX: http://pubs.opengroup.org/onlinepubs/7908799/xns/connect.html
2017-06-03zephyr/modusocket: getaddrinfo: Fix mp_obj_len() usage.Paul Sokolovsky
Return value is mp_obj_t, so needs to be accessed using MP_OBJ_SMALL_INT_VALUE().
2017-06-03docs/machine: Sort machine classes in logical order, not alphabetically.Paul Sokolovsky
The list starts with the simplest functionality - GPIO, proceeds to communication interfaces (UART, SPI, I2C), the to time(r) related things, then everything else.
2017-06-03docs/uos: Move cc3200 port legacy VFS mounting functions to its ref doc.Paul Sokolovsky
This patch also unconditionalizes uos.dupterm(), though exact interface and semantics is yet to be defined.
2017-06-03docs/uos: Deconditionalize, remove minor port-specific details.Paul Sokolovsky
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).
2017-06-03docs/network: Move confusingly-named cc3200 Server class to its reference.Paul Sokolovsky
cc3200 port has network.Server class to control behavior of builtin Telnet/FTP server of that port.
2017-06-02docs/esp8266/quickref: Polish Pin.on()/off() examples.Paul Sokolovsky
2017-06-02tests/basics/string_rsplit: Add tests for negative "maxsplit" argument.Damien George
2017-06-02py/objstr: Catch case of negative "maxsplit" arg to str.rsplit().Damien George
Negative values mean no limit on the number of splits so should delegate to the .split() method.
2017-06-02lib/utils/interrupt_char: Remove support for KBD_EXCEPTION disabled.Damien George
If a port is using interrupt_char.c then it must enable MICROPY_KBD_EXCEPTION. This is the case for all official ports.
2017-06-01windows: Convert to use core-provided version of built-in import().Damien George
2017-06-01unix: Convert to use core-provided version of built-in import().Damien George
2017-06-01ports: Convert from using stmhal's input() to core provided version.Damien George
2017-06-01py/modbuiltins: Add core-provided version of input() function.Damien George
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.
2017-05-31lib/libm: Use isfinite instead of finitef, for C99 compatibility.Damien George
2017-05-30stmhal/boards: Enable DAC for NUCLEO_F767ZI board.Damien George
2017-05-30docs/esp8266: Consistently replace Pin.high/low methods with .on/off.Paul Sokolovsky
2017-05-29docs/machine.Pin: Add on() and off() methods.Paul Sokolovsky
2017-05-29docs/machine.Pin: Remove out_value() method.Paul Sokolovsky
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).
2017-05-29various: Spelling fixesVille Skyttä
2017-05-26qemu-arm/Makefile: Adjust object-file lists to get correct dependencies.Damien George
With this change both the "run" and "test" targets can be built with -j passed to make.
2017-05-26docs: Bump version to 1.9.v1.9Damien George
2017-05-26unix/Makefile: Don't add frozen bytecode to minimal build.Damien George
2017-05-26zephyr/modusocket: Use DEBUG_PRINT macro name as other modules do.Paul Sokolovsky
Indeed, just "DEBUG" is too generic.
2017-05-26esp8266/mpconfigport.h: Remove duplicate link to lwip module.Damien George
It's already included in the core when MICROPY_PY_LWIP is defined.
2017-05-26esp8266/modules: Mount filesystem at root when creating for first time.Damien George
2017-05-26py/objstringio: Catch mp_uint_t overflow of stream position in write().Tom Collins
2017-05-26mpy-cross/Makefile: Guard "override undefine" by test for make feature.Damien George
make v3.81 doesn't have "undefine" so we can't use it with that version.
2017-05-26py/mkrules.mk: Fix auto-qstr generation when "make -B" is used.Damien George
For make v3.81, using "make -B" can set $? to empty and in this case the auto-qstr generation needs to pass all args (ie $^) to cpp. The previous fix for this (which was removed in 23a693ec2d8c2a194f61482dc0e1adb070fb6ad4) used if statements in the shell command, which gave very long lines that didn't work on certain systems (eg cygwin). The fix in this patch is to use an $if(...) expression, which will evaluate to $? (only newer prerequisites) if it's non empty, otherwise it will use $^ (all prerequisites).
2017-05-25tests/basics: Add more tests for unwind jumps from within a try-finally.Damien George
These tests excercise cases that are fixed by the previous two commits.
2017-05-25py/emitbc: Fix bug with BC emitter computing Python stack size.Damien George
Previous to this patch the mp_emit_bc_adjust_stack_size function would adjust the current stack size but would not increase the maximum stack size if the current size went above it. This meant that certain Python code (eg a try-finally block with no statements inside it) would not have enough Python stack allocated to it. This patch fixes the problem by always checking if the current stack size goes above the maximum, and adjusting the latter if it does.
2017-05-25py/vm: Fix bug with unwind jump popping the iterator from a for loop.Damien George
This patch fixes a regression introduced by 088740ecc40476fd0796a3ef6a68ee7c677eae64
2017-05-25py/vm: Fix bug with stackless mode and unwinding of exceptions.Damien George
This patch fixes a regression introduced by 71a3d6ec3bd02c5bd13334537e1bd146bb643bad Previous to this patch the n_state variable was referring to that computed at the very start of the mp_execute_bytecode function. This patch fixes it so that n_state is recomputed when the code_state changes.
2017-05-24zephyr/modusocket: getaddrinfo: Raise OSError on resolution timeout, etc.Paul Sokolovsky
2017-05-21drivers: Replace deprecated Pin.high()/low() methods with .__call__(1/0).Paul Sokolovsky
2017-05-21esp8266, stmhal, zephyr: Rename machine.Pin high/low methods to on/off.Paul Sokolovsky
For consistent Pin/Signal class hierarchy. With it, Signal is a proper (while still ducktyped) subclass of a Pin, and any (direct) usage of Pin can be replace with Signal. As stmhal's class is reused both as machine.Pin and legacy pyb.Pin, high/low methods actually retained there.
2017-05-21CODECONVENTIONS: Typo fix.Paul Sokolovsky
2017-05-21library/machine.Pin: Remove .id() method and .board class attr.Paul Sokolovsky
Both aren't part of generic Hardware API: It's impossible to implement .id() method in a generic case (e.g., when Pin is instantiated by the underlying OS/RTOS). .board attribute is an obvious space hog which instead can be implemented on Python level if needed.
2017-05-21cc3200/mods/pybpin: Remove toggle() method.Paul Sokolovsky
It's not part of MicroPython HW API and can be easily implemented on Python level in case of need. Saved 56 bytes of binary.
2017-05-19py/mkenv.mk: Use $(TOP) instead of ".." to reference tools, mpy-cross.Damien George
2017-05-19docs/library/machine.UART: Update and improve uart.any() docs.Damien George
2017-05-19esp8266/machine_uart: Add uart.any() method.Damien George
Returns 0 or 1, corresponding to no or at least 1 char waiting.
2017-05-18tests/basics/builtin_range: Add tests for negative slicing of range.Damien George
2017-05-18py/objrange: Fix slicing of range when step of slice is negative.Damien George
2017-05-18tests/basics/list_slice_3arg: Add more tests for negative slicing.Damien George
2017-05-18py/sequence: Fix boundary errors when slicing with a negative step.Damien George
2017-05-18docs/library/micropython: Document the newer micropython functions.Damien George