- 29 May, 2019 1 commit
-
-
Andrew Leech authored
Otherwise flushing and disabling the D-cache will give a hard-fault when SDRAM is used. Fixes #4818.
-
- 28 May, 2019 5 commits
-
-
Damien George authored
In d5f0c87b this call to tcp_poll() was added to put a timeout on closing TCP sockets. But after calling tcp_close() the PCB may be freed and therefore invalid, so tcp_poll() can not be used at that point. As a fix this commit calls tcp_poll() before closing the TCP PCB. If the PCB is subsequently closed and freed by tcp_close() or tcp_abort() then the PCB will not be on any active list and the callback will not be executed, which is the desired behaviour (the _lwip_tcp_close_poll() callback only needs to be called if the PCB remains active for longer than the timeout).
-
Damien George authored
Commit 2848a613 introduced a bug where lwip_socket_free_incoming() accessed pcb.tcp->state after the PCB was closed. The state may have changed due to that close call, or the PCB may be freed and therefore invalid. This commit fixes that by calling lwip_socket_free_incoming() before the PCB is closed.
-
Damien George authored
EAGAIN should be for pure non-blocking mode and ETIMEDOUT for when there is a finite (but non-zero) timeout enabled.
-
Damien George authored
-
Tom Manning authored
-
- 27 May, 2019 1 commit
-
-
Damien George authored
These are incorrect since 5a2599d9
-
- 24 May, 2019 5 commits
-
-
Andrew Leech authored
Set the active MPU region to the actual size of SDRAM configured and invalidate the rest of the memory-mapped region, to prevent errors due to CPU speculation. Also update the attributes of the SDRAM region as per ST recommendations, and change region numbers to avoid conflicts elsewhere in the codebase (see eth usage).
-
Damien George authored
Fixes issue #4795.
-
Paul Sokolovsky authored
I2C can't be enabled in prj_base.conf because it's a board-specific feature. For example, if a board doesn't have I2C but CONFIG_I2C=y then the build will fail (on Zephyr build system side). The patch here gets the qemu_cortex_m3 build working again.
-
Paul Sokolovsky authored
So it fits better with existing narrative.
-
Damien George authored
A global definition of MP_NOINLINE was added to py/mpconfig.h long ago in 0f5bf1aa
-
- 23 May, 2019 2 commits
-
-
stijn authored
This enables going back to previous wrapped lines using backspace or left arrow: instead of just sticking to the beginning of a line, the cursor will move a line up.
-
Andrew Leech authored
-
- 22 May, 2019 6 commits
-
-
Sebastien Rinsoz authored
This ; make Windows compilation fail with GNU makefile 4.2.1. It was added in 0dc85c9f as part of a shell if- statement, but this if-statement was subsequently removed in 23a693ec so the semicolon is not needed.
-
Sebastien Rinsoz authored
The variable $(TOUCH) is initialized with the "touch" value in mkenv.mk like for the other command line tools (rm, echo, cp, mkdir etc). With this, for example, Windows users can specify the path of touch.exe.
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
As part of this, ctrl-C is now able to interrupt a running program.
-
- 21 May, 2019 7 commits
-
-
Glenn Ruben Bakke authored
Defining NRFX_STATIC_ASSERT macro to be empty, but available to nrfx.
-
Glenn Ruben Bakke authored
Updating the nrfx git submodule containing HAL drivers for nrf-port from v1.3.1 to current master. The version pointed to is one commit ahead of v1.7.1 release. The extra commit contains a bugfix for nrfx_uart_tx_in_progress() making it report correctly. The general upgrade of nrfx is considered to be safe, as almost all changes in between 1.3.1 and 1.7.1 are related to peripherals and target devices not used by the nrf-port as of today.
-
Sébastien Rinsoz authored
The variable $(CAT) is initialised with the "cat" value in mkenv.mk like for the other command line tools (rm, echo, cp, mkdir etc). With this, for example, Windows users can specify the path of cat.exe.
-
stijn authored
Reuse the implementation for bytes since it works the same way regardless of the underlying type. This method gets added for CPython compatibility of bytearray, but to keep the code simple and small array.array now also has a working decode method, which is non-standard but doesn't hurt.
-
Damien George authored
On MCUs that have an I2C TIMINGR register, this can now be explicitly set via the "timingr" keyword argument to the I2C constructor, for both machine.I2C and pyb.I2C. This allows to configure precise timing values when the defaults are inadequate.
-
Damien George authored
-
Andrew Leech authored
Previously the hardware I2C timeout was hard coded to 50ms which isn't guaranteed to be enough depending on the clock stretching specs of the I2C device(s) in use. This patch ensures the hardware I2C implementation honors the existing timeout argument passed to the machine.I2C constructor. The default timeout for software and hardware I2C is now 50ms.
-
- 20 May, 2019 11 commits
-
-
Damien George authored
On stm32 boards, machine.I2C is now preferred over pyb.I2C.
-
Damien George authored
-
Damien George authored
Fixes issue #3482.
-
Damien George authored
For example: i2c.writevto(addr, (buf1, buf2)). This allows to efficiently (wrt memory) write data composed of separate buffers, such as a command followed by a large amount of data.
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
API is: int transfer( mp_obj_base_t *obj, uint16_t addr, size_t n, mp_machine_i2c_buf_t *bufs, unsigned int flags )
-
Damien George authored
This allows to efficiently send to an I2C slave data that is made up of more than one buffer. Instead of needing to allocate temporary memory to combine buffers together this new method allows to pass in a tuple or list of buffers. The name is based on the POSIX function writev() which has similar intentions and signature. The reasons for taking this approach (compared to having an interface with separate start/write/stop methods) are: - It's a backwards compatible extension. - It's convenient for the user. - It's efficient because there is only one Python call, then the C code can do everything in one go. - It's efficient on the I2C bus because the implementation can do everything in one go without pauses between blocks of bytes. - It should be possible to implement this extension in all ports, for hardware and software I2C. Further discussion is found in issue #3482, PR #4020 and PR #4763.
-
Damien George authored
Fixes issue #4794.
-
- 17 May, 2019 2 commits
-
-
Damien George authored
-
Paul Sokolovsky authored
For modules I initially created or made substantial contributions to.
-