Commit Graph

27854 Commits

Author SHA1 Message Date
Dan Halbert
b29b7bfe32 Free ringbuf buffer by relying on gc, not gc_free() 2022-04-04 20:34:49 -04:00
EmergReanimator
f7fd168396 Incorporated feedback from PR. 2022-04-04 21:47:05 +02:00
Jeff Epler
fa4b4fa639
nrf: Correctly mark PWM unused during reset 2022-04-04 10:08:54 -05:00
Damien George
a43cfdd274
py/vm: Prevent array bound warning when using -MP_OBJ_ITER_BUF_NSLOTS.
This warning can happen on clang 13.0.1 building mpy-cross:

../py/vm.c:748:25: error: array index -3 refers past the last possible
  element for an array in 64-bit address space containing 64-bit (8-byte)
  elements (max possible 2305843009213693952 elements)
  [-Werror,-Warray-bounds]
                        sp[-MP_OBJ_ITER_BUF_NSLOTS + 1] = MP_OBJ_NULL;
                        ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~

Using pointer access instead of array access works around this warning.

Fixes issue #8467.

Signed-off-by: Damien George <damien@micropython.org>
2022-04-04 09:22:30 -05:00
Jeff Epler
683ece76db
MP3Decoder: Accurately inform when no more data
Some audio implementations, notably samd, really don't like it when
you return 0 samples of data. This was the case when reaching the
end of an MP3 file.

Now, we read forward in an MP3 file to the next sync word during
"get_buffer", so that we can accurately return GET_BUFFER_DONE when the
NEXT call WOULD HAVE resulted in 0 samples.

Tested with @gamblor21's "laugh.mp3" file on a Trellis M4 Express.
2022-04-04 09:16:27 -05:00
Mark
8ed7b114cd
Merge branch 'main' into uzlib-module 2022-04-03 11:48:37 -05:00
gamblor21
9d67e62f4d Removed from small board 2022-04-03 11:47:19 -05:00
gamblor21
7b586e077c Removed from small boards 2022-04-02 12:22:14 -05:00
gamblor21
161c992fa0 Improve help text 2022-04-02 09:19:30 -05:00
Dan Halbert
87e59a4448
Merge pull request #6224 from dhalbert/revert-pin-typer-click
revert pins of click and typer
2022-04-02 09:22:28 -04:00
EmergReanimator
8162a5de4b Fixed code style formatting according to pre-commit rules. 2022-04-02 12:47:43 +02:00
EmergReanimator
d9bf79d826 Fixed internal flash filesystem stub build issue
Internal filesystem stubs is used when both INTERNAL_FLASH_FILESYSTEM,
DISABLE_FILESYSTEM are set.
2022-04-02 12:39:16 +02:00
Dan Halbert
e31d84d890
Merge pull request #6222 from todbot/main
espressif_esp32s3_usb_otg_n8 add board.DISPLAY since already set up by CirPy
2022-04-01 23:49:04 -04:00
Dan Halbert
d20ae5ab24 revert pins of click and typer 2022-04-01 20:51:11 -04:00
Tod Kurt
390a473dda add board.DISPLAY since display already set up by CirPy 2022-04-01 15:08:43 -07:00
Dominic Davis-Foster
319ca8560c
Always configure the second PCNT channel. 2022-03-31 20:00:34 +01:00
Dan Halbert
d9418fb7a3
Merge pull request #6184 from PontusO/main
Added Challenger 840 board.
2022-03-30 21:18:43 -04:00
Dan Halbert
ec5c9507b9
Merge pull request #6187 from prplz/espressif-uart-workflow-fixes
Espressif: Fix interrupts in UART workflow
2022-03-30 21:18:02 -04:00
Dan Halbert
6fd968fc12
Merge pull request #6199 from erongd/muselab-wrover-spiram-fix
enable SPIRAM support on muselab nanoESP32S2 board
2022-03-30 21:14:59 -04:00
Dan Halbert
a4e6cba59b
Merge pull request #6196 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2022-03-30 21:12:37 -04:00
Dan Halbert
faca1ec3bf
Merge pull request #6212 from dhalbert/7.2.x-6103-backport
7.2.x #6103 backport
2022-03-30 19:47:57 -04:00
Hosted Weblate
66fc8af96a
Merge remote-tracking branch 'origin/main' 2022-03-30 19:35:53 +02:00
Dan Halbert
f059f7180c
Merge pull request #6208 from ZodiusInfuser/badger
Improvement to Badger 2040 operation on battery
2022-03-30 13:35:47 -04:00
ZodiusInfuser
336abdfbc7 Switch variable to extern 2022-03-30 17:44:36 +01:00
Pontus Oldberg
f2d10237d2
Merge branch 'adafruit:main' into main 2022-03-30 16:43:39 +02:00
BigTuna94
dd933c7d06 add NeoPixel lib to firmware 2022-03-30 09:17:26 -04:00
Dan Halbert
b032d42a71 Update ports/espressif/boards/adafruit_feather_esp32s2/pins.c 2022-03-29 12:46:58 -04:00
lady ada
2563c509f7 fix automatic i2c enablement with rev C 2022-03-29 12:46:51 -04:00
Dan Halbert
cf127df560
Merge pull request #6211 from dhalbert/7.2.x-6210-backport
backport click and typer pins #6210 to 7.2.x
2022-03-29 12:11:54 -04:00
Jeff Epler
29eed5c21f also pin typer for windows builds 2022-03-29 10:46:58 -04:00
Dan Halbert
d5868b42ff Pin typer and click to have compatible versions 2022-03-29 10:46:58 -04:00
ZodiusInfuser
7f3b3dd3af Empty-Commit 2022-03-29 11:36:39 +01:00
Hosted Weblate
92b1ec3874
Merge remote-tracking branch 'origin/main' 2022-03-29 04:42:27 +02:00
Dan Halbert
07f8ceb801
Merge pull request #6210 from dhalbert/pin-typer-and-click
Pin typer and click to have compatible versions
2022-03-28 22:42:22 -04:00
Jeff Epler
9a88c85657
also pin typer for windows builds 2022-03-28 19:37:18 -05:00
Dan Halbert
682b5cac2f Pin typer and click to have compatible versions 2022-03-28 19:45:42 -04:00
ZodiusInfuser
f07cfdd80c Linting fixes 2022-03-28 18:34:39 +01:00
Hosted Weblate
c398cbaa7e
Merge remote-tracking branch 'origin/main' 2022-03-28 19:29:33 +02:00
Dan Halbert
c6bfe54dc8
Merge pull request #6209 from ZodiusInfuser/servo
Pin rename on Servo2040 to match schematic and C++/MP board defs
2022-03-28 13:29:27 -04:00
ZodiusInfuser
c2fb44b36c Set enable pin to high during boot 2022-03-28 15:56:02 +01:00
ZodiusInfuser
b44a2a0c8e Updated pin name to match schematic 2022-03-28 14:07:08 +01:00
Dominic Davis-Foster
6d025a239e
Add espressif rotaryio divisor support. 2022-03-28 09:04:02 +01:00
gamblor21
0d3f45bef8 Remove move DecompIO files 2022-03-27 16:18:56 -05:00
Michael Himing
f96cd7361d Fix esp32s2 build 2022-03-27 10:09:23 +11:00
Hosted Weblate
36014c04f8
Merge remote-tracking branch 'origin/main' 2022-03-26 21:05:35 +01:00
Hosted Weblate
b2d3fd7e48
Merge remote-tracking branch 'origin/main' 2022-03-26 21:05:33 +01:00
Jeff Epler
dd73182441
Merge pull request #6190 from tannewt/esp32s3_usb_devkit
Add ESP32-S3-USB-OTG board
2022-03-26 15:05:30 -05:00
Jeff Epler
35aa32bec0
Merge pull request #6193 from tannewt/fix_empty_mdns
Fix MDNS crash on S2
2022-03-26 15:05:17 -05:00
Jeff Epler
372306411a
samd: Don't rely on RTC interrupt
I instrumented RTC_Handler and determined that on SAMD51 it was possible
for the interrupt to be delivered well before the actual overflow of the
RTC COUNT register (e.g., a value as small as 0xffff_fffd could be seen
at the time of overflow)

