Commit graph

36187 commits

Author SHA1 Message Date
Dan Halbert
f810f4d088
Merge pull request #9289 from tannewt/esp_ble_bonding
Support BLE pairing and bonding on ESP
2024-05-31 23:21:55 -04:00
Scott Shawcroft
79ef1f73b3
Support BLE pairing and bonding on ESP 2024-05-31 15:05:48 -07:00
Scott Shawcroft
7a27366182
Merge pull request #9285 from dhalbert/nordic-gc-event-handlers
nordic/bluetooth/ble_drv.c: gc entire event handler list
2024-05-31 10:16:54 -07:00
Dan Halbert
c47f013b9f
Merge pull request #9287 from fetsnleds/another-missing-pin-esp32s3-devkitm
Add another missing pin for ESP32-S3-DevKitM-1
2024-05-31 09:50:16 -04:00
Thomas Raffler
3913251437 add missing GPIO33 to esp32s3_devkitm 2024-05-31 14:57:02 +02:00
Tobias Schmale
660822ab97 update esp-idf and enable riscv ulp 2024-05-31 08:38:05 +00:00
a5c4a86349 MP3Decoder: ssize_t type is not portable, don't use it 2024-05-30 16:45:35 -05:00
Dan Halbert
86f8210127 nordic/bluetooth/ble_drv.c: gc entire event handler list 2024-05-30 16:47:58 -04:00
2f3d371762 update expected result due to addition of audiomp3 module 2024-05-30 14:49:09 -05:00
dffc55ee17 MP3Decoder: STATIC -> static 2024-05-30 14:32:48 -05:00
9bc89f5fba MP3Decoder: better handle INDATA_UNDERFLOW & MAINDATA_UNDERFLOW
This allows playback of some 128k http streams from somafm, though
glitches occur with some regularity.

```py
import time

import adafruit_connection_manager
import adafruit_requests
import audiobusio
import audiomixer
import audiomp3
import board
import wifi

pool = adafruit_connection_manager.get_radio_socketpool(wifi.radio)
ssl_context = adafruit_connection_manager.get_radio_ssl_context(wifi.radio)
requests = adafruit_requests.Session(pool, ssl_context)

# todo: parse PLS files like https://somafm.com/nossl/dronezone.pls
# todo: figure out why https URLs don't work at all (missing select?)
# STREAMING_URL = "http://ice2.somafm.com/dronezone-128-mp3"
STREAMING_URL = "http://ice4.somafm.com/tikitime-128-mp3"


def get_mp3_stream():
    if STREAMING_URL.startswith("http:") or STREAMING_URL.startswith("https:"):
        return requests.get(STREAMING_URL, headers={"connection": "close"}).socket
    return open(STREAMING_URL, "rb")


mixer_buffer_size = 1152 * 16
mp3_buffer = bytearray(16384)

with audiobusio.I2SOut(
    bit_clock=board.D12, word_select=board.D13, data=board.D11
) as i2s, get_mp3_stream() as stream, audiomp3.MP3Decoder(
    stream, mp3_buffer
) as sample, audiomixer.Mixer(
    channel_count=2, sample_rate=44100, buffer_size=mixer_buffer_size
) as m:

    v = m.voice[0]
    print(sample)

    i2s.play(m)

    v.play(sample, loop=False)
    while v.playing:
        time.sleep(0.1)
```
2024-05-30 14:22:51 -05:00
974b21a079 MP3Decoder: do better at keeping stream buffer full 2024-05-30 14:22:51 -05:00
a80311d4c0 MP3Decoder: make testable in coverage build
An mp3 decoder (note that this needs `audiocore.get_buffer`, not
enabled on devices):
```py
import sys
import audiomp3
import audiocore

GET_BUFFER_DONE, GET_BUFFER_MORE_DATA, GET_BUFFER_ERROR = range(3)

with audiomp3.MP3Decoder(sys.argv[1]) as decoder, open(sys.argv[2], "wb") as target:

    while True:
        res, samples = audiocore.get_buffer(decoder)
        if res != GET_BUFFER_ERROR:
            target.write(samples)
        if res != GET_BUFFER_MORE_DATA:
            break
```

