Commit Graph

9799 Commits

Author SHA1 Message Date
Jeff Epler
f40504b7bc
enable MP3 2023-03-22 12:16:29 -05:00
Jeff Epler
04bb0513df
enable audiomixer 2023-03-22 12:16:26 -05:00
Jeff Epler
c6bc9c48c9
mimxrt10xx: implement i2sout
tested on metro m7 (green prototype version) with max98357a i2s amplifier and the following test code:
```py
import board
import time
import digitalio
from audiobusio import I2SOut
from audiocore import RawSample
from microcontroller import pin
from ulab import numpy as np

n = np.array(np.sin(np.linspace(0, np.pi*2, 218, endpoint=False)) * 200, dtype=np.int16)
print(n)
r = RawSample(n, sample_rate=8000, channel_count=2)
def main():
    with digitalio.DigitalInOut(board.LED) as l:
        l.switch_to_output(True)
        value = False
        while True:
            with I2SOut(pin.GPIO_06, pin.GPIO_07, pin.GPIO_04) as i:
                time.sleep(.01)
                l.value = value = not value
                i.play(r, loop=True)
                print(i.playing)
                time.sleep(.5)
                i.stop()
                print("STOPPED")
                print(i.playing)
                time.sleep(.5)
                i.play(r, loop=True)
                print(i.playing)
                print("PLAY AGAIN")
                time.sleep(.5)
            time.sleep(1)
```

Only stereo, 16-bit, raw samples were tested; the sample rate is actually fixed
at 48kHz in the core right now. There is more to do, but the basics work.

# Conflicts:
#	ports/mimxrt10xx/Makefile
#	ports/mimxrt10xx/mpconfigport.mk
2023-03-22 12:15:25 -05:00
Dan Halbert
45257147dc
Merge pull request #7772 from jepler/fix-struct-pack
struct: Check that argument counts match, similar to cpython3
2023-03-22 13:11:34 -04:00
Jeff Epler
1e1172bc24
fix sorting of block 2023-03-22 12:04:34 -05:00
Jeff Epler
08358ecd50
constify spi, i2c, uart bank data 2023-03-22 12:03:20 -05:00
Scott Shawcroft
e1f16472c1
Merge pull request #7766 from tannewt/switch_nxp_sdk
Switch iMX RT sdk to NXP repo
2023-03-22 09:57:12 -07:00
Jeff Epler
349dedca54
struct: Check that argument counts match, similar to cpython3
.. and test our struct module during the build-time tests

