Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Board support for Adafruit Grand Central M4 #7

Open
wants to merge 1,416 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1416 commits
Select commit Hold shift + click to select a range
ea54ee3
extmod/mbedtls: Enable GCM and ECDHE-RSA in common mbedtls config.
sylvinus Jun 5, 2024
a0fbead
rp2/mbedtls: Remove config options that are now in the common settings.
dpgeorge Jul 2, 2024
e8cdd8c
rp2/rp2_pio: Replace PIO_NUM macro with pio_get_index.
Gadgetoid Jul 2, 2024
794ad02
rp2/rp2_pio: Replace explicit pio ternary expression with pio_get_index.
Gadgetoid Jul 2, 2024
d758616
rp2/machine_adc: Initialise ADC GPIO when a Pin is referenced by int.
robert-hh Jan 24, 2024
e54d171
docs/rp2/quickref: Document the use of channel numbers for ADC.
robert-hh Feb 2, 2024
0d476e0
py/objstr: Add new mp_obj_new_str_from_cstr() helper function.
jonfoster Apr 1, 2024
741332a
all: Use new mp_obj_new_str_from_cstr() function.
jonfoster Apr 1, 2024
5cd28c1
esp32,esp8266: Use new mp_obj_new_str_from_cstr() function.
dpgeorge Jul 5, 2024
25814be
docs: Update docs to replace ifconfig with ipconfig.
felixdoerre Mar 18, 2024
7f2107d
tests/thread/stress_aes.py: Fix logic waiting for finished threads.
dpgeorge Jul 5, 2024
099821e
tests/stress/bytecode_limit.py: Make test more robust with low memory.
dpgeorge Jul 5, 2024
c4f2f01
extmod/modmachine: Allow more than one argument to machine.freq().
robert-hh Jul 6, 2024
5d020b0
extmod/network_nina: Fix the AP security mode constants.
iabdalkader Apr 24, 2024
31b437c
extmod/machine_spi: Support firstbit=LSB for machine.SoftSPI.
robert-hh May 15, 2023
66f13b4
extmod/modre: Rename re_exec to re_exec_helper to avoid clash on BSD.
easytarget Jul 8, 2024
823da5e
github/workflows: Use macos-latest for unix macos CI.
dpgeorge Jul 14, 2024
b1fda1a
unix/modtermios: Add more baudrate options.
LnnrtS Jul 8, 2024
fb49807
unix/mpbthciport: Remove thread detached attribute.
bl4kraven Jul 18, 2023
2c22232
unix/mpbtstackport_usb: Remove thread detached attribute.
dpgeorge Jul 17, 2024
972328c
tests/extmod: Make get_event_loop tests compatible with CPython 3.12.
dpgeorge Jul 18, 2024
fcebb1b
py: Remove 5 TODOs in emitbc, objrange and repl.
dpgeorge Jul 18, 2024
c0b0900
py/lexer: Add static assert that token enum values all fit in a byte.
dpgeorge Jul 18, 2024
169ef28
py/sequence: Remove unused len argument from mp_seq_extract_slice.
dpgeorge Jul 18, 2024
86b0740
py/gc: Remove commented-out functions.
dpgeorge Jul 19, 2024
4a06a89
webassembly: Reuse PyProxy objects when they are the same Python object.
dpgeorge Jun 25, 2024
329d665
tests/multi_bluetooth/perf_gatt_notify.py: Reduce connection interval.
dpgeorge Jul 19, 2024
3d2f661
shared/tinyusb/mp_usbd_cdc: Skip writing to an uninitialized USB device.
robert-hh Jul 17, 2024
16f4f58
shared/runtime/pyexec: Make a raised SystemExit always do a forced exit.
dpgeorge Jul 18, 2024
3661d70
extmod/modmachine: Use sys.exit as implementation of machine.soft_reset.
dpgeorge Jul 18, 2024
e59d8c1
extmod/modos: Include os.sep entry if MICROPY_VFS is enabled.
dpgeorge Jul 19, 2024
3eb9518
extmod/modbtree: Add checks for already-closed database.
BottleRocketeer Nov 12, 2023
244d3b1
extmod/moductypes: Validate the descriptor tuple.
stinos Nov 8, 2023
e85a0d4
extmod/vfs_fat: Set default volume label on mkfs if it's defined.
tstenvold Jul 19, 2024
2c73e1d
extmod/vfs: Fix buffer overflow of string comparison in umount.
junwha Jan 2, 2024
b50d9a8
esp32/mpthreadport: Fix uneven GIL allocation between Python threads.
projectgus Jul 17, 2024
e62fe2f
tests/run-tests.py: Enable thread tests on esp32.
projectgus Jul 17, 2024
11f86b1
esp32/machine_timer: Limit timer numbers for ESP32C3.
robert-hh Apr 3, 2024
34aa64e
unix/main: Fix GCC builds for RISC-V 64 bits.
agatti Nov 3, 2023
41eb6e1
rp2: Fix power consumption when sleeping with a timeout.
projectgus Jul 5, 2024
af59fed
rp2: Fix wakeup from WFE on core1.
projectgus Jul 3, 2024
5829073
rp2/rp2_pio: Disable correct IRQ for PIO1.
Gadgetoid Jul 8, 2024
0a22983
docs: Specify that machine.idle() returns at least every 1ms.
projectgus Jul 23, 2024
b24652a
rp2: Stop machine.idle() blocking indefinitely.
projectgus Jun 25, 2024
12d6c40
rp2/lwip_inc: Enable IPv6 per default on rp2 port.
felixdoerre Aug 25, 2022
259edb9
examples/usercmodule/cexample: Add more advanced native class.
laurensvalk Dec 5, 2022
906dc38
py/objtype: Avoid crash on calling members of uninitialized native type.
laurensvalk Nov 21, 2022
7cd5dcd
tests/cpydiff: Add diff for overriding __init__.
dlech Nov 17, 2022
d6b901d
py/objtype: Validate super() arguments.
stinos Nov 8, 2023
8cba9ec
py/misc: Fix msvc and C++ compatibility.
stinos Jul 22, 2024
b00dd87
py/runtime: Fix self arg passed to classmethod when accessed via super.
dpgeorge Jul 24, 2024
9f38a28
github/workflows: Improve MSYS2-based CI builds.
stinos Mar 26, 2024
e33acf8
tests/run-tests.py: Make Windows test skipping more granular.
stinos Mar 26, 2024
fc2a84a
github/workflows: Add RISC-V 64 bits Unix port to CI.
agatti Jul 24, 2024
6e856e1
tests/multi_net: Fix skipping of SSLContext tests when .der don't exist.
dpgeorge Jul 25, 2024
dc2bc92
nrf: Consolidate all stdio functions.
pi-anl May 28, 2024
6f34b63
nrf/modules/machine/uart: Support sending data stored in flash.
pi-anl May 29, 2024
a35b3b8
nrf/Makefile: Enable LTO by default only on newer gcc.
pi-anl Jun 5, 2024
17ada7a
nrf/modules/machine/soft_pwm: Ensure duty_width is always valid.
pi-anl Jun 5, 2024
c2b1664
nrf/modules/machine/pin: Disable IRQ with pin.irq(handler=None).
robert-hh Jun 9, 2024
4d0dba3
esp32/mpconfigport: Enable the RV32 emitter for ESP32C3 targets.
agatti Jul 2, 2024
7daeabf
nrf/Makefile: Fix GCC_VERSION check.
pi-anl Jul 26, 2024
b0cea3f
stm32/boards: Swap FMC banks on ARDUINO_GIGA and ARDUINO_PORTENTA_H7.
iabdalkader Jul 19, 2024
5f428ee
lib/arduino-lib: Update submodule to the latest.
iabdalkader Jul 19, 2024
a8f8607
esp32: Fix heap corruption triggered by bluetooth.active(0).
projectgus Jul 25, 2024
7dba8b3
py/py.mk: Add SRC_USERMOD_LIB_ASM to include assembly files.
george-hopkins Jul 21, 2024
d282fcd
docs/library/neopixel: Mention bitstream timing tuple.
scy Jul 23, 2024
1e02610
tests/extmod: Skip soft machine.Timer test on esp32 port.
projectgus Aug 1, 2024
5ac439b
esp32/machine_i2s: Ensure 2 DMA buffers and improve I2S error handling.
projectgus Jul 25, 2024
d65ea43
tests/extmod: Add esp32 support to the machine_i2s_rate test.
projectgus Jul 25, 2024
3c8aa70
rp2/CMakeLists.txt: Add MICROPY_DEF_BOARD to compile definitions.
Gadgetoid Jul 3, 2024
d82c412
rp2/boards/PIMORONI_PICOLIPO: Refactor Pico LiPo to use board variants.
Gadgetoid Jul 3, 2024
14ca0dc
rp2/boards/PIMORONI_TINY2040: Add an 8MB variant to Tiny 2040.
Gadgetoid Jul 3, 2024
e7ccec6
rp2/memmap_mp.ld: Lower the minimum GC heap to 32K.
Gadgetoid Jul 4, 2024
184e5a5
rp2/rp2_pio: Make PIO IRQ handlers have lazy initialisation.
Gadgetoid Jul 8, 2024
1b1236b
rp2/machine_i2s: Deinit all active I2S instances on soft reset.
Gadgetoid Aug 2, 2024
2b4318e
py/emitnative: Fix case of clobbered REG_TEMP0 when loading const obj.
dpgeorge Jul 31, 2024
13fde43
py/modmath: Add option to work around -inf bug in a port's tgamma.
projectgus Aug 5, 2024
239c873
esp32: Enable workaround for math.gamma(-inf) result.
projectgus Jul 25, 2024
a3f16b5
esp32/main: Store native code as linked list instead of list on GC heap.
dpgeorge Aug 3, 2024
94989cd
tests/extmod: Rename machine_timer exp file to machine_soft_timer.
dpgeorge Aug 2, 2024
4fabf1d
tests/extmod: Add machine_spi_rate test.
projectgus Jul 25, 2024
6a27050
qemu-arm: Fix tinytest test profile when updating set of dirs/files.
dpgeorge Aug 5, 2024
5c5561f
mpy-cross/main: Use MICROPY_BANNER_NAME_AND_VERSION for --version.
dpgeorge Aug 1, 2024
8c76701
shared/runtime/gchelper: Add RISC-V RV64I native gchelper.
agatti Jul 25, 2024
818d75b
extmod/libmetal: Remove source file listed twice in sources.
iabdalkader Jul 10, 2024
f238241
extmod/modopenamp_remoteproc: Fix entry point address int overflow.
iabdalkader Jul 10, 2024
4b66c6f
extmod/modopenamp: Add support for building Open-AMP on device side.
iabdalkader Jul 11, 2024
94de3ed
extmod/modopenamp: Fix Endpoint callback required arg.
iabdalkader Jul 13, 2024
3009799
stm32/mpu: Define the last used MPU region number.
iabdalkader Jul 20, 2024
4a44ccf
extmod/modopenamp: Use mp_event_* functions for poll/wait.
iabdalkader Aug 1, 2024
0dacafa
stm32/mpmetalport: Use mp_event_handle_nowait() for metal_poll.
iabdalkader Aug 1, 2024
e56938f
mimxrt/mpmetalport: Use mp_event_handle_nowait() for metal_poll.
iabdalkader Aug 1, 2024
21b77fe
esp32/network_lan: Make LAN.active(state) succeed if already in state.
glenn20 Jun 30, 2024
13f77cf
esp32/network_lan: Ensure LAN MAC address is valid at LAN init.
glenn20 Jul 8, 2024
3d2cd1d
extmod/modtls_mbedtls: Fix DER parsing and calculation of key/cert len.
peterzuger Apr 26, 2024
01683d6
tests/extmod/ssl_keycert.py: Add test for PKCS8 formatted DER key.
peterzuger Jul 22, 2024
26ff548
py/obj: Remove the legacy object API for version 2.
projectgus Aug 13, 2024
9996cdd
py: Add new cstack API for stack checking, with limit margin macro.
projectgus Aug 6, 2024
9ab550a
esp32: Fix thread stack limit margin, change to new cstack API.
projectgus Aug 6, 2024
bcf7350
tests/run-tests.py: Enable stress tests on esp32 port.
projectgus Aug 6, 2024
188b7b2
rp2: Switch to use new cstack API for stack limit checks.
projectgus Aug 6, 2024
341c68a
unix: Switch stack limit check to new cstack API.
projectgus Aug 13, 2024
b2bc8e1
test/extmod: Fix machine_spi_rate test on ESP32-C3.
projectgus Aug 14, 2024
4e38ff7
esp32/adc: Add support for v5.2.1 calibration api.
mancausoft Mar 12, 2024
e13b51f
esp32/boards: Reduce IRAM usage.
projectgus Jul 23, 2024
d1b2521
esp32/adc: Use new ADC calibration API in all cases.
projectgus Jul 23, 2024
4066568
esp32/boards: Build using newlib nano formatting functions.
projectgus Jul 23, 2024
1e02aad
esp32/tools: Add metrics_esp32 size comparison script.
projectgus Jul 23, 2024
64f35bf
esp32: Add support for ESP-IDF v5.2.2.
projectgus Jul 23, 2024
62ef881
esp32: Use the ESP-IDF default esp_console config for ESP32-C3.
projectgus Jul 30, 2024
69fba9d
esp32: Restore ESP32-C3 brownout detector settings to IDF defaults.
projectgus Aug 7, 2024
098ba58
esp32/boards: Remove BLE from list of features for ESP32-S2.
mattytrentini Aug 9, 2024
7bb60a0
esp32/mphalport: Print debug strings even before the GIL is ready.
agatti Aug 10, 2024
69efb5b
esp32: Fix Python cstack size for bluetooth irq callbacks.
projectgus Aug 15, 2024
703e97f
esp32: Remove the increased stack limit margin for ESP32-C3.
projectgus Aug 15, 2024
ba19bbc
esp32/boards/M5STACK_ATOMS3_LITE: Add M5Stack AtomS3 Lite board.
mattytrentini Jan 20, 2024
14ece25
esp32/boards/LILYGO_TTGO_LORA32: Add OLED rst seq for board v1.0.
elvis-epx Jul 11, 2023
f911654
py/objstr: Skip whitespace in bytes.fromhex().
glenn20 Aug 12, 2024
2a71506
py/asmrv32: Fix short/long jumps scheduling.
agatti Jul 31, 2024
355b249
py/asmrv32: Emit C.LW opcodes only when necessary.
agatti Aug 1, 2024
45bd2e1
py/asmrv32: Use REG_TEMP2 whenever possible.
agatti Aug 16, 2024
d369deb
mimxrt/mimxrt_sdram: Fix pin config and comments.
robert-hh Dec 27, 2023
ae765a0
mimxrt/machine_pin: Clear IRQ flag when enabling or disabling IRQ.
robert-hh Jun 7, 2024
f1430c1
docs/mimxrt/quickref: Add a note about machine.RTC() subseconds.
robert-hh Jul 10, 2024
0511271
rp2/mphalport: Skip core1_entry if thread disabled.
Gadgetoid Aug 13, 2024
ea124b6
rp2/main: Set the default clock frequency at boot.
robert-hh Feb 20, 2024
69e1a3c
rp2/modmachine: Set the peripheral frequency with machine.freq().
robert-hh Feb 22, 2024
e21d1b6
samd/boards/ADAFRUIT_METRO_M4_EXPRESS: Remove wlan variant.
mattytrentini Aug 14, 2024
15d1cab
esp32/boards: Remove all IDF3 variants.
mattytrentini Aug 17, 2024
6d9112d
stm32/boards: Add missing images and update product URLs.
mattytrentini Aug 17, 2024
41622e1
stm32/stm32_it: Enable PVD_PVM_IRQHandler for WB and WL MCUs.
pi-anl Aug 14, 2024
b6c243c
stm32/rfcore: Allow HSE to be a wakeup source for BLE for the WB55.
mattytrentini Aug 8, 2022
9b0d7d5
stm32/octospi: Add OSPI support for STM32H7 MCUs.
nspsck Sep 26, 2023
fbd3e06
stm32/system_stm32: Allow selection of OSPI clock source.
nspsck Nov 17, 2023
68eea24
stm32/boards/STM32H7B3I_DK: Fix octo-spi pin configuration.
nspsck Sep 26, 2023
984fca5
py/mkrules.mk: Fix 'make submodules' when building out-of-tree.
cwalther Apr 21, 2024
c06d4bb
samd/mcu/samd21: Allow user to enable additional options.
ricksorensen Jun 10, 2024
7adc039
shared/tinyusb: Allow ports to define CDC TX/RX buffer sizes.
iabdalkader Aug 13, 2024
da5b132
extmod/modtls_mbedtls: Optimise the DER certificate parsing fix.
projectgus Jul 24, 2024
51b2e39
extmod/network_wiznet5k: Add support for IPv6.
Aug 18, 2024
d3bec0b
unix/coveragecpp: Include all API headers in the C++ code.
stinos Apr 24, 2024
114e09a
tools/pyboard.py: Capture stdout for pts line.
dpgeorge Aug 9, 2024
4b8e42d
tests/run-tests.py: Skip additional tests when slice unavailable.
dpgeorge Aug 19, 2024
66e45a9
zephyr: Remove obsolete tinytest test framework.
dpgeorge Aug 19, 2024
d373aaa
zephyr: Increase CONFIG_CONSOLE_GETCHAR_BUFSIZE to 258.
dpgeorge Aug 19, 2024
5ebf544
github/workflows: Add CI to run tests against zephyr with qemu.
dpgeorge Aug 19, 2024
b941f4b
shared/runtime/semihosting_arm: Support semihosting on non-Thumb ARM.
dpgeorge Aug 12, 2024
40f171e
shared/runtime/semihosting_arm: Add mp_semihosting_rx_chars.
dpgeorge Aug 9, 2024
33396f0
shared/runtime/semihosting_arm: Add mp_semihosting_exit.
dpgeorge Aug 12, 2024
b1ad899
qemu-arm/Makefile: Make the build directory reflect the board.
dpgeorge Aug 12, 2024
bd43d70
qemu-arm/uart: Implement uart_rx_chr.
dpgeorge Aug 12, 2024
007e995
qemu-arm: Rework to provide a REPL and run tests via a pty serial port.
dpgeorge Aug 12, 2024
afe9c56
examples/network: Support IPv4 and IPv6 in HTTP client examples.
dpgeorge Aug 3, 2024
cdacace
examples/network: Use SSLContext instead of old ssl.wrap_socket.
dpgeorge Aug 3, 2024
e50e2cb
examples/network: Support full URLs in HTTP(S) client examples.
dpgeorge Aug 14, 2024
55c4bb0
rp2/machine_uart: Implement a Python UART IRQ handler.
robert-hh Feb 20, 2024
33bedd9
samd/machine_uart: Implement a Python UART IRQ handler.
robert-hh Feb 22, 2024
06dec0c
mimxrt/machine_uart: Implement a Python UART IRQ handler.
robert-hh Sep 24, 2023
f070412
renesas-ra/machine_uart: Add the UART.IRQ_RX class constant.
robert-hh Mar 6, 2024
3949ad5
cc3200/mods/pybuart: Add the UART.IRQ_RX class constant.
robert-hh Mar 9, 2024
6874083
esp32/machine_uart: Implement Python UART IRQ with IRQ_RX and IRQ_BREAK.
robert-hh Mar 10, 2024
5356bdd
nrf/modules/machine/uart: Allow changing the UART baud rate w/o reset.
robert-hh Aug 21, 2024
a05844d
nrf/modules/machine/uart: Implement Python UART IRQ for nrf52840 boards.
robert-hh Mar 11, 2024
2c33c14
stm32/machine_uart: Add the UART.IRQ_RX event for UART.irq().
robert-hh Mar 13, 2024
c6d89a9
samd/machine_uart: Implement UART.IRQ_RXIDLE based on the softtimer.
robert-hh Jun 27, 2024
f07844b
renesas-ra/machine_uart: Implement UART.IRQ_RXIDLE based on softtimer.
robert-hh Jul 3, 2024
c2074a2
esp32/machine_uart: Implement UART.RX_IDLE based on machine.Timer.
robert-hh Jul 4, 2024
430559b
docs/library/machine.UART: Fix UART.irq docs to match current code.
dpgeorge Mar 6, 2024
70bce4c
docs/library/machine.UART: Extend the documentation for UART.irq.
robert-hh Mar 11, 2024
ff15ece
tests/extmod: Add test for machine.UART.IRQ_TXIDLE.
dpgeorge Aug 16, 2024
c3e715c
tests/extmod_hardware: Add tests for machine.UART.IRQ_RX/RXIDLE/BREAK.
dpgeorge Aug 16, 2024
3b9db29
lib/lwip: Update lwIP to STABLE-2_2_0_RELEASE.
dpgeorge Apr 16, 2024
5df689f
extmod: Update make and cmake scripts to work with latest lwIP.
dpgeorge Apr 16, 2024
b6f7d5a
extmod/network_ppp_lwip: Add network.PPP via lwIP.
dpgeorge Mar 13, 2024
9007276
stm32: Integrate optional network.PPP.
dpgeorge Mar 27, 2024
b67ab8a
stm32/machine_uart: Allow changing only the baudrate.
dpgeorge Aug 7, 2024
95e1442
stm32/machine_uart: Return number of bytes written even with timeout.
dpgeorge Aug 7, 2024
0d76aa4
stm32/uart: Use timeout_char even with CTS enabled.
dpgeorge Aug 7, 2024
8c290a2
stm32/lwip_inc: Implement LWIP_PLATFORM_DIAG macro in terms of printf.
dpgeorge Aug 20, 2024
f8b0c55
rp2: Integrate optional network.PPP.
dpgeorge Aug 28, 2024
225944d
docs/library: Document the network.PPP class.
dpgeorge Aug 28, 2024
bc135ac
stm32: Add option to put ISR, flash and UART code in RAM.
pi-anl Aug 15, 2022
5ca325d
stm32/boards: Enable RAM_ISR feature on boards with UART REPL.
pi-anl Aug 23, 2024
b9816ef
py/objint: Make byteorder argument optional in int.to_bytes() method.
AmirHmZz Apr 28, 2024
cb821c4
py/objint: Make length argument optional in int.to_bytes() method.
AmirHmZz Apr 30, 2024
9628713
py/objint: Make byteorder argument optional in int.from_bytes() method.
AmirHmZz Apr 28, 2024
85f44a9
tests/basics: Add tests for optional args to int.to_bytes/from_bytes.
AmirHmZz Apr 30, 2024
26d9af5
esp32: Fix ESP32-C3 USB serial/jtag peripheral pre-IDF 5.1.
projectgus Aug 27, 2024
d2d403b
esp32: Add MICROPY_HW_USB_CDC macro for native USB-CDC serial.
projectgus Aug 27, 2024
3fd8b5f
esp32: Fix ARDUINO_NANO_ESP32 build configuration.
projectgus Sep 4, 2024
65d293b
esp32: Disable hardware stack protection on ESP32-C3.
projectgus Sep 3, 2024
f3be6e1
tests/net_inet: Update micropython.org certificate for SSL tests.
dpgeorge Aug 16, 2024
bb538ca
tests/run-tests.py: Automatically detect native arch and mpy-cross flag.
dpgeorge Aug 16, 2024
a72d5e9
tools/mpy-tool.py: Support freezing rv32imc native code.
dpgeorge Aug 29, 2024
6bd1764
qemu-arm: Factor board config to mk fragments.
dpgeorge Aug 28, 2024
d347c44
qemu-arm/Makefile: Clean up SRC and OBJ variables.
dpgeorge Aug 29, 2024
5aa3001
qemu-arm: Merge RISC-V 32-bit support into qemu-arm port.
dpgeorge Aug 29, 2024
a887b29
all: Remove remaining qemu-riscv references.
dpgeorge Sep 6, 2024
ea38517
qemu: Rename qemu-arm port to qemu.
dpgeorge Sep 4, 2024
ce2b6eb
shared/runtime/sys_stdio_mphal: Fix printed type for stdio streams.
timdechant Aug 26, 2024
b44e48f
unix: Expand the build steps in the README.
projectgus Aug 27, 2024
b674d14
unix: Add a description of COPT in the README.
projectgus Aug 28, 2024
ab5e895
tools/mpy_ld.py: Ignore R_XTENSA_ASM_EXPAND relocation entries.
agatti Aug 28, 2024
7838daf
extmod/modlwip: Fix compile error for lwIP with SLIP support.
cajt Aug 28, 2024
ecc6818
extmod/libmetal: Fix libmetal rules for mkdir dependencies.
iabdalkader Aug 29, 2024
f1a391b
samd/mphalport: Fix an execution order bug in mp_hal_ticks_us_64().
robert-hh Apr 21, 2024
d305896
samd/mphalport: Simplify mp_hal_delay_ms().
robert-hh Aug 17, 2024
e62648a
tests/extmod/machine_uart_irq_txidle.py: Simplify the test script.
robert-hh Aug 29, 2024
53ca9dd
samd/Makefile: Specify UF2 family in firmware.uf2.
erdnaxe Sep 3, 2024
01865d2
zephyr: Add threading support.
danicampora Jun 28, 2024
7d50ebf
zephyr: Re-implement the Zephyr console in non-blocking mode.
danicampora Jul 16, 2024
9610090
zephyr: Enable some core features to get more thread tests passing.
danicampora Aug 12, 2024
0c625bb
zephyr/main: Collect registers during a MicroPython GC scan.
dpgeorge Aug 19, 2024
a844216
zephyr/mpconfigport: Enable mpz big integers.
dpgeorge Aug 19, 2024
be598e3
tests/thread: Adapt stress_aes.py to run on zephyr.
danicampora Aug 20, 2024
f91e3a7
zephyr/Kconfig: Increase default GC heap size to 48k.
dpgeorge Sep 3, 2024
8177db3
tests/run-tests.py: Add a zephyr test target.
dpgeorge Sep 3, 2024
eca18cd
zephyr/src: Remove k_yield() at the end of console_irq_input_hook().
danicampora Sep 5, 2024
d054dab
zephyr/mphalport: Make mp_hal_wait_sem() always call k_poll().
danicampora Sep 5, 2024
7f600ab
unix/README: Fix typo in build dependencies.
AmirHmZz Sep 9, 2024
8cad2f0
stm32: Update STM32L452xx Multi OTG handling.
higstar Sep 5, 2024
52a2e08
stm32/boards/STM32F429DISC: Add DAC support to the STM32F429DISC.
mattytrentini Sep 10, 2024
8fbfd02
examples/natmod: Fix URL links in README.md.
mattytrentini Sep 9, 2024
698d236
docs/esp32: Update pin access example with addresses for ESP32-S3.
pdg137 Oct 11, 2023
7e1913c
docs/reference: Fix pyboard.py filesystem cp example with three files.
dpgeorge Sep 2, 2024
299effd
docs/library: Document math.log with two arguments.
dpgeorge Sep 10, 2024
d35f399
docs/library: Document machine.Pin.toggle() method.
projectgus Sep 10, 2024
e8bb349
rp2: Add board-level hooks to main, and MICROPY_SOURCE_BOARD cmake var.
ZodiusInfuser Sep 5, 2024
8769aac
rp2: Increase ext pins from 10 to 32.
ZodiusInfuser Sep 5, 2024
2f566ad
rp2/machine_pin_cyw43: Include check for CYW43_GPIO.
ZodiusInfuser Sep 16, 2024
6fb79f8
rp2/modules: Fix FatFS boot script to detect invalid FAT filesystem.
iabdalkader Sep 4, 2024
59e2b06
py/scheduler: Only run callbacks on the main thread if GIL is disabled.
projectgus Sep 4, 2024
4a8a6fa
shared/tinyusb: Only run TinyUSB on the main thread if GIL is disabled.
projectgus Sep 4, 2024
8688f4b
all: Remove tinytest component.
dpgeorge Sep 4, 2024
2cc4131
tests/run-tests.py: Remove --write-exp and --list-tests options.
dpgeorge Sep 4, 2024
e6811d4
tools/ci.sh: Clean up the Unix port's MIPS target.
agatti Jul 25, 2024
67c17fa
tools/ci.sh: Add missing FFI helper for CI RV64 Unix builds.
agatti Sep 5, 2024
376e050
tools/ci.sh: Clean up the Unix port's Arm target.
agatti Sep 5, 2024
efc6e5e
tools/mpy_ld.py: Support jumping more than 2k on armv6m architectures.
dpgeorge Sep 9, 2024
2f36be7
unix/modffi: Fix signed integer cast in return_ffi_value.
mchlswyr Sep 6, 2024
d34fe1a
tests/ports/unix: Update and extend the modffi integer tests.
mchlswyr Sep 6, 2024
b09f80e
esp32/boards/UM_FEATHERS3NEO: Add FeatherS3 Neo board definition.
UnexpectedMaker Jun 7, 2024
0f045de
esp32/boards: Add UM_OMGS3 and UM_RGBTOUCH_MINI board definitions.
UnexpectedMaker Sep 15, 2024
7b6d3c3
esp32/boards/OLIMEX_ESP32_EVB: Add Olimex ESP32 EVB board definition.
Sep 2, 2024
d482a41
py/objringio: Add micropython.RingIO() interface for general use.
pi-anl Sep 26, 2022
9953155
esp32/boards/UM_RGBTOUCH_MINI: Fix compile error with missing modules.
UnexpectedMaker Sep 20, 2024
c2abf2a
STATIC -> static
graeme-winter Sep 21, 2024
2f82f19
STATIC -> static
graeme-winter Sep 21, 2024
b495a46
Merge remote-tracking branch 'upstream/master' into adafruit-grand-ce…
graeme-winter Sep 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions ports/samd/boards/ADAFRUIT_GRAND_CENTRAL_M4_EXPRESS/board.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"Micro USB",
"RGB LED",
"SPI Flash"
],
"mcu": "samd51",
"product": "Grand Central M4 Express",
"images": [
"grand_central_m4_express.jpg"
],
"thumbnail": "",
"url": "https://www.adafruit.com/product/4064",
"vendor": "Adafruit"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
include("$(PORT_DIR)/boards/manifest.py")
include("$(MPY_DIR)/extmod/uasyncio")
require("onewire")
require("ds18x20")
require("neopixel")
require("sdcard")
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#define MICROPY_HW_BOARD_NAME "Grand Central M4 Express"
#define MICROPY_HW_MCU_NAME "ATSAMD51P20A"