this doesn't actually add any tests though
2024-05-30 14:22:39 -05:00
d6ddd55462 MP3Decoder: Allow passing any stream-like object
This can sort-of play MP3s from a http request, but the buffering is
not good enough to play glitch-free. A new kind of buffer that can
read ahead further without blocking is needed.
2024-05-30 14:21:34 -05:00
Scott Shawcroft
c2443f993f
Merge pull request #9278 from timchinowsky/main
Add board details and reporting to documentation utilities
2024-05-30 10:08:34 -07:00
Tim
707e8e9d24 merging from upstream 2024-05-30 09:17:06 -07:00
Tim
8d0f00de65 re-check 2024-05-30 09:14:48 -07:00
timchinowsky
a3d7a2c4df
Merge branch 'adafruit:main' into main 2024-05-29 16:00:56 -07:00
Tim
0c9a683ad7 move board_summaries.py to tools 2024-05-29 15:59:52 -07:00
Scott Shawcroft
b799ee89d3
Merge pull request #9243 from Bridgetek/main
espressif: Enable the _eve module
2024-05-29 11:15:54 -07:00
Dan Halbert
0b72f712a7
Merge pull request #9280 from bill88t/cardputer_gripes
Add BAT_ADC pin to cardputer
2024-05-29 13:40:11 -04:00
Dan Halbert
c2969351c5
Merge pull request #9281 from autosportlabs/main
Add support for AutosportLabs ESP32-CAN-X2
2024-05-28 14:26:57 -04:00
Brent Picasso
c19d3104c4 update VID, PID, product and manufacturer for ESP32-CAN-X2 2024-05-28 10:23:41 -07:00
Brent Picasso
663eb1186a remove reference to neopixel 2024-05-28 10:08:26 -07:00
Brent Picasso
6dcb96a9d5 flip order and formatting for LED1 and LED 2024-05-28 10:06:41 -07:00
Brent Picasso
f4e7c42527 add board support for autosportlabs_esp32_can_x2 2024-05-28 10:04:44 -07:00
Tuan Nguyen
ac552b291b espressif: Disable the _eve module on boards with 4MB flash size
Signed-off-by: Tuan Nguyen <tuan.nguyen@brtchip.com>
2024-05-28 10:38:58 +07:00
Bill Sideris
5928600cf0
Remove extra newline 2024-05-27 23:55:38 +03:00
Bill Sideris
e5b94d1040
Add BAT_ADC pin 2024-05-27 23:38:12 +03:00
Tobias Schmale
89cad0c379 espulp: update docs 2024-05-26 16:06:40 +00:00
Tuan Nguyen
8d578670be espressif: Enable the _eve module by default for future ESP boards
-  Refactored build configurations into mpconfigport

Signed-off-by: Tuan Nguyen <tuan.nguyen@brtchip.com>
2024-05-26 22:59:13 +07:00
Tim
008ae936da add board summaries 2024-05-26 08:17:51 -07:00
Tobias Schmale
52878c69cf fix pre-commit issues 2024-05-26 14:21:37 +00:00
Sola85
1a65c97de3
Merge branch 'main' into improve_espulp 2024-05-26 15:48:57 +02:00
Tobias Schmale
91309402ea espulp: fix indentation 2024-05-26 13:01:36 +00:00
Tobias Schmale
fb4da28f61 espulp: update docs and fix halt() for esp32 2024-05-26 12:59:39 +00:00
Tobias Schmale
b5b13f5356 espulp: update docs 2024-05-25 15:35:46 +00:00
Dan Halbert
5cc8d44687
Merge pull request #9273 from bill88t/cardputer_gripes
Some cardputer definition improvements
2024-05-25 10:38:14 -04:00
Bill Sideris
5850f01cbe
Some cardputer definition improvements 2024-05-25 00:56:56 +03:00
Scott Shawcroft
d27f8e9f04
Merge pull request #9272 from dhalbert/analog-esp32-doc
shared-bindings/analogio/AnalogIn.c: fix Espressif limitations doc
2024-05-24 09:52:28 -07:00
Dan Halbert
c9b5002897 shared-bindings/analogio/AnalogIn.c: fix Espressif limitations doc 2024-05-24 10:24:25 -04:00
Scott Shawcroft
5339e96f06
Merge pull request #9271 from dhalbert/update-frozen-modules-9.1.0-beta.3
update frozen modules for 9.1.0-beta.3
2024-05-22 12:31:25 -07:00
Dan Halbert
39c203aabb update frozen modules for 9.1.0-beta.3 2024-05-22 15:16:29 -04:00
Dan Halbert
3418992988
Merge pull request #9251 from jepler/fix-udp-raw-socket-connect
set the connected status of a socket after UDP & raw connect
2024-05-22 13:11:24 -04:00
Scott Shawcroft
138200628f
Merge pull request #9267 from dhalbert/fix-re-escape-warnings
fix a few regexps that are better as raw strings
2024-05-22 10:09:52 -07:00
Scott Shawcroft
02f106f60e
Merge pull request #9269 from dhalbert/9.0.5-merge-to-main
9.0.5 merge to main
2024-05-22 10:06:22 -07:00
Dan Halbert
40e4e97368 Merge branch '9.0.x' of https://github.com/adafruit/circuitpython into 9.0.5-merge-to-main 2024-05-22 10:18:56 -04:00
Dan Halbert
1a3c47190a
Merge pull request #9266 from jepler/improve-exception-chaining
Fix exception chaining for non-built-in exceptions
2024-05-21 18:41:33 -04:00
Dan Halbert
16e9fe6ce6 fix a few regexps that are better as raw strings 2024-05-21 18:26:26 -04:00
94db02f369 function may be unused 2024-05-21 16:49:10 -04:00