Closes #7771
2023-03-22 09:35:09 -05:00
Dan Halbert
c93560144b
Merge pull request #7678 from FoamyGuy/boundary_fill_background_tasks
do background tasks and handle interrupt during boundary fill
2023-03-21 23:38:05 -04:00
Scott Shawcroft
9c3c0555dd
Switch iMX RT sdk to NXP repo
Fixes #7645
2023-03-21 16:21:57 -07:00
Scott Shawcroft
67e0a49a1f
Merge pull request #7724 from tannewt/get_perfbench_running
Improve iMX RT performance
2023-03-21 09:00:48 -07:00
Neradoc
b45d128726 fix lwip name in 01space_lcd042_esp32c3 2023-03-21 16:46:08 +01:00
Neradoc
36e4dc2588 Adding 01space OLED 0.42 C3 2023-03-21 05:01:17 +01:00
Scott Shawcroft
41a8ada327
Merge pull request #7750 from Neradoc/add-ttgo-tdisplay-esp32
Add Lilygo TTGO T-display ESP32 board
2023-03-20 14:40:16 -07:00
Scott Shawcroft
32a596df39
Merge pull request #7757 from adafruit/8.0.x
Merge latest 8.0.x changes
2023-03-20 14:34:59 -07:00
Scott Shawcroft
b75d99c5d7
Merge pull request #7745 from Neradoc/lilygo-twatch-v3-MAIN
Add Lilygo T-Watch 2020 V3 (ESP32)
2023-03-20 14:31:32 -07:00
Scott Shawcroft
bdf592089a
Fix .bin, .hex and .uf2 with new linker sections
Also, format perfbench output in table with reference timing from
the host.
2023-03-20 14:02:57 -07:00
Jeff Epler
3ac696e7ba
Merge pull request #7731 from kreasteve/statemachine_run_fix
Statemachine run fix
2023-03-19 20:47:09 -05:00
Neradoc
b88e76d3a4 Add builtin display support with shared board.I2C to Lolin S2 Pico 2023-03-19 17:48:36 +01:00
hathach
fecc1bdedb
fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
Neradoc
e7c349ea43 Add Lilygo TTGO T-display ESP32 board 2023-03-18 15:27:59 +01:00
Neradoc
f1b7612b5a Add Lilygo T-Watch 2020 V3 (ESP32)
- DISPLAY is in, brightness is ok
- default busses and pin names
- enabled PSRAM
2023-03-18 01:17:46 +01:00
Dan Halbert
ca292f3427 Turn off mkfs FAT32 on all SAMD21 builds; note in doc 2023-03-17 12:18:24 -04:00
Benjamin Shockley
f35af4c9ce
Update mpconfigboard.mk
Added trailing line
2023-03-16 16:54:55 -05:00
Benjamin Shockley
d59a57ecc9
Update pins.c
Changed GIO00 to GIO0
2023-03-16 16:54:38 -05:00
Benjamin Shockley
eab8633a9e
Updated Fig Pi Pins and Added Memory Option
Updated the Fig Pi pin definition to match latest production and fix errors.  Added an optional memory chip for parts shortage issues.
2023-03-16 16:41:49 -05:00
kreasteve
208c081c95 bugfix_#7706 2023-03-16 11:10:57 +01:00
kreasteve
d7fb21ec76 Revert "bugfix"
This reverts commit 4f1627f68e.
2023-03-16 11:02:41 +01:00
kreasteve
4f1627f68e bugfix 2023-03-16 10:56:22 +01:00
MicroDev
37b9f778e1
Merge pull request #7237 from kdb424/main
Add Boardsource Blok
2023-03-16 00:02:10 +05:30
Kyle Brown
6062e75b08 add Blok 2023-03-15 08:58:53 -07:00
foamyguy
f2931dec7a empty RUN_BACKGROUND_TASKS for unix port 2023-03-14 18:26:23 -05:00
Scott Shawcroft
5bb8a7a7c6
Improve iMX RT performance
* Enable dcache for OCRAM where the VM heap lives.
* Add CIRCUITPY_SWO_TRACE for pushing program counters out over the
  SWO pin via the ITM module in the CPU. Exempt some functions from
  instrumentation to reduce traffic and allow inlining.
* Place more functions in ITCM to handle errors using code in RAM-only
  and speed up CP.
* Use SET and CLEAR registers for digitalio. The SDK does read, mask
  and write.
* Switch to 2MiB reserved for CircuitPython code. Up from 1MiB.
* Run USB interrupts during flash erase and write.
* Allow storage writes from CP if the USB drive is disabled.
* Get perf bench tests running on CircuitPython and increase timeouts
  so it works when instrumentation is active.
2023-03-14 12:30:58 -07:00
Dan Halbert
d4840cbf10 translate() messages must be one string 2023-03-14 13:13:58 -04:00
Dan Halbert
9083ae02de
Merge pull request #7710 from PaintYourDragon/pb-feather-dvi
Add Feather RP2040 DVI
2023-03-14 13:10:47 -04:00
Scott Shawcroft
141a43cdce
Merge pull request #7702 from dhalbert/tinyusb-update
update tinyusb to latest
2023-03-14 09:59:45 -07:00
hathach
b432cf6201
fix rp2040 with new shared irq usb handler 2023-03-13 22:46:27 +07:00
Matthias Kreier
f5b8b8d6f2
tailing whitespace removed (pre-commit run failed) 2023-03-13 15:30:52 +07:00
Matthias Kreier
49e9ea2e9a
add missing pins 4, 36 and 39 - and 4 aliases
The original list left D4 (GPIO4), VN (GPIO39) and VP (GPIO36) out.

