| Age | Commit message (Collapse) | Author |
|
- mpconfigboard.h: flash and USART config
- mpconfigboard.mk: enable LFS1
- pins.c: define pins and LEDs
- pins.h: define structs and consts
|
|
- mpconfigboard.h: flash and USART config
- mpconfigboard.mk: enable LFS1
- pins.c: define pins and LEDs
- pins.h: define structs and consts
|
|
- mpconfigboard.h: flash and USART config
- mpconfigboard.mk: enable LFS1
- pins.c: define pins and LEDs
- pins.h: define structs and consts
|
|
|
|
|
|
The board specific #defines will be moved to individual boards.
|
|
- Makefile: update to use new ASF4 files, support frozen manifest, and
include source files in upcoming commits
- boards/manifest.py: add files to freeze
- boards/samd51p19a.ld: add linker script for this MCU
- help.c: add custom help text
- main.c: execute _boot.py, boot.py and main.py on start-up
- modules/_boot.py: startup file to freeze
- modutime.c: add gmtime, localtime, mktime, time functions
- mpconfigport.h: enabled more features for sys and io and modules
- mphalport.h: add mp_hal_pin_xxx macros
- mphalport.c: add mp_hal_stdio_poll
|
|
|
|
Don't force the 'HAL' string to be part of the platform string because
it doesn't have a sensible meaning for all possible platforms, and
swap it with the PLATFORM_ARCH string so the strings which most platforms
have come first.
|
|
|
|
Following a similar change to the unix port in
6430cd3e02d4ec4a8fc949754b434f745b1973e6
|
|
Although the pyboard has only 4 LEDs, there are some boards that (may) have
more. This commit adds 2 more LEDs to the led.c file that if defined in
the board-specific config file will be compiled in.
|
|
This commit swaps the dimensions of the `framebuffer.FrameBuffer` in the
docs example from 10x100 to 100x10 pixels to avoid clipping.
This is done to better fit the subsequent example code, which writes
text of size 96x8 followed by a 96x1 horizontal line.
The y coordinate of the horizontal line is also adjusted such that it is
drawn inside of the new canvas bounds.
|
|
Used batch mode to get rid of the confirmation prompt on flashing.
Used 'compare-sections' to verify flash.
Removed the unnecessary `quit` at the end.
|
|
Expected result of const.py will be matched only when MICROPY_COMP_CONST is
enabled. For easy understanding, added description at the first of the
test code.
|
|
Fixes issue #5882.
|
|
Some toolchains will have string.h defining various macros which can lead
to compile errors for string function implementations. Not including
string.h fixes this.
An implementation of __memcpy_chk is provided for toolchains that enable
_FORTIFY_SOURCE.
Fixes issue #6046.
Signed-off-by: Alexey 'alexxy' Shvetsov <alexxyum@gmail.com>
|
|
Use getrandom function if available, otherwise read from /dev/urandom.
Signed-off-by: Henk.Vergonet@gmail.com
|
|
Because machine.bitstream is now implemented on the rp2 port.
|
|
Timing error is ~20ns at 125MHz, and ~10ns at 250MHz.
|
|
The initial code disabled IRQs, which caused the us-ticks timer to stop.
The change here changes the priotity level, such that the timer still runs.
|
|
- Add board.md files for MIMXRT1060_EVK and MIMXRT1064_EVK warning about
their experimental state.
- Add separate deploy_teensy.md and deploy_mimxrt.md files.
|
|
The ARCH MIX board exposes the Ethernet Pins at it's connectors. Therefore
the software is configured for using a LAN8720 PHY device. Breakout boards
with the LAN8720 are easily available.
|
|
|
|
|
|
This commit integrates the Nina-W10 driver as an optional component in the
rp2 port.
|
|
- Add WiFi/BT drivers for ublox Nina-W10 (esp32 based) module.
- Add ublox Nina-W10 Python module in extmod.
|
|
This commit adds I2S protocol support for the rp2 port:
- I2S API is consistent with STM32 and ESP32 ports
- I2S configurations supported:
- master transmit and master receive
- 16-bit and 32-bit sample sizes
- mono and stereo formats
- sampling frequency
- 3 modes of operation:
- blocking
- non-blocking with callback
- uasyncio
- internal ring buffer size can be tuned
- DMA IRQs are managed on an I2S object basis, allowing other
RP2 entities to use DMA IRQs when I2S is not being used
- MicroPython documentation
- tested on Raspberry Pi Pico development board
- build metric changes for this commit: text(+4552), data(0), bss(+8)
Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
|
|
This change eliminates the risk of the IRQ callback accessing invalid data.
Discussed here:
https://github.com/micropython/micropython/pull/7183#discussion_r660209875
Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
|
|
Eliminate noise data from being sent to the I2S peripheral when the
transmitted sample stream is stopped.
Signed-off-by: Mike Teachman <mike.teachman@gmail.com>
|
|
The latest ESP-IDF v5.0-dev declares MAJOR_VERSION 5 and MINOR_VERSION 0.
timer_ll_set_alarm_enable() is also changed to timer_ll_set_alarm_value().
|
|
Costs 612 bytes of code space.
Signed-off-by: Damien George <damien@micropython.org>
|
|
Any board with a board.json file will be automatically built.
Signed-off-by: Damien George <damien@micropython.org>
|
|
Now that there are feature levels, and that this port uses
MICROPY_CONFIG_ROM_LEVEL_MINIMUM, it's easy to see what optional features
can be disabled. And this commit disables them.
Signed-off-by: Damien George <damien@micropython.org>
|
|
Word-size specific configuration is now done automatically, so it no longer
requires this to match the ARM configuration.
Also it's less common to have 32-bit compilation support installed, so this
will make it work "out of the box" for more people.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
|
|
|
|
|
|
This makes it possible for cooperative multitasking systems to keep running
event loops during garbage collector operations.
For example, this can be used to ensure that a motor control loop runs
approximately each 5 ms. Without this hook, the loop time can jump to
about 15 ms.
Addresses #3475.
Signed-off-by: Laurens Valk <laurens@pybricks.com>
|
|
Computed goto costs 1800 bytes for 5-10% performance.
Map caching and attr fast path costs 130 bytes for up to 30%.
Net effect of those three optimisations:
bm_chaos.py +16.059% (+/-0.09%)
bm_fannkuch.py +11.145% (+/-0.01%)
bm_fft.py +14.604% (+/-0.01%)
bm_float.py +26.849% (+/-0.08%)
bm_hexiom.py +34.039% (+/-0.03%)
bm_nqueens.py +18.333% (+/-0.06%)
bm_pidigits.py +4.472% (+/-0.03%)
misc_aes.py +28.765% (+/-0.09%)
misc_mandel.py +27.116% (+/-0.05%)
misc_pystone.py +40.299% (+/-0.20%)
misc_raytrace.py +22.812% (+/-0.07%)
Also enable other EXTRA-level optimisations (module const, return_if_expr,
triple_tuple_assign, factorial, mpz bitwise).
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
|
|
This is an stm32-specific feature that's accessed via the pyb module, so
not something that will be widely enabled.
Signed-off-by: Damien George <damien@micropython.org>
|
|
This commit is a no-op change to simplify existing config.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
|
|
This commit is a no-op change. Future improvements can come from making
individual boards use CORE or BASIC.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
|
|
Some of these will later be moved to CORE or BASIC, but EXTRA is a good
starting point based on what stm32 uses.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
|
|
Signed-off-by: Damien George <damien@micropython.org>
|
|
To simplify the config. This commit does not change the build.
Signed-off-by: Damien George <damien@micropython.org>
|
|
Signed-off-by: Damien George <damien@micropython.org>
|
|
|
|
Prior to this commit IRQs on STM32F4 could be lost because SR is cleared by
reading SR then reading DR. For example, if both RXNE and IDLE IRQs were
active upon entry to the IRQ handler, then IDLE is lost because the code
that handles RXNE comes first and accidentally clears SR (by reading SR
then DR to get the incoming character).
This commit fixes this problem by making the IRQ handler more atomic in the
following operations:
- get current IRQ status flags
- deal with RX character
- clear remaining status flags
- call user handler
On the STM32F4 it's very hard to get this right because the only way to
clear IRQ status flags is to read SR then DR, but the read of DR may read
some data which should remain in the register until the user wants to read
it. And it won't work to cache the read because RTS/CTS flow control will
then not work. So instead the new code disables interrupts if the DR is
full and waits for the user to read it before reenabling the interrupts.
Fixes issue mentioned in #4599 and #6082.
Signed-off-by: Damien George <damien@micropython.org>
|
|
|
|
|