summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-11py/objint: Extract small int value directly because type is known.Damien George
2017-04-11unix, windows: Use core-provided KeyboardInterrupt exception object.Damien George
2017-04-11stmhal: Enable parsing of all Pin constructor args by machine.Signal.Damien George
2017-04-11extmod/machine_signal: Support all Pin's arguments to the constructor.Paul Sokolovsky
This implements the orginal idea is that Signal is a subclass of Pin, and thus can accept all the same argument as Pin, and additionally, "inverted" param. On the practical side, it allows to avoid many enclosed parenses for a typical declararion, e.g. for Zephyr: Signal(Pin(("GPIO_0", 1))). Of course, passing a Pin to Signal constructor is still supported and is the most generic form (e.g. Unix port will only support such form, as it doesn't have "builtin" Pins), what's introduces here is just practical readability optimization. "value" kwarg is treated as applying to a Signal (i.e. accounts for possible inversion).
2017-04-10py/runtime: When init'ing kbd intr exc, use tuple ptr instead of object.Damien George
2017-04-10py: Make sure that static emg-exc-buffer is aligned to size of mp_obj_t.Damien George
This buffer is used to allocate objects temporarily, and such objects require that their underlying memory be correctly aligned for their data type. Aligning for mp_obj_t should be sufficient for emergency exceptions, but in general the memory buffer should aligned to the maximum alignment of the machine (eg on a 32-bit machine with mp_obj_t being 4 bytes, a double may not be correctly aligned). This patch fixes a bug for certain nan-boxing builds, where mp_obj_t is 8 bytes and must be aligned to 8 bytes (even though the machine is 32 bit).
2017-04-09docs/uhashlib: Deconditionalize.Paul Sokolovsky
Notes on WiPy incompatibilities with the standard module API are moved under "Known issues" to its documentation.
2017-04-09docs/usocket: Deconditionalize.Paul Sokolovsky
Notes on WiPy incompatibilities with the standard socket module API are moved under "Known issues" to its documentation.
2017-04-09docs/utime: Deconditionalize description of sleep().Paul Sokolovsky
2017-04-09docs/library/machine.UART: Remove some conditionals.Paul Sokolovsky
2017-04-09cc3200/pybuart: Make parity specifications consistent with HW API.Paul Sokolovsky
parity=0 means even parity, parity=1 - odd.
2017-04-09docs/library/builtins: int: Add notice on byteorder param for to/from_bytes.Paul Sokolovsky
2017-04-08zephyr/machine_pin: Implement pin protocol for machine.Signal support.Paul Sokolovsky
2017-04-08zephyr/modmachine: Add Signal class.Paul Sokolovsky
2017-04-08zephyr/mpconfigport.h: Fix build if usocket module is disabled.Paul Sokolovsky
2017-04-08zephyr/modusocket: Implement accept().Paul Sokolovsky
2017-04-08zephyr/modusocket: socket_bind: Don't set recv callback on STREAM sockets.Paul Sokolovsky
For stream sockets, next exected operation is listen().
2017-04-07zephyr/modusocket: Implement listen().Paul Sokolovsky
2017-04-07docs/esp8266/general: Start explicit "Known Issues", mentioned RTC inaccuracy.Paul Sokolovsky
2017-04-07drivers/nrf24l01: Update to work on newer ports, using machine, utime.Damien George
Changes made are: - Use the time module in place of the pyb module for delays. - Use spi.read/spi.write instead of spi.send/spi.receive. - Drop some non-portable parameters to spi and pin initialization. Thanks to @deshipu for the original patch.
2017-04-07tools/pyboard: Provide more details when expected reply not received.Paul Sokolovsky
When trying to execute a command via raw REPL and expected "OK" reply not received, show what was received instead.
2017-04-06modusocket: Handle a case when recv_q is empty when EOF is signaled.Paul Sokolovsky
In this case, we can mark socket as closed directly.
2017-04-05zephyr/modusocket: Factor out "extended k_fifo API".Paul Sokolovsky
Internal structure of k_fifo changed between 1.7 and 1.8, so we need to abstract it away. This adds more functions than currently used, for future work.
2017-04-05docs/machine.Pin: Move wipy-specific methods to its docs.Paul Sokolovsky
2017-04-05tools/pyboard: ProcessPtyToTerminal: Add workaround for PySerial bug.Paul Sokolovsky
When working with a "virtual" port, like PTY. The issue described in http://stackoverflow.com/questions/34831131/pyserial-does-not-play-well-with-virtual-port
2017-04-05docs/machine.Pin: Move wipy-specific details to its own docs.Paul Sokolovsky
2017-04-05cc3200/modmachine: Return frequency value directly, like other ports.Paul Sokolovsky
2017-04-05docs/machine.SPI: Remove outdated wipy chunk.Paul Sokolovsky
2017-04-05docs/uos: De-conditionalize statvfs() description.Paul Sokolovsky
It's a standard function, and it's already described (in the library intro) that for any given port, any function may be missing.
2017-04-05docs/utime: De-conditionalize description of sleep_ms() and friends.Paul Sokolovsky
These are basic MicroPython API, and all ports should implement them.
2017-04-05tests/basics: Add test for tuple inplace add.Damien George
2017-04-05py/objtuple: Add support for inplace add (same as normal add).Damien George
2017-04-05tests/basics: Add tests for raising ValueError when range() gets 0 step.Damien George
2017-04-05py: Raise a ValueError if range() step is zero.Damien George
Following CPython. Otherwise one gets either an infinite loop (if code is optimised by the uPy compiler) or possibly a divide-by-zero CPU exception.
2017-04-05tools/pyboard: execpty: Use shell=False to workaround some curdir issues.Paul Sokolovsky
Without this, Zephyr's port "make test" doesn't work.
2017-04-05zephyr/Makefile: Add "test" target, runs testsuite in QEMU.Paul Sokolovsky
2017-04-04tools/pyboard: Add "exec" and "execpty" pseudo-devices support.Paul Sokolovsky
This allows to execute a command and communicate with its stdin/stdout via pipes ("exec") or with command-created pseudo-terminal ("execpty"), to emulate serial access. Immediate usecase is controlling a QEMU process which emulates board's serial via normal console, but it could be used e.g. with helper binaries to access real board over other hadware protocols, etc. An example of device specification for these cases is: --device exec:../zephyr/qemu.sh --device execpty:../zephyr/qemu2.sh Where qemu.sh contains long-long qemu startup line, or calls another command. There's a special support in this patch for running the command in a new terminal session, to support shell wrappers like that (without new terminal session, only wrapper script would be terminated, but its child processes would continue to run).
2017-04-04zephyr/zephyr_getchar: Explicitly yield to other threads on char availability.Paul Sokolovsky
Without this, if there's a large chunk of data coming from hardware (e.g. clipboard paste, or fed programmatically from the other side of the console), there's a behavior of initial mass fill-in of the buffer without any consumption, which starts much later and doesn't catch up with further filling, leading to buffer overflow.
2017-04-04extmod/modframebuf: Make monochrome bitmap formats start with MONO_.Peter Hinch
MONO_xxx is much easier to read if you're not familiar with the code. MVLSB is deprecated but kept for backwards compatibility, for the time being. This patch also updates the associated docs and tests.
2017-04-04py/objint: Consolidate mp_obj_new_int_from_float to one implementation.Damien George
This reduces code duplication and allows to make mp_classify_fp_as_int static, which reduces code size.
2017-04-04stmhal/usbd_cdc_interface: Change CDC RX to use a circular buffer.Damien George
This should be a little more efficient (since we anyway scan the input packet for the interrupt char), and it should also fix any non-atomic read issues with the buffer state being changed during an interrupt. Throughput tests show that RX rate is unchanged by this patch.
2017-04-04stmhal/usbd_cdc_interface: Increase in-endpoint timeout to 500ms.Damien George
The previous timeout value of 150ms could lead to data being lost (ie never received by the host) in some rare cases, eg when the host is under load. A value of 500ms is quite conservative and allows the host plenty of time to read our data.
2017-04-04zephyr/modusocket: Factor out socket_new() function.Paul Sokolovsky
It will be reused e.g. for accept() implementation.
2017-04-04zephyr/modusocket: Be sure to use MP_OBJ_FROM_PTR.Paul Sokolovsky
2017-04-04tests/run-tests: Update names of tests that may need skipping.Damien George
2017-04-04tests/float: Add tests for hashing float and complex numbers.Damien George
2017-04-04py: Add very simple but correct hashing for float and complex numbers.Damien George
Hashing of float and complex numbers that are exact (real) integers should return the same integer hash value as hashing the corresponding integer value. Eg hash(1), hash(1.0) and hash(1+0j) should all be the same (this is how Python is specified: if x==y then hash(x)==hash(y)). This patch implements the simplest way of doing float/complex hashing by just converting the value to int and returning that value.
2017-04-04docs/library/btree: Add btree module docs.Paul Sokolovsky
2017-04-03zephyr/prj_base.conf: Add config for net_buf logging.Paul Sokolovsky
Disabled by default.
2017-04-03tests/run-tests: Introduce generic "minimal" target.Paul Sokolovsky
Used e.g. by Zephyr port.