Rather than depending on the overflow interrupt coming in at the same time
as COUNT overflows (exactly), rely only on observed values of COUNT in
_get_count, overflowing when it wraps around from a high value to a low
one.

With this change, PLUS a second change so that it is possible to warp
the RTC counter close to an overflow and test in 20ms instead of 3 days,
there was no problem detected over 20000+ overflows. Before, a substantial
fraction (much greater than 10%) of overflows failed.

Fixes #5985

Change to common-hal/rtc/RTC.c for time warping (plus make rtc_old_count non-static):
```patch
 void common_hal_rtc_set_calibration(int calibration) {
+
+    common_hal_mcu_disable_interrupts();
+
+        RTC->MODE0.COUNT.reg = 0xffffff00;
+        rtc_old_count = 0;
+        do {
+        while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COUNTSYNC | RTC_MODE0_SYNCBUSY_COUNT)) != 0) { }
+    }
+    while(RTC->MODE0.COUNT.reg < 0xffffff00);
+    common_hal_mcu_enable_interrupts();
+
+    mp_printf(&mp_plat_print, "Warping RTC in calibration setter count=%08x rtc_old_count=%08x\n", RTC->MODE0.COUNT.reg, rtc_old_count);
```

Test program:
```python
import time
from rtc import RTC

i = 0
while True:
    RTC().calibration = 1 # Warps to ~16ms before overflow, with patch to RTC code
    t0 = time.monotonic_ns()
    et = t0 + 20_000_000 # 20ms
    while (t1 := time.monotonic_ns()) < et: pass
    i += 1
    print(f"{i:6d}: duration {t1-t0}")
    if t1-t0 > 200_000_000: break
    print()
```
2022-03-25 14:48:03 -05:00
Michael Himing
686012426d Espressif: Fix interrupts in UART workflow 2022-03-25 16:20:04 +11:00