| Age | Commit message (Collapse) | Author |
|
|
|
|
|
These are incorrect since 5a2599d96299ad37cda954f1de345159f9acf11c
|
|
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).
|
|
Fixes issue #4795.
|
|
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.
|
|
So it fits better with existing narrative.
|
|
A global definition of MP_NOINLINE was added to py/mpconfig.h long ago in
0f5bf1aafe0ca073d958f271bd96addc6da8fe10
|
|
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.
|
|
|
|
This ; make Windows compilation fail with GNU makefile 4.2.1. It was added
in 0dc85c9f86735c35cf14555482b2c8923cf31a6a as part of a shell if-
statement, but this if-statement was subsequently removed in
23a693ec2d8c2a194f61482dc0e1adb070fb6ad4 so the semicolon is not needed.
|
|
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.
|
|
|
|
|
|
|
|
As part of this, ctrl-C is now able to interrupt a running program.
|
|
Defining NRFX_STATIC_ASSERT macro to be empty, but available
to nrfx.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
On stm32 boards, machine.I2C is now preferred over pyb.I2C.
|
|
|
|
Fixes issue #3482.
|
|
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.
|
|
|
|
|
|
|
|
|
|
API is:
int transfer(
mp_obj_base_t *obj,
uint16_t addr,
size_t n,
mp_machine_i2c_buf_t *bufs,
unsigned int flags
)
|
|
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.
|
|
Fixes issue #4794.
|
|
|
|
For modules I initially created or made substantial contributions to.
|
|
Recent gcc versions (at least 9.1) give a warning about using "sp" in the
clobber list. Such code is removed by this patch. A dedicated function is
instead used to set SP and branch to the bootloader so the code has full
control over what happens.
Fixes issue #4785.
|
|
This also fixes deleting the PPP task, since eTaskGetState() never returns
eDeleted.
A limitation with this patch: once the PPP is deactivated (ppp.active(0))
it cannot be used again. A new PPP instance must be created instead.
|
|
|
|
|
|
Only the M4 and M7 MCUs have an FPU and FPU_IRQn, and FPU_IRQn is not
always the last entry/IRQ number.
|
|
The H7 HAL uses SPI IRQs when the SPI is running in DMA mode.
|
|
This is required for the H7 DMA to work.
|
|
The user can now select their own package index by either passing the "-i"
command line option, or setting the upip.index_urls variable (before doing
an install).
The https://micropython.org/pi package index hosts packages from
micropython-lib and will be searched first when installing a package. If a
package is not found here then it will fallback to PyPI.
|
|
|
|
This allows figuring out the number of bytes in the memoryview object as
len(memview) * memview.itemsize.
The feature is enabled via MICROPY_PY_BUILTINS_MEMORYVIEW_ITEMSIZE and is
disabled by default.
|
|
Follow up to commit 34942d0a72980173eca51b201f271f67bcae46b5
|
|
Fixes issue #4780.
|
|
|
|
|