#define MICROPY_HW_XOSC32K (1)

// 8MB QSPI chip
#define MICROPY_HW_QSPIFLASH GD25Q64C

// fatfs configuration used in ffconf.h
#define MICROPY_FATFS_ENABLE_LFN (1)
#define MICROPY_FATFS_RPATH (2)
#define MICROPY_FATFS_MAX_SS (4096)
#define MICROPY_FATFS_LFN_CODE_PAGE 437 /* 1=SFN/ANSI 437=LFN/U.S.(OEM) */
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
MCU_SERIES = SAMD51
CMSIS_MCU = ATSAMD51P20A
LD_FILES = boards/samd51x20a.ld sections.ld
TEXT0 = 0x4000

# The ?='s allow overriding in mpconfigboard.mk.
# MicroPython settings
MICROPY_VFS_LFS1 ?= 1

FROZEN_MANIFEST = $(BOARD_DIR)/manifest.py

# Greater room for code in flash
MICROPY_HW_CODESIZE ?= 1008K
109 changes: 109 additions & 0 deletions ports/samd/boards/ADAFRUIT_GRAND_CENTRAL_M4_EXPRESS/pins.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Pins listed below in order of board pinout picture from Adafruit, with breaks
# corresponding to the same spacing as on the board

# Analogue input (16 pins) and output (first two of these)

