aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-17stm32/modnwwiznet5k: Increase SPI bus speed to 42MHz.Damien George
The W5200 and W5500 can support up to 80MHz so 42MHz (the maximum the pyboard can do in its standard configuration) should be safe. Tested to give around 1050000 kbytes/sec TCP download speed on a W5500, which is about 10% more than with the previous SPI speed of 21MHz.
2017-10-16docs/library/network: Update docs to state that W5500 is supported.Damien George
2017-10-16travis: Update build command now that stm32 Wiznet config has changed.Damien George
2017-10-16stm32/modnwwiznet5k: Add support for W5500 Ethernet chip.Damien George
Which Wiznet chip to use is a compile-time option: MICROPY_PY_WIZNET5K should be set to either 5200 or 5500 to support either one of these Ethernet chips. The driver is called network.WIZNET5K in both cases. Note that this commit introduces a breaking-change at the build level because previously the valid values for MICROPY_PY_WIZNET5K were 0 and 1 but now they are 0, 5200 and 5500.
2017-10-16drivers/wiznet5k: Get low-level W5500 driver working.Damien George
This patch implements the basic SPI read/write functions for the W5500 chip. It also allows _WIZCHIP_ to be configured externally to select the specific Wiznet chip.
2017-10-16drivers/wiznet5k: Improve the performance of socket ops with threading.Li Weiwei
Use MICROPY_THREAD_YIELD() instead of HAL_Delay in busy waiting to improve the performance of connect, send, recv, sento and recvfrom.
2017-10-16stm32/mpconfigport.h: Add MICROPY_THREAD_YIELD() macro.Li Weiwei
2017-10-16stm32/modusocket: Return OSError(-2) if getaddrinfo fails.Damien George
This matches the behaviour of getaddrinfo in extmod/modlwip.c.
2017-10-16stm32/modusocket: Make getaddrinfo() work when passed an IP address.Damien George
2017-10-16stm32/modnwwiznet5k: Implement WIZNET5K.isconnected() method.Damien George
2017-10-15README: Add explicit section on contributing.Paul Sokolovsky
To increase visibility of Contributors' Guidelines and Code Conventions docs.
2017-10-13extmod/uos_dupterm: Update uos.dupterm() and helper funcs to have index.Damien George
The uos.dupterm() signature and behaviour is updated to reflect the latest enhancements in the docs. It has minor backwards incompatibility in that it no longer accepts zero arguments. The dupterm_rx helper function is moved from esp8266 to extmod and generalised to support multiple dupterm slots. A port can specify multiple slots by defining the MICROPY_PY_OS_DUPTERM config macro to an integer, being the number of slots it wants to have; 0 means to disable the dupterm feature altogether. The unix and esp8266 ports are updated to work with the new interface and are otherwise unchanged with respect to functionality.
2017-10-13stm32/usbd_cdc_interface.h: Fix code comments after recent refactor.Li Weiwei
2017-10-13stm32/usbd_cdc_interface: Don't reset CDC output buf on initialisation.Damien George
So that characters can be buffered before the USB device is connected (restoring behviour of the driver before recent state refactoring).
2017-10-12py/emitnative: Simplify binary op emitter, no need to check inplace ops.Damien George
2017-10-11py/emitnative: Implement floor-division and modulo for viper emitter.Damien George
2017-10-11esp8266/modules/webrepl_setup: Add info about allowed password length.Vitor Massaru Iha
This patch also makes the code more concise by combining the checks for the password length.
2017-10-11docs/library: Add missing cross-ref links for classes in pyb module.Mike Causer
2017-10-11py/modbuiltins: Use existing utf8_get_char helper in builtin ord func.Damien George
2017-10-10py/formatfloat: Use standard isinf, isnan funcs instead of custom ones.Damien George
Reduces code size by a tiny bit.
2017-10-10py/formatfloat: Don't print the negative sign of a NaN value.Damien George
NaN may have the sign bit set but it has no meaning, so don't print it out.
2017-10-10lib/libm: Remove implementation of log2f, use MP_NEED_LOG2 instead.Damien George
2017-10-10py/modmath: Convert log2 macro into a function.Damien George
So that a pointer to it can be passed as a pointer to math_generic_1. This patch also makes the function work for single and double precision floating point.
2017-10-10py/modmath: Add full checks for math domain errors.Damien George
This patch changes how most of the plain math functions are implemented: there are now two generic math wrapper functions that take a pointer to a math function (like sin, cos) and perform the necessary conversion to and from MicroPython types. This helps to reduce code size. The generic functions can also check for math domain errors in a generic way, by testing if the result is NaN or infinity combined with finite inputs. The result is that, with this patch, all math functions now have full domain error checking (even gamma and lgamma) and code size has decreased for most ports. Code size changes in bytes for those with the math module are: unix x64: -432 unix nanbox: -792 stm32: -88 esp8266: +12 Tests are also added to check domain errors are handled correctly.
2017-10-10docs/esp8266/quickref: Add quickref info for RTC class.Mike Causer
2017-10-10docs/pyboard/tutorial: Update now that yellow LED also supports PWM.Mike Causer
2017-10-10docs/pyboard/quickref: Add info for Switch, RTC, CAN, Accel classes.Mike Causer
2017-10-10py/bc: Update opcode_format_table to match the bytecode.Damien George
2017-10-09docs/library/network: Clarify usage of "bssid" arg in connect() method.Damien George
2017-10-09esp8266/modnetwork: Add "bssid" keyword arg to WLAN.connect() method.Damien George
2017-10-09examples: hwconfig_console: Add .on()/.off() methods.Paul Sokolovsky
Add these methods to this "GPIO output emulated with console prints" config.
2017-10-08tools/pyboard: Update docstring for additional device support.Paul Sokolovsky
2017-10-07zephyr: Switch to interrupt-driven pull-style console.Paul Sokolovsky
While this console API improves handling on real hardware boards (e.g. clipboard paste is much more reliable, as well as programmatic communication), it vice-versa poses problems under QEMU, apparently because it doesn't emulate UART interrupt handling faithfully. That leads to inability to run the testsuite on QEMU at all. To work that around, we have to suuport both old and new console routines, and use the old ones under QEMU.
2017-10-07tests/run-tests: Close device under test using "finally".Paul Sokolovsky
We want to close communication object even if there were exceptions somewhere in the code. This is important for --device exec:/execpty: which may otherwise leave processing running in the background.
2017-10-07zephyr: Use CONFIG_NET_APP_SETTINGS to setup initial network addresses.Paul Sokolovsky
Ideally, these should be configurable from Python (using network module), but as that doesn't exist, we better off using Zephyr's native bootstrap configuration facility.
2017-10-06stm32/boards: Fix typos in stm32f767_af.csv table.Damien George
2017-10-06drivers/display/ssd1306: Make poweron() work the same with SSD1306_SPI.Damien George
The poweroff() and poweron() methods are used to do soft power control of the display, and this patch makes these methods work the same for both I2C and SPI interfaces.
2017-10-06drivers/display/ssd1306: Implement SSD1306_I2C poweron method.Tiago Queiroz
After a poweroff(), the poweron() method does a soft power-on and any previous state of the display persists.
2017-10-05tools/pyboard: Use repr() when quoting data in error messages.Paul Sokolovsky
As it may contain newlines, etc.
2017-10-05tests/extmod: Add test for '-' in character class in regex.Damien George
2017-10-05stm32/modnwwiznet5k: Get the IP address of an established socket.Li Weiwei
When wiznet5k_socket_accept is called, if a socket is established, get the IP address of the socket.
2017-10-05py/persistentcode: Bump .mpy version number to version 3.Damien George
The binary and unary ops have changed bytecode encoding.
2017-10-05py/objtype: Clean up unary- and binary-op enum-to-qstr mapping tables.Damien George
2017-10-05py: Clean up unary and binary enum list to keep groups together.Damien George
2 non-bytecode binary ops (NOT_IN and IN_NOT) are moved out of the bytecode group, so this change will change the bytecode format.
2017-10-04lib/libm: Fix tanhf so that it correctly handles +/- infinity args.Damien George
2017-10-04py/mpprint: Only check for null string printing when NDEBUG not defined.Damien George
Printing "(null)" when a NULL string pointer is passed to %s is a debugging feature and not a feature that's relied upon by the code. So it only needs to be compiled in when debugging (such as assert) is enabled, and saves roughy 30 bytes of code when disabled. This patch also fixes this NULL check to not do the check if the precision is specified as zero.
2017-10-04py/objstr: Make empty bytes object have a null-terminating byte.Damien George
Because a lot of string processing functions assume there is a null terminating byte, so they can work in an efficient way. Fixes issue #3334.
2017-10-04all: Remove inclusion of internal py header files.Damien George
Header files that are considered internal to the py core and should not normally be included directly are: py/nlr.h - internal nlr configuration and declarations py/bc0.h - contains bytecode macro definitions py/runtime0.h - contains basic runtime enums Instead, the top-level header files to include are one of: py/obj.h - includes runtime0.h and defines everything to use the mp_obj_t type py/runtime.h - includes mpstate.h and hence nlr.h, obj.h, runtime0.h, and defines everything to use the general runtime support functions Additional, specific headers (eg py/objlist.h) can be included if needed.
2017-10-04py/objtype: Change type of enum-to-qstr table to uint16_t to save space.Damien George
Qstr values fit in 16-bits (and this fact is used elsewhere in the code) so no need to use more than that for the large lookup tables. The compiler will anyway give a warning if the qstr values don't fit in 16 bits. Saves around 80 bytes of code space for Thumb2 archs.
2017-10-04docs/esp8266/tutorial: Update neopixel with example of using 4 bbp.Gabe