Commit Graph

27649 Commits

Author SHA1 Message Date
Reece Robinson 4b0f80f081 Enable support for extended HID usage page and usage. Related to Support HID Usage Pages and Usages >255 #5529 2022-04-05 13:54:07 +12:00
Dan Halbert 076d9f74a5
Merge pull request #6233 from jepler/nrf-fix-pwm-reset
nrf: Correctly mark PWM unused during reset
2022-04-04 20:46:07 -04:00
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
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