PIN_PA02,A0
PIN_PA05,A1
PIN_PB03,A2
PIN_PC00,A3
PIN_PC01,A4
PIN_PC02,A5
PIN_PC03,A6
PIN_PB04,A7


PIN_PB05,A8
PIN_PB06,A9
PIN_PB07,A10
PIN_PB08,A11
PIN_PB09,A12
PIN_PA04,A13
PIN_PA06,A14
PIN_PA07,A15

# Big digital block at bottom of board

PIN_PD12,D22
PIN_PA15,D23
PIN_PC17,D24
PIN_PC16,D25
PIN_PA12,D26
PIN_PA13,D27
PIN_PA14,D28
PIN_PB19,D29
PIN_PA23,D30
PIN_PA22,D31
PIN_PA21,D32
PIN_PA20,D33
PIN_PA19,D34
PIN_PA18,D35
PIN_PA17,D36
PIN_PA16,D37
PIN_PB15,D38
PIN_PB14,D39
PIN_PC13,D40
PIN_PC12,D41
PIN_PC15,D42
PIN_PC14,D43
PIN_PC11,D44
PIN_PC10,D45
PIN_PC06,D46
PIN_PC07,D47
PIN_PC04,D48
PIN_PC05,D49
PIN_PD11,D50
PIN_PD08,D51
PIN_PD09,D52
PIN_PD10,D53

