Commit Graph

30884 Commits

Author SHA1 Message Date
Jeff Epler
b235b50647
mimxrt: no longer need to collect the pin chainge interrupt ptrs
.. the objects on the gc heap are guaranteed to be alive, as their
finali(s/z)er will disable the interrupt.
2023-03-23 09:58:40 -05:00
Jeff Epler
50ba218afb
PulseIn, Counter: give finali(s/z)ers to these types too
for similar reasons, an interrupt handler might point at these
objects, and we can worry less about it if the object deinits when it
is GC'd.
2023-03-23 09:57:32 -05:00
Jeff Epler
c45db1c1eb
incrementalencoder: give it a finaliser 2023-03-23 09:56:14 -05:00
Jeff Epler
de74b63472
move pin change interrupt stuff to peripherals 2023-03-23 09:28:14 -05:00
Jeff Epler
d247e5c6c9
Add the ability for a port to gc things, collect pin change objects that way 2023-03-23 09:16:00 -05:00
Jeff Epler
47e1abdbc7
Add IncrementalEncoder for mimxrt1011
.. and write a general 'pin change interrupt' facility to power it

This uses the same quadrature state machine as atmel-samd, nrf, and
rp2040. The 1011 doesn't have a dedicated encoder peripheral, so we
go the pin-change + software route.
2023-03-23 09:14:58 -05:00
Jeff Epler
b50c80e3d9
remove unused macro 2023-03-23 09:12:46 -05:00
Dan Halbert
b947605ab7
Touch up 2023-03-23 09:24:11 -04:00
Dan Halbert
db76fbd55f
Merge pull request #7712 from gamblor21/ondiskgif_freemem_fix
Add deinit to OnDiskGif
2023-03-23 09:03:07 -04:00
ozgurbostan
b38c0a4dc1 Add new boards (deneyapkart/1a/g) 2023-03-23 14:32:01 +03:00
ozgurbostan
81e71c706f Update pre-commit 2023-03-23 13:13:56 +03:00
hathach
66129311f4
fix pre-commit format 2023-03-23 14:19:36 +07:00
hathach
8c1095b268
Merge branch 'main' into add-codespell 2023-03-23 14:09:57 +07:00
hathach
bce1e7e280
Revert changes in lib/ 2023-03-23 14:01:20 +07:00
hathach
a8abe8e705
remove lib from exludes, fix all remaining typos 2023-03-23 13:59:08 +07:00
gamblor21
52631bb1c5 Restore OnDiskGif deinit 2023-03-22 22:30:38 -05:00
gamblor21
00d78f7cfe Merge branch 'ondiskgif_freemem_fix' of https://github.com/gamblor21/circuitpython into ondiskgif_freemem_fix 2023-03-22 22:24:39 -05:00
Dan Halbert
45599258c9 fix missing close brace 2023-03-22 22:00:59 -04:00
gamblor21
e993d0f3c3 Missing brace 2023-03-22 20:19:09 -05:00
gamblor21
98ebc676ce Added documentation about freeing a GIF 2023-03-22 19:20:20 -05:00
Dan Halbert
2365f9b3be shrink SAMD21 builds; rework shrink logic in Makefile 2023-03-22 19:20:20 -05:00
gamblor21
3020893ba2 Tweak to try to reduce low space builds 2023-03-22 19:20:20 -05:00
gamblor21
2c1e2061db Change free function 2023-03-22 19:20:20 -05:00
gamblor21
aa423cc1c6 Free memory allocated by bitmap obj 2023-03-22 19:20:20 -05:00
gamblor21
07e83674c9 Add deinit to displayio.Bitmap 2023-03-22 19:20:20 -05:00
gamblor21
8b9f5e7f53 Remove del obj and add deinited 2023-03-22 19:20:20 -05:00
Dan Halbert
2492fb0b0a
Merge pull request #7780 from jepler/fix-struct-pack
use `values` in this error message ...
2023-03-22 20:19:08 -04:00
Dan Halbert
05e783cbbd
Merge pull request #7775 from tannewt/fix_pyportal
Add more checks for read-only Bitmaps
2023-03-22 20:16:43 -04:00
Dan Halbert
3ef2b7f81f
Merge pull request #7777 from tannewt/fix_epd_grayscale
Fix tricolor epd and add EPD feather
2023-03-22 20:13:23 -04:00
Dan Halbert
2282d8ea2d
Merge pull request #7779 from jepler/revert-socket-error
Revert "Correctly raise OS error in socketpool_socket_recv_into()"
2023-03-22 20:10:03 -04:00
Dan Halbert
d45cde1d6f
Merge pull request #7776 from dhalbert/metro-m7-esp-tx-rx-swap
Swap ESP32 RX and TX pins on Metro M7 1011
2023-03-22 20:09:38 -04:00
jposada202020
29613c73e1 pre-commit 2023-03-22 19:05:18 -04:00
jposada202020
0b3099a9ff adding bitmaptools circle 2023-03-22 18:44:45 -04:00
Jeff Epler
127a7092bf
use values in this error message ...
matching the documentation of struct.pack, which has `def pack(fmt: str,
*values: Any)` as the signature.
2023-03-22 16:11:22 -05:00
Dan Halbert
75413040b6
Merge pull request #7774 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2023-03-22 15:50:17 -04:00
Jeff Epler
e05f0ba3b2
Revert "Correctly raise OS error in socketpool_socket_recv_into()"
This reverts commit 7e6e824d56.

Fixes #7770

The change in #7623 needs to be revered; the raise-site added in #7632
is the correct one and the one in socketpool needs to be reverted.

This is not affecting 8.0.x because #7623 was not back-ported to there
before we realized it was not a full fix.

Both #7770 and #7606 should be re-tested. I didn't test.
2023-03-22 14:32:06 -05:00
Scott Shawcroft
16c8dad078
Fix Pallete cache for grayscale and tricolor epd 2023-03-22 11:54:43 -07:00
Scott Shawcroft
a280c010c2
Fix tricolor epd and add EPD feather 2023-03-22 11:14:38 -07:00
Dan Halbert
57188885d3 Swap ESP32 RX and TX pins on Metro M7 1011 2023-03-22 14:08:03 -04:00
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
Scott Shawcroft
36dbaf4ccc
Add more checks for read-only Bitmaps
Fixes #7768
2023-03-22 10:14:42 -07:00
Hosted Weblate
c221e9488a
Merge remote-tracking branch 'origin/main' 2023-03-22 18:11:43 +01: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
Hosted Weblate
47192bdc21
Merge remote-tracking branch 'origin/main' 2023-03-22 17:57:20 +01: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
Hosted Weblate
0d5478a84e
Merge remote-tracking branch 'origin/main' 2023-03-22 17:56:40 +01:00