Added aliases for 1, 3, 16 and 17 with their GPIO names, even though they won't be used as such since they are UART0 and UART2
2023-03-13 15:17:55 +07:00
Dan Halbert
daa927a114 switch STM to dwc2 USB 2023-03-12 14:02:38 -04:00
MicroDev
7163ab390c
Merge pull request #7715 from bill88t/waveshare_esp32s2_pico
Even more board definition improvements for `waveshare_esp32s2_pico`
2023-03-12 07:46:42 +05:30
Bill Sideris
bfc551c158
Invert led 2023-03-11 14:14:47 +02:00
Bill Sideris
76e83a432c
Debug uart, default spi/i2c 2023-03-11 14:05:45 +02:00
MicroDev
5f0aa4a608
change board config of some esp32s3 boards
- remove unnecessary optimization flags
- shrink adafruit_feather_esp32s3_reverse_tft
2023-03-11 08:53:44 +05:30
Paint Your Dragon
ff0a17d095
Merge branch 'adafruit:main' into main 2023-03-10 13:45:53 -08:00
Dan Halbert
b6a7613350
Merge pull request #7470 from microdev1/espnow
Add ESP-NOW Support
2023-03-10 12:21:56 -05:00
BrainBoardz
838450643e
Merge branch 'adafruit:main' into main 2023-03-10 09:50:27 -05:00
Dan Halbert
0f31ba676b update errata fixes for RP2040 2023-03-09 17:40:53 -05:00
Dan Halbert
353411af4b
Merge pull request #7701 from dhalbert/background-task-for-7673
run background tasks during multi-part DMA
2023-03-09 17:25:42 -05:00
MicroDev
58f28b98be
minor doc fix
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2023-03-10 00:01:44 +05:30
Scott Shawcroft
fe40035cb9
Merge pull request #7697 from dhalbert/pico-sdk-cyw43-update
pico-sdk to 1.5.0; cyw43-driver to 0.9.0
2023-03-09 10:02:45 -08:00
Scott Shawcroft
fcc4299b92
Merge pull request #7686 from gamblor21/esp_family_spi_speed_increase
ESP32 Family: Add multiple transctions to SPI for improved efficency
2023-03-09 10:01:02 -08:00
Dan Halbert
96e2a72d71 run background tasks during multi-part DMA 2023-03-09 11:53:16 -05:00
Dan Halbert
2ebc0ea51c
GitHub online editor introduced spaces on blank lines :( 2023-03-09 11:30:38 -05:00
Dan Halbert
de3c5ad2f4
add blank lines around aliased pins 2023-03-09 11:00:55 -05:00
BrainBoardz
0054362784
Updated Pin Assignments (Add SPI definition)
Changed incorrect i2C pins assignment in mpconfigboard.h (changed SDA/SCL to GPIO 8/GPIO 9. 
Rename  SD_MOSI, SD_MISO and SD_SCK to MOSI, MISO and SCK
Added SPI define in mpconfigboard.h for SPI
2023-03-09 10:26:54 -05:00
MicroDev
874ba4ec68
revert Communicate class and more 2023-03-09 12:04:50 +05:30
Dan Halbert
fef9571400 pico-sdk to 1.5.0; cyw43-driver to 0.9.0 2023-03-08 22:43:12 -05:00
gamblor21
ab70506178 Move background tasks to slower routine 2023-03-08 16:14:58 -06:00
BrainBoardz
6da2ca6770
Update pins.c
Added a comma (,) to the the end of the definition for board_spi_obj
2023-03-08 16:46:31 -05:00
BrainBoardz
1200fe405f
Change GPIO pins for SDA and SCL
Chnage the SDA pin define to GPIO9 and SCL pin define to GPIO8. This now matches the currect GPIO pins numbers in pins.c
The previous GPIO pins number in mpconfigboard.h were incorrect
2023-03-08 16:38:16 -05:00
BrainBoardz
c133e79a08
Updated mpconfigboard.h
Add #defines for SPI_BUS_SCK, SPI_BUS_MOSI and SPI_BUS.MISO
2023-03-08 16:31:47 -05:00
BrainBoardz
7f8a3052be
Updated Pins.c definitions for SPI and I2C
Removed "CD" from the pin definitions for (MISO, MOSI and SCK pins). Specifically Pins 13, 15 and 14. Added Pin definitions for I2C and SPI objects
2023-03-08 16:25:18 -05:00
Phillip Burgess
fa55669da5 Merge branch 'main' of https://github.com/PaintYourDragon/circuitpython 2023-03-08 12:55:23 -08:00
Phillip Burgess
a2514ca304 Add board adafruit_feather_rp2040_dvi
Based on Feather RP2040 SCORPIO, but new USB PID (from MBAdafruitBoards/Production) and pin name changes for GP16-23 (CKN/CKP etc., from board schematic).
2023-03-08 11:37:51 -08:00
Scott Shawcroft
35e82a5f5e
Merge pull request #7676 from microdev1/ci
CI: Enhancements & Refactoring
2023-03-08 10:36:05 -08:00
gamblor21
7f5f93126c Move background task check 2023-03-06 16:26:22 -06:00
gamblor21
dd05118645 Add multiple transctions to SPI 2023-03-05 22:59:10 -06:00
Dan Halbert
bd889926e5
Merge pull request #7679 from dhalbert/socket-fix
be more careful when setting socket to non-blocking
2023-03-04 16:07:02 -05:00
Dan Halbert
08c9eb9f00 be more careful when setting socket to non-blocking 2023-03-04 14:40:06 -05:00
Jeff Epler
4e169bb956
Merge pull request #7673 from gamblor21/atmel-spi-tx-len-fix
Fix for long length SPI writes on ATMEL
2023-03-04 09:21:27 -06:00
MicroDev
b17364a447
conditionally build all languages 2023-03-04 15:08:54 +05:30
Scott Shawcroft
8a10069995
Merge pull request #7674 from jepler/m7-bootloader-reset
use right DBL_TAP_REG when resetting to bootloader
2023-03-03 13:44:22 -08:00
Jeff Epler
b2a08e2cce
use right DBL_TAP_REG when resetting to bootloader
This helps my development scripts work better, and probably also fixes
a problem switching from the circuitpython environment back to arduino.
(specifically, the "1200 baud" serial trick was not rebooting into
the bootloader but was just resetting)
2023-03-03 10:09:31 -06:00
gamblor21
6987d3d752 Fix for long length writes 2023-03-02 21:55:21 -06:00
Matthew McGowan
e2c6cf5929 fix: Increases drive strength of 32kHz external crystal, in line with calculations specified in ST AN2867 sections 3.3, 3.4, and STM32L4 datasheet DS12023 Table 58. LSE oscillator characteristics.
The drive strength RCC_LSEDRIVE_LOW is marginal for the 32kHz crystal oscillator stability, and RCC_LSEDRIVE_MEDIUMLOW meets the calculated drive strength with a small margin for parasitic capacitance.
2023-02-28 14:34:10 -08:00
Dan Halbert
859a48723f
Merge pull request #7633 from tannewt/fix_imx_pwm
Fix `pwmio` on iMX RT.
2023-02-28 14:11:06 -05:00
Scott Shawcroft
8e4626ffba
Merge pull request #7559 from startup-potech/main
Request to add a COSMO-Pico board
2023-02-28 09:49:31 -08:00
Scott Shawcroft
482ba05958
Merge pull request #7658 from titimoby/8.0.x.add_Lilygo_tembed
add support Lilygo T-embed esp32s3 board
2023-02-28 09:45:21 -08:00
Thierry Chantier
c6d38e4ba8 add support Lilygo T-embed esp32s3 board 2023-02-28 14:02:21 +00:00
Neradoc
f22f2a3662 enable bus device on hallowing M0 2023-02-27 18:44:08 +01:00
MicroDev
26bab620f7
Merge pull request #7626 from bill88t/wspico-psram-speedup
Waveshare ESP32-S2 Pico psram definition improvements
2023-02-25 16:15:24 +05:30
Dan Halbert
f9831b3bbc
Merge pull request #7639 from adafruit/8.0.x
Merge 8.0.x up to main
2023-02-24 19:32:09 -05:00
Dan Halbert
8c714ec864
Merge pull request #7497 from tannewt/banglejs2
Add Bangle.js 2, JDI memory displays and ACeP epd
2023-02-24 18:20:06 -05:00
Scott Shawcroft
adf5b7a23c
Merge pull request #7602 from milindmovasha/espressif-analogbufio
Espressif analogbufio implementation
2023-02-24 13:09:27 -08:00
Scott Shawcroft
144aed40e3
Rename flag. Turn on UTF-8 and flag on unix
Also added label portion to the test.
2023-02-24 12:23:59 -08:00
Scott Shawcroft
f832386cda
Merge remote-tracking branch 'adafruit/main' into banglejs2 2023-02-23 14:43:38 -08:00
Scott Shawcroft
b79661d631
Alphabetize, fix typo and remove incorrect comment 2023-02-23 14:34:54 -08:00
Dan Halbert
8996fda049
"an array" -> "array" 2023-02-23 13:55:52 -05:00
Dan Halbert
9058beb573
"a array" to "an array" 2023-02-23 13:41:49 -05:00
Scott Shawcroft
d5e936ce7b
Merge pull request #7628 from RetiredWizard/broadcomspi
Port/Broadcom Switch to "unmeasured" core clock speed check
2023-02-23 09:53:38 -08:00
Milind
9e73e8351a
Calling stop_dma function while retruning errors from start_dma after configuring dma 2023-02-23 14:47:05 +05:30
Milind
09f84e3513
Changed the code structure to start and stop dma from readinto function as per review comment to support one shot conversion mode for analogbufio
Added check for verifying the buffer type passed to readinto is H
2023-02-23 13:32:48 +05:30
RetiredWizard
ea8dd95931 Update common-hal routines with new params 2023-02-22 23:04:41 -05:00
RetiredWizard
08ac95a2eb Added updated submodule back 2023-02-22 23:03:53 -05:00
RetiredWizard
7cfc689f72 Removed peripherals submodule 2023-02-22 22:59:55 -05:00
RetiredWizard
c8dd0369a4 Added broadcom-peripherals back in 2023-02-22 20:12:39 -05:00
RetiredWizard
9cc27be0bf Removed broadcom-peripherals 2023-02-22 20:00:53 -05:00
Dan Halbert
460dda0426
Merge pull request #7616 from dhalbert/8.0.x-fix-atmel-uart
Fix pad assignments on atmel-samd UART
2023-02-22 17:24:29 -05:00
Scott Shawcroft
1acf65ee22
Fix pwmio on iMX RT.
It now handles deinit, never_reset and sharing tracking. PWM
now runs in the WAIT state as well during a time.sleep().

_reset_ok() was removed because it was called in one spot right
before deinit().

Some PWMOut were also switched to a bitmap for use instead of
reference count. That way init and deinit are idempotent.

Fixes #6589. Fixes #4841. Fixes #4541.
2023-02-22 11:22:39 -08:00