# Digital row down other side of board - N.B. diplicates

PIN_PC30,LED_TX
PIN_PC31,LED_RX
PIN_PC24,NEOPIXEL

PIN_PB21,SCL
PIN_PB20,SDA
PIN_PA03,AREF
PIN_PB01,D13
PIN_PB00,D12
PIN_PB23,D11
PIN_PB22,D10
PIN_PB02,D9
PIN_PB18,D8

PIN_PD21,D7
PIN_PD20,D6
PIN_PC21,D5
PIN_PC20,D4
PIN_PC19,D3
PIN_PC18,D2
PIN_PB24,D1
PIN_PB25,D0

PIN_PB16,D14
PIN_PB17,D15
PIN_PC22,D16
PIN_PC23,D17
PIN_PB12,D18
PIN_PB13,D19
PIN_PB20,D20
PIN_PB21,D21

PIN_PB26,SD_MOSI
PIN_PB27,SD_SCK
PIN_PB28,SD_CS
PIN_PB29,SD_MISO
PIN_PB31,SD_CARD_DETECT


# QSPI flash

PIN_PB11,QSPI_CS
PIN_PB10,QSPI_SCK
PIN_PA08,QSPI_D0
PIN_PA09,QSPI_D1
PIN_PA10,QSPI_D2
PIN_PA11,QSPI_D3

52 changes: 36 additions & 16 deletions ports/samd/machine_dac.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ static uint8_t dac_vref_table[] = {
#define MAX_DAC_VALUE (4095)
#define DEFAULT_DAC_VREF (2)
#define MAX_DAC_VREF (3)
static bool dac_init = false;
static bool dac_init[2] = {false, false};
#endif


Expand All @@ -91,20 +91,21 @@ static mp_obj_t dac_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_

uint8_t id = args[ARG_id].u_int;
dac_obj_t *self = NULL;
if (0 <= id && id <= MP_ARRAY_SIZE(dac_obj)) {
if (0 <= id && id < MP_ARRAY_SIZE(dac_obj)) {
self = &dac_obj[id];
} else {
mp_raise_ValueError(MP_ERROR_TEXT("invalid Pin for DAC"));
mp_raise_ValueError(MP_ERROR_TEXT("invalid id for DAC"));
}

uint8_t vref = args[ARG_vref].u_int;
if (0 <= vref && vref <= MAX_DAC_VREF) {
self->vref = vref;
}

Dac *dac = dac_bases[0]; // Just one DAC
Dac *dac = dac_bases[0]; // Just one DAC register block

// initialize DAC

// Init DAC
#if defined(MCU_SAMD21)

// Configuration SAMD21
Expand All @@ -127,21 +128,39 @@ static mp_obj_t dac_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_

// Configuration SAMD51
// Enable APBD clocks and PCHCTRL clocks; GCLK3 at 8 MHz
dac_init = true;
MCLK->APBDMASK.reg |= MCLK_APBDMASK_DAC;
GCLK->PCHCTRL[DAC_GCLK_ID].reg = GCLK_PCHCTRL_GEN_GCLK3 | GCLK_PCHCTRL_CHEN;

// Reset DAC registers
dac->CTRLA.bit.SWRST = 1;
while (dac->CTRLA.bit.SWRST) {
if (!(dac_init[0] | dac_init[1])) {
MCLK->APBDMASK.reg |= MCLK_APBDMASK_DAC;
GCLK->PCHCTRL[DAC_GCLK_ID].reg = GCLK_PCHCTRL_GEN_GCLK3 | \
GCLK_PCHCTRL_CHEN;

// Reset DAC registers
dac->CTRLA.bit.SWRST = 1;
while (dac->CTRLA.bit.SWRST) {
}
dac->CTRLB.reg = DAC_CTRLB_REFSEL(dac_vref_table[self->vref]);

}
dac->CTRLB.reg = DAC_CTRLB_REFSEL(dac_vref_table[self->vref]);
dac->DACCTRL[self->id].reg = DAC_DACCTRL_ENABLE | DAC_DACCTRL_REFRESH(2) | DAC_DACCTRL_CCTRL_CC12M;

// Enable DAC and wait to be ready
dac->CTRLA.bit.ENABLE = 1;
while (dac->SYNCBUSY.bit.ENABLE) {
// Modify DAC config - requires disabling see §47.6.2.3 of data sheet
if (!dac_init[self->id]) {
// Disable DAC and wait
dac->CTRLA.bit.ENABLE = 0;
while (dac->SYNCBUSY.bit.ENABLE) {
}

// Modify configuration
dac->DACCTRL[self->id].reg = DAC_DACCTRL_ENABLE | \
DAC_DACCTRL_REFRESH(2) | DAC_DACCTRL_CCTRL_CC12M;
dac->DATA[self->id].reg = 0;
dac_init[self->id] = true;

// Enable DAC and wait
dac->CTRLA.bit.ENABLE = 1;
while (dac->SYNCBUSY.bit.ENABLE) {
}
}

#endif

// Set the port as given in self->gpio_id as DAC
Expand Down Expand Up @@ -170,6 +189,7 @@ static mp_obj_t dac_write(mp_obj_t self_in, mp_obj_t value_in) {

return mp_const_none;
}

MP_DEFINE_CONST_FUN_OBJ_2(dac_write_obj, dac_write);

static const mp_rom_map_elem_t dac_locals_dict_table[] = {
Expand Down
Loading