Commit graph

3266 commits

Author SHA1 Message Date
b330989704 sslsocket: Simplify handling the timeout value
We're just going to pass it down to the underlying socket, so don't
parse it, multiply it, etc.
2024-03-21 13:54:40 -05:00
c793a021b8 ssl: work on anything implementing the socket protocol
In principle this allows core SSL code to be used with e.g., wiznet
or airlift sockets. It might actually be useful with wiznet ethernet devices
(it's probably not with airlift)
2024-03-21 13:54:40 -05:00
5973c4a86c socketpool: factor out constants
This header can be used by ssl even if there's no core socketpool
2024-03-21 13:54:40 -05:00
0c1db5e0cc socketpool: add type property to Socket objects
cpython socket objects have a `type` property which gives their
type as an integer (e.g., SOCK_STREAM). Add this for compatibility with
standard Python. It's needed for ssl, which currently just grabs the
value directly from an internal structure (naughty!)
2024-03-21 13:54:40 -05:00
7e7918ea80 socketpool: alphabetize dict names 2024-03-21 13:54:40 -05:00
foamyguy
7fd13b41b2 update busdisplay docstring example code 2024-03-21 11:31:56 -05:00
Scott Shawcroft
e81e5587a2
Merge pull request #9062 from dhalbert/nrf-to-nordic
rename ports/nrf to ports/nordic
2024-03-20 09:48:12 -07:00
Dan Halbert
dc69c29dac rename ports/nrf to ports/nordic 2024-03-19 17:36:57 -04:00
CDarius
d8a4c5088d Fix documentation 2024-03-19 10:21:11 +01:00
CDarius
bb683fa4cf Renamed module 'keypaddemux' in 'keypad_demux' and fix documentation 2024-03-19 09:59:02 +01:00
CDarius
8883416349
Update shared-bindings/keypaddemux/DemuxKeyMatrix.c
Co-authored-by: Dan Halbert <halbert@adafruit.com>
2024-03-18 17:43:37 +01:00
CDarius
8f1a4fdbc0 Fix documentation 2024-03-18 17:34:05 +01:00
CDarius
88b4e38625 Moved DemuxKeyMatrix in the keypaddemux module 2024-03-18 17:11:34 +01:00
CDarius
d7bc2c26d7 Disabled DemuxKeyMatrix in all atmel-samd boards. Some boards do not have enuogh flash space 2024-03-13 12:12:38 +01:00
CDarius
b0f67be079 Merge branch 'main' into cardputer_keyboard 2024-03-12 10:30:53 +01:00
CDarius
c5c78d3235 Moved DemuxKeyMatrix from board specific to a shared module 2024-03-12 10:28:08 +01:00
RetiredWizard
46c077766b Fix serial_bytes_available documentation 2024-03-11 00:51:53 -04:00
Scott Shawcroft
8d16e8e45f
Tweak watchdog
* Make setting timeout "feed" the watchdog.
* Fix #9010, timing on ESP
2024-03-06 12:17:31 -08:00
Dan Halbert
ffa45dedb1
Merge pull request #8989 from MariuszCwikla/hid_interface_name
usb_hid.set_interface_name
2024-03-03 10:22:27 -05:00
Mariusz Ćwikła
52c38c8914 usb_hid.set_interface_name: use port_malloc to allocate memory for interface name 2024-03-03 09:11:59 +01:00
MariuszCwikla
bf0f9e4125
Reword usb_hid.set_interface_name
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2024-03-02 13:32:19 +01:00
Scott Shawcroft
a13e65d2d1
Add specific conf.py for RTD 2024-02-29 10:51:41 -08:00
Mariusz Ćwikła
898708a1cc usb_hid.set_interface_name 2024-02-28 16:34:34 +01:00
Dan Halbert
c219d89b1f
Merge pull request #8820 from romkey/8790-ap-connected-devices
New methods to get list of associated stations in access point mode and get maximum number of stations that can be associated
2024-02-22 09:28:53 -05:00
Dan Halbert
135f4f90a1
Merge pull request #8966 from tannewt/samd_pulsein_reset
Switch to finaliser for PWMOut and audiopwmio
2024-02-21 21:14:38 -05:00
Scott Shawcroft
777d79a6af
Switch to finaliser for PWMOut and audiopwmio
Fixes #8726 which was caused by a mix of bulk reset and finaliser
use.

Work towards #8960.
2024-02-21 11:53:29 -08:00
Scott Shawcroft
605c39c8db
Fix ssl.SSLSocket bind() error checking
Non-ssl sockets now return size_t error numbers, not bool.

Fixes #8947
2024-02-20 15:46:06 -08:00
John Romkey
d1a10a8f42 removed max_stations call - difficult to do properly on Espressif and no one asked for it 2024-02-20 10:02:43 -08:00
John Romkey
b0800eeee8 updated doc string on stations_ap 2024-02-18 21:57:31 -08:00
John Romkey
d0bfd3dae9 Merge branch 'main' into new 2024-02-18 21:50:30 -08:00
John Romkey
608c01a4d3 stations_ap now returns None instead of throwing an exception if not in AP mode
return value is now a list of named tuples with three elements

IP address is now None instead of 0.0.0.0 if there's no lease information
2024-02-18 21:47:52 -08:00
Scott Shawcroft
9f3987aa3c
Require explicit socket port reuse
Doing it implicitly can lead to mistaken socket leaks and reuse.
It now matches CPython.

Fixes #8443
2024-02-16 14:31:19 -08:00
294d563d04
Merge pull request #8928 from tannewt/imx_fixes
Numerous iMX fixes and SDK update
2024-02-16 10:51:01 -06:00
Scott Shawcroft
4d1f558361
Numerous iMX fixes and SDK update
* Fixes #4954. Leaving GPIO in output mode messed with ADC readings.
* Fixes #8018 and fixes #6537. UART rx was more complicated than it needed to be.
* Fixes #5581. uart reset is handled by finalizer. Added i2c_reset()
  call and reservation check.
2024-02-15 15:34:20 -08:00
9abe273afa mbedtls: move to shared-module
this enables the implementation to be shared among ports.
2024-02-15 13:30:09 -06:00
0d1e4dbbb0 random: fix getrandbits(0)
this is defined by python (returns 0) and tested in a test
2024-02-13 17:00:52 -06:00
85525c7e63 Use MICROPY_FLOAT_CONST 2024-02-13 17:00:52 -06:00
Dan Halbert
49d952c516
Merge pull request #8909 from tannewt/replace_legacy_esp_drivers
Remove old pcnt, rmt and timer group drivers
2024-02-13 17:58:08 -05:00
Scott Shawcroft
d1e710fb4b
Merge remote-tracking branch 'adafruit/8.2.x' into merge_in_8.2.x 2024-02-13 11:18:56 -08:00
RetiredWizard
44e58624ed Add fixes to a couple incorrect type annotations (#8895) 2024-02-13 13:07:57 -05:00
Scott Shawcroft
b1609ab552
Remove old pcnt, rmt and timer group drivers
The new ones handle resource tracking for us. They also do a
better job running when the flash cache is disabled, which is the
source of bugs when interacting with flash over USB.

Fixes #6998 and fixes #8379
2024-02-12 16:09:25 -08:00
RetiredWizard
2490303a23 Add pre-commit changes (black 24.11) formattings changes 2024-02-12 16:56:21 -05:00
foamyguy
0ea8e58aec example code Bitmap argument 2024-02-11 16:50:58 -06:00
9a71fdb93b Fix a couple of incorrect type annotations
h/t @justmobilize in https://github.com/adafruit/circuitpython/issues/8891
2024-02-08 14:59:58 -08:00
Scott Shawcroft
50acd03d1d
Fix type stub 2024-02-07 13:51:34 -08:00
Scott Shawcroft
e82f7be485
Merge remote-tracking branch 'adafruit/main' into esp_parallelbus 2024-02-07 10:56:14 -08:00
foamyguy
3c969c41ef remove if, remove +/- 1, add blit test 2024-02-05 09:32:22 -06:00
foamyguy
00a31147f0 code format 2024-02-03 17:27:16 -06:00
foamyguy
d1f9579b84 only validate range if max > min 2024-02-03 17:18:43 -06:00
3fbbc7597b fix markup 2024-01-31 12:42:48 -06:00
da5ba9a76a Rename & improve doc 2024-01-31 12:03:12 -06:00
1c52844cf3 fix signature of function 2024-01-31 09:06:25 -06:00
1c95a85ceb Merge remote-tracking branch 'origin/main' into q-and-d-uvc 2024-01-31 08:27:13 -06:00
Scott Shawcroft
3b15931724
Re-enable paralleldisplaybus on ESP
Add lilygo t-display s3 because it has a parallel display.

Fixes #8437
2024-01-30 11:39:00 -08:00
43c036aa48 fix stub documentation 2024-01-30 12:11:26 -06:00
8c85fe2348 fix type annotations 2024-01-29 16:06:24 -06:00
f5bf485426 use handy macro instead 2024-01-29 11:15:56 -06:00
943825f8be Add bitmapfilter.blend
This can perform arbitrary channel mixing between two images.
Alpha blend & maximum functions are demonstrated in the test.
However, it should make most of the usual photo editing blends
possible. (for dissolve, fill a mask bitmap with random values,
which may be expensive to do from circuitpython code; we can
specifically accelerate it if we need to)
2024-01-29 11:15:35 -06:00
f2c40d77d2 uvc: remove traces of the bitmap mode of operation 2024-01-26 09:29:03 -06:00
e47c58ae34 uvc: Add UVCFramebuffer
This replaces the earlier, Bitmap-based way of interacting with the
UVC framebuffer.

Typical usage:
```py
displayio.release_displays()
display = frambufferio.FramebufferDisplay(uvc.UVCFramebuffer())
```

This works on a MacroPad with a 128x128 framebuffer, but does not work
on a QT Py esp32s3.

On esp32s3, having the UVC-configuring line alone causes a hard-fault
at startup. However, disabling some other USB devices allows it to boot
and run code.py:
```py
import uvc
import usb_hid
import usb_midi

usb_hid.disable()
usb_midi.disable()

uvc.enable_framebuffer(64, 64)
```
however, as far as I can tell within qv4l2, the device never actually
transmits a frame of data (received frame count never increases).
I have not yet analyzed this failure in further detail.
2024-01-25 13:59:29 -06:00
Dan Halbert
370b011081
Merge pull request #8830 from dhalbert/hid-wakeup
shared-module/usb_hid: allow HID to wake sleeping host computer
2024-01-25 14:44:02 -05:00
d89ccbe9c8
Add swapbuffers
this still seems to encounter some tearing, but it's not clear to me
why. It reduces it greatly.
2024-01-25 12:42:25 -06:00
Scott Shawcroft
1b25e6472b
Consolidate PWMOUT error enum
We already consolidated the resulting message
2024-01-25 10:13:04 -08:00
Dan Halbert
62da707623 shared-bindings/usb_hid: add wakeup documentation 2024-01-24 14:07:52 -05:00
8d6d559b02
uvc: make width, height boot configurable; disable by default 2024-01-24 10:32:23 -06:00
Scott Shawcroft
9538e0067b
Merge remote-tracking branch 'adafruit/main' into ww_sd_card 2024-01-22 17:14:06 -08:00
Scott Shawcroft
8426773af4
Standardize more error messages to save space 2024-01-22 17:08:30 -08:00
Phil Underwood
9f016796e0 Make range check test against source bitmap, not destination 2024-01-22 16:53:00 +00:00
6b74263a71
uvc: Experimental module for USB video
This allows the CircuitPython device to act as a UVC video source.
2024-01-22 10:44:42 -06:00
3615745956
typo 2024-01-22 10:44:36 -06:00
Scott Shawcroft
61ec3280d1
Optimize error messages 2024-01-19 21:31:58 -08:00
152890b8a8
improve documentation again 2024-01-18 17:40:47 -06:00
961a63b3ee
Require use of the ChannelMixer / ChannelScaler types in mix()
.. and update the test accordingly, fixing a bug discovered in the
process.
2024-01-18 17:16:44 -06:00
ff3947a74a
bitmapfilter: improve documentation 2024-01-18 13:25:13 -06:00
2ed31b687a
bitmapfilter: Doc improvements. 2024-01-18 11:24:55 -06:00
ce5c108642
bitmapfilter: Doc improvements. 2024-01-18 10:22:30 -06:00
1ff6e1a025
Add namedtuple objects for mix() operation variants 2024-01-18 09:29:46 -06:00
c8bb1f527e
Doc improvements 2024-01-18 09:29:19 -06:00
db7ade2609
Update __init__.c 2024-01-17 21:22:07 -06:00
0e1908ffa5
Update shared-bindings/bitmapfilter/__init__.c
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2024-01-17 21:19:42 -06:00
Scott Shawcroft
25e862d110
Make SD cards available over web workflow
This changes storage.mount() to require that a mount point exist
on the parent file system.

A bug in background tasks is also fixed where the function
parameter is cleared on pending callbacks during "reset".

Disk usage is shown on the directory listing and changes based on
the mounted file system. Writable is also loaded per-directory.

Fixes #8108. Fixes #8690. Fixes #8107.
2024-01-16 14:12:16 -08:00
0c36c1558e
Remove morph9, we're tight on flash space as it is
.. and no specific use case for morph9 is known that can't be done
with mix+morph.

Saves ~1800 bytes on Memento
2024-01-15 14:08:13 -06:00
6dc33a8efb
optimize morph9
This reduces the time from about 133ms to about 122ms on my test
image on the memento pycamera

a similar change to morph did not produce a performance improvement,
so I didn't include it.
2024-01-14 11:17:55 -06:00
26fe085763
the correct type is int, which doesn't have any comparison problems 2024-01-12 19:51:10 -06:00
6e553e763c
Add, test morph9
morph9 is a form of morph which performs 9 different convolutions,
like a version of mix where each coefficient is a (2n+1)x(2n+1) matrix.

Most use cases are covered by morph-then-mix, but some advanced operations
may be more efficient to implement via morph9.
2024-01-12 17:32:45 -06:00
902a36d03f
didn't actually add Sequence[int] support to false_color 2024-01-12 12:44:06 -06:00
4a09827796
Review & update bitmapfilter documentation 2024-01-12 10:55:26 -06:00
6d30ff527a
Add false_color 2024-01-12 10:48:26 -06:00
e3a5e48ba5
Lookup table argument is required in bitmapfilter.lookup 2024-01-12 10:19:25 -06:00
94123725f7
Add ColorConverter & Palette to coverage build 2024-01-12 10:18:48 -06:00
ff22baa37f
Add lookup table (LUT) 2024-01-11 14:40:01 -06:00
1365a06321
bitmapfilter: return bitmap from the functions. add 6-number mix() 2024-01-11 11:58:49 -06:00
4cb193d9c9
bitmapfilter: Add solarize, add comments 2024-01-10 15:32:59 -06:00
7e1c05edf5
morph: accommodate fractional add values 2024-01-09 17:11:53 -06:00
36411203ff
Add bitmapfilter.mix
This allows operations between channels in an image. It can be used for
the following use cases:
 * Conversion to B&W or sepia
 * Adding color casts
 * Mixing or swapping arbitrary channels
 * Inverting or scaling arbitrary channels
2024-01-09 15:00:42 -06:00
214ebc3955
morph improvements
* weight can be any sequence (& test it)
 * improve error message
 * correct documentation of ``mask`` vs copypaste from openmv
2024-01-08 08:57:20 -06:00
7e23fac766
bitmapfilter: refine morph, add docs 2024-01-06 13:34:42 -06:00
75be426377
Add "bitmapfilter"
bitmapfilter.morph is taken from openmv's imlib.

It is substantially faster than blur/sharpen implemented in ulab,
by up to 10x. It also avoids making many allocations.
2024-01-05 14:16:00 -06:00
Dan Halbert
bbff8b5638
Merge pull request #8784 from jepler/jpegio-y-coordinate
Correct y= argument of JpegDecoder.decode
2024-01-04 16:19:36 -05:00
35258215ca
Correct y= argument of JpegDecoder.decode
.. update the tests as well. Don't dump the bitmap when the bitmaps
already compared equal for the crop and position tests.
2024-01-04 13:11:32 -06:00
1bc616cfb5
Merge pull request #8749 from jepler/mbedtls-hashlib
Share the implementation of hashlib across ports
2024-01-04 10:34:22 -06:00
2f325740c2
Merge remote-tracking branch 'origin/8.2.x' into merge-8.2.x 2023-12-29 15:05:19 -06:00
CarsonCoder
9feadb030f Fix compilation errors 2023-12-29 12:54:02 -05:00
CarsonCoder
a9585a002c Fix compilation errors 2023-12-29 12:36:20 -05:00
CarsonCoder
ed60528574 Make precommit happy 2023-12-29 11:53:56 -05:00
CarsonCoder
da92e5df85 Remove some ipproto constants 2023-12-29 11:52:00 -05:00
CarsonCoder
ba7918af2e Clean up some code 2023-12-29 10:51:10 -05:00
CarsonCoder
2ae334717a Add socketpool.SocketPool.IPPROTO_ constants 2023-12-29 10:46:22 -05:00
CarsonCoder
8c567cc6f9 fix precommit 2023-12-29 09:16:03 -05:00
CarsonCoder
fb03b856d6 Rebase 2023-12-27 12:10:24 -05:00
c27d5ad21f
bitmaptools: Use standard coordinate range validators
**Potential incompatibility** these functions all validated their
coordinates slightly differently. Now it is consistent.
2023-12-24 10:50:00 -06:00
5dd689c38a
jpegio: add bitmaptools.blit like clipping to decode 2023-12-24 10:50:00 -06:00
8d288f9623
jpegio: split open & decode; add support for decoding from files; add test 2023-12-24 10:50:00 -06:00
2e173687c3
bitmaptools: Introduce new validators for coordinate pairs
Several of these routines use coordinate pairs, and jpeg decoding will
soon. Introduce a validator just for this use.
2023-12-24 10:50:00 -06:00
d0c51a497a
socketpool: add read & write stream protocol support 2023-12-24 10:50:00 -06:00
7fbdd7fb69
spelling 2023-12-24 10:50:00 -06:00
5aa203f13e
Restore CIRCUITPY-CHANGEs for stream protocols
We mark all protocols with their type using MP_PROTO_IMPLEMENT,
and checking in mp_get_stream{,_raise}.

This was not turning up as a problem in tests until a (new, not yet
commited) change to jpegio caused a segfault because a type implementing
a different protocol was passed in to mp_get_stream.

By using 0 (instead of MP_QSTR_protocol_stream) as the marker for
objects implementing the standard micropython stream protocol, the
number of CIRCUITPY-CHANGEs is minimized.
2023-12-24 10:41:54 -06:00
CarsonCoder
211c307f79 At proto support for espressif port + global 2023-12-23 17:59:31 -05:00
080cc545b3
Share the implementation of hashlib across ports
.. many platforms can use mbedtls to implement hashlib.

Compile-tested with pico-w. Tested on feather rp2040 dvi.
2023-12-22 17:06:12 -06:00
Dan Halbert
7cc816c709 merge from 8.2.x 2023-12-22 15:32:35 -05:00
Dan Halbert
6002f22041 squeeze some error msgs 2023-12-20 12:40:52 -05:00
bb847523c6
codeop: simplify slightly now that there's no problem with <input> qstr 2023-12-14 17:21:29 -06:00
998cb6929b
run pre-commit 2023-12-14 15:09:00 -06:00
9477574dfc
Add codeop.compile_command
This function in standard Python is a building block for custom REPLs:
```python
from codeop import compile_command

print("Repl in (Circuit-)Python")
ns = {}

PS1="<<< "
PS2=",,, "
command = ""
while True:
    line = input(PS2 if command else PS1)
    if command:
        command = command + "\n" + line
    else:
        command = line
    try:
        if (code := compile_command(command)):
            command = ""
            exec(code, ns)
    except Exception as e:
        command = ""
        print(e)
```
2023-12-14 09:23:23 -06:00
49e3f6b0e6
Improve based on review comments 2023-12-07 15:56:40 -06:00
1348e92369
document the colorspace 2023-12-05 17:06:54 -06:00
430f3ee447
Fix type annotation 2023-12-05 14:02:33 -06:00
bd86b44848
Add JpegDecoder 2023-12-05 12:11:53 -06:00
Scott Shawcroft
dc38e4d652
Merge pull request #8685 from jepler/document-monotonic-better
Document that the "monotonic" values are only monotonic in one code run
2023-12-01 13:51:37 -08:00
b5a946e712
Document that the "monotonic" values are only monotonic in one code run 2023-12-01 13:37:04 -06:00
Dan Halbert
b2c32cf42f
Merge pull request #8645 from dhalbert/esp32s3-ble-fixes
ESP32-S3 BLE fixes
2023-11-21 22:48:08 -05:00
Dan Halbert
af1b8799a4 fix heap warning in espressif Adapter.c;fix error codes 2023-11-20 20:05:43 -05:00
0fe750269f
Documentation improvements 2023-11-20 10:36:50 -06:00
dcooperdalrymple
55db6b7947 Added SYNTHIO_WAVEFORM_SIZE definition, renamed 'loop_...' to 'waveform_loop_...', added 'ring_waveform_loop_...` parameters, and updated docstrings. 2023-11-20 09:50:03 -06:00
dcooperdalrymple
785ef5abd2 Add loop_start and loop_end properties to synthio.Note for waveshaping and sampling capabilities. 2023-11-17 17:41:49 -06:00
Dan Halbert
9bdf1db153 correct SSLContext.load_verify_locations() args 2023-11-16 20:17:20 -05:00
43e7fcb227
Fix the locale module docstring 2023-11-15 07:22:11 -06:00
46bfbad1bb
Add locale.getlocale()
This returns the localization of the running CircuitPython, such as
en_US, fr, etc.

Additional changes are needed in build infrastructure since the
string "en_US" should not appear to be translated in weblate, ever;
instead the value comes from the translation metadata.

Closes: #8602
2023-11-14 21:20:03 -06:00
Dan Halbert
3a34acb93c merge 8.2.x to main 2023-11-09 19:58:34 -05:00
Dan Halbert
01be5f402e
Merge pull request #8553 from tannewt/switch_to_split_heap
Switch all ports to auto-growing split heap
2023-11-08 12:48:12 -05:00
Scott Shawcroft
a5bd4b2849
Merge pull request #8568 from dhalbert/doc-and-python-updates
fix busio example; update some scripts for Python 3.12
2023-11-07 16:19:06 -08:00
Dan Halbert
bfb830480c fix busio example; update some scripts for Python 3.12 2023-11-07 16:19:53 -05:00
Dan Halbert
616201109c correct MP_TYPE_FLAG_NONE to MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS
also remove #include py/objproperty.h where not needed
(side effect of looking for property uses)
2023-11-04 22:51:41 -04:00
Scott Shawcroft
8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
Daniel James
1309235cd8
Updates for CircuitPython 9.x 2023-10-30 20:53:26 -07:00
Daniel James
f9d3ec5027
Support for publishing TXT records via mDNS
- Update lwIP+Raspberry Pi implementation to use lwIP API correctly
- Add translations
2023-10-30 20:39:38 -07:00
774f6ac6ab
Switch to using MP_ERROR_TEXT instead of translate, globally 2023-10-30 09:49:06 +01:00
Radomir Dopieralski
8123dc8bf7 Fix keypad classes to show the events property
It looks like we need the MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS flag on
the class for properties to work, and the Keys, KeyMatrix and
ShiftRegisterKeys classes were missing it, so the "events" property
didn't appear on the instances.
2023-10-28 19:33:37 +02:00
Dan Halbert
32b6ac79d5
Merge pull request #8519 from jepler/compressed-message-type
Rename compressed_string_t to mp_rom_error_text_t to match upstream
2023-10-27 10:53:44 -04:00
Scott Shawcroft
f439f02492
Add warnings and warn about displayio changes
Follow up to #8493
2023-10-25 15:45:45 -07:00
Scott Shawcroft
c2f20080de
Fix qrio named_tuple declaration 2023-10-25 13:12:37 -07:00
de541cf155
Fix pointer-ness, const-ness of compressed messages
micropython puts the pointer-ness into the typedef; we can put the
const-ness there too.

this reduces the delta to micropython; for instance, emitinlinextensa
and emitinlinethumb now match upstream.
2023-10-25 21:40:11 +02:00
Scott Shawcroft
9354c921c2
Merge pull request #8467 from pypewpew/qrio-find
Add qrio.QRDecoder.find() to locate codes without decoding
2023-10-25 11:51:06 -07:00
Scott Shawcroft
0a1e36d298
Add friendlier error when .show() used
Fixes #8499
2023-10-25 09:44:18 -07:00
55874b6470
Rename compressed_string_t to mp_rom_error_text_t to match upstream 2023-10-25 08:14:13 +02:00
Scott Shawcroft
53bc6d4bd1
Fix docs build by splitting out support matrix 2023-10-24 16:20:51 -07:00
Scott Shawcroft
e62db5adcd
Fix native property setting from subclass 2023-10-24 16:20:51 -07:00
Scott Shawcroft
e1df598199
Split displayio hardware support from core
These are moved:
* Display -> busdisplay.BusDisplay
* FourWire -> fourwire.FourWire
* EPaperDisplay -> epaperdisplay.EPaperDisplay
* I2CDisplay -> i2cdisplaybus.I2CDisplayBus

`paralleldisplay` is now `paralleldisplaybus` (and registered as
`paralleldisplay` too).

Bus related helpers are split out of display_core into bus_core.
It is in still displayio since it is a dependency of both
busdisplay and epaperdisplay.

Fixes #7667
2023-10-24 15:43:34 -07:00
Scott Shawcroft
168c40e940
Merge pull request #8508 from dhalbert/v1.21-merge
V1.21 merge
2023-10-24 15:36:06 -07:00
Scott Shawcroft
89467ecdab
Merge tag '8.2.7' into merge_in_8.2.7 2023-10-20 15:21:30 -07:00
Dan Halbert
4b42a6f4a0 restore old uzlib; remove remaining U and u prefixes 2023-10-19 21:29:57 -04:00
Dan Halbert
c0a4abc03c Fix merge bugs; remove shared/tinyusb/* 2023-10-19 16:02:42 -04:00
Dan Halbert
f78b35d06f remove unused files; fix typo; remove debugging code 2023-10-16 19:23:35 -04:00
Scott Shawcroft
4d262c8492
Fix typo 2023-10-16 10:59:13 -07:00
Radomir Dopieralski
12b6a9b5be Add qrio.QRDecoder.find() to locate codes without decoding
Fix #8452
2023-10-14 21:57:54 +02:00
Dan Halbert
021926c96a Fix DotClockFrameBuffer type definition
also remove unnecessary `const` with `MP_DEFINE_CONST_TYPE_OBJ` in I2C
2023-10-13 12:11:14 -04:00
Scott Shawcroft
81ccc606b9
Fix memorymap type check 2023-10-11 14:11:48 -07:00
Scott Shawcroft
1f38293096
Fix ESP related issues 2023-10-11 14:11:29 -07:00
Scott Shawcroft
9633c4e78f
Merge remote-tracking branch 'adafruit/main' into v1.20-merge 2023-10-11 11:21:57 -07:00
Dan Halbert
ca7be16209 fixes for stm and mimxrt10xx 2023-10-07 23:27:20 -04:00
Scott Shawcroft
923a5b28ca
Add NO_FPS_LIMIT instead of magic numbers 2023-10-05 14:56:11 -07:00
Scott Shawcroft
807edd4c66
Improve framebufferdisplay.refresh()
Now the defaults make it easy to refresh when you want. It matches
the displayio.Display().refresh() behavior.
2023-10-05 14:56:11 -07:00
Dan Halbert
06765ccfa6 RP2040 now builds 2023-10-05 14:49:49 -04:00
Dan Halbert
b4e29e9426
Merge pull request #8456 from tannewt/remove_deprecated_apis
Remove deprecated apis
2023-10-03 15:08:39 -04:00
Dan Halbert
7e0e6fcdca Metro M4 now compiles 2023-10-03 15:03:59 -04:00
Scott Shawcroft
7938c6cfd2
Remove one I2CPeripheral leftover 2023-10-02 14:36:19 -07:00
Scott Shawcroft
8183d8ef50
Remove displayio.*.show()
Use `displayio.*.root_group =`.
2023-10-02 14:28:59 -07:00
Scott Shawcroft
a15c111d5c
Merge pull request #7718 from microdev1/watchdog-rp
Update WatchDog implementation
2023-10-02 14:17:29 -07:00
Sumitra Sharma
fd4a61233e Update documentation for rotaryio.IncrementalEncoder
Update the documentation in circuitpython/shared-bindings/rotaryio/IncrementalEncoder.c
to explicitly state that rotaryio.IncrementalEncoder assumes the encoder's pins are
connected to ground and sets pull-ups on the pins accordingly.

Closes #5847

Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>
2023-10-02 21:18:55 +05:30
Dan Halbert
2fc5a934a1 add back generic subscript iterator, gc_never_free 2023-09-29 23:01:02 -04:00
Scott Shawcroft
4c21f22114
Improve RGBMatrix allocation tracking
This prevents leaks but not all use-after-free issues.
2023-09-29 14:55:42 -07:00
Dan Halbert
68a2927385 MP_REGISTER_ROOT_POINTER for port-specific root pointers 2023-09-29 15:46:42 -04:00
Dan Halbert
1c388ab315 finish converting to MP_REGISTER_ROOT_POINTER() 2023-09-29 10:49:34 -04:00
Dan Halbert
76ff01452b Trinket M0 comes up; still very much wip 2023-09-28 16:22:10 -04:00
f80d08e207
Make dot clock displays with a masked portion on the left work 2023-09-27 15:15:32 -05:00
6990c37320
Fix calculation of bit-weight for reset pin 2023-09-26 08:33:00 -05:00
Randy Hudson
f5d4f1edb7 Fixed displayio/Bitmap value_count range 2023-09-25 22:11:25 -04:00
04ad525c09
Re-work ioexpander_send_init_sequence
* can now send the I2C bus initialization code
 * can now reset the display on an I/O expander pin
 * parameters re-ordered to enable easy use with **board.TFT_IO_EXPANDER
2023-09-25 11:31:16 -05:00
MicroDev
27fd60d739
implement suggested changes
- update the docs
- split out common `watchdog_reset`
- revert to using `None` instead of `WatchDogMode.NONE`
2023-09-24 15:23:38 +00:00
MicroDev
05812e0618
Merge branch 'main' into watchdog-rp 2023-09-24 05:13:22 +00:00
477b2300a1
fix definitoin of MidiTrack type 2023-09-22 13:58:01 -05:00
5d9b84dcb2
fix definition of MathOperation 2023-09-22 13:57:51 -05:00
78a7c6b164
fix getting make_new slot of object 2023-09-22 13:57:31 -05:00
f812750a76
fix use of mp_type_fileio 2023-09-22 13:56:55 -05:00
e48984872b
allow definition of namedtuples in core 2023-09-22 13:56:16 -05:00
1c09a0b494
fix string construction 2023-09-22 13:53:56 -05:00
e1af819a91
fix (unused) default for some required args 2023-09-22 13:53:11 -05:00
5108c3a11f
whitespace 2023-09-20 11:27:12 -05:00
51f49698c2
indentation 2023-09-20 11:27:01 -05:00
Dan Halbert
4d175ab41a convert to MP_DEFINED_CONST_OBJ_TYPE() 2023-09-19 21:09:29 -04:00
Dan Halbert
2c0fa0f7dc initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
Scott Shawcroft
e39fbf1b26
Merge pull request #8401 from jepler/i2c-expander-init
Fast(ish) special purpose bitbang spi over i2c
2023-09-18 13:19:49 -07:00
ee86c7649f
fix markup, that's not a link 2023-09-18 10:23:01 -05:00
91b98dc9d5
fix constness 2023-09-15 14:45:53 -05:00
c7b7e22195
remove debug print 2023-09-15 11:16:43 -05:00
4b41fdb586
Fast(ish) special purpose bitbang spi over i2c
with the i2c bus operating at 400kHz this achieves a 4.8kHz SPI clock
rate which could be worse.

It accepts the same style of init sequence as displayio.

tested by scoping the pins on the espressif lcd dev kit with a dummy init sequence:
```python
dotclockframebuffer.ioexpander_send_init_sequence(
    bus=bus,
    i2c_address=expander_addr,
    gpio_address=1,
    gpio_data_len=1,
    gpio_data=0xff,
    cs_bit=1,
    mosi_bit=3,
    clk_bit=2,
    init_sequence=init_sequence)
```
2023-09-14 14:42:48 -05:00
0e78ab6ed5
rgbmatrix: document MTX_ADDRESS and MTX_COMMON 2023-09-14 10:38:01 -05:00
9b20e31cf4
rgbmatrix: also explain the order of rgb and addr pins 2023-09-14 10:23:13 -05:00
18041ea596
rgbmatrix: more small doc improvements
* Not all ports support 30 RGB pins etc
 * Link to the guide page on laying out multiple panels
2023-09-14 10:20:10 -05:00
Dan Halbert
9f1d52601e merge from 8.2.x 2023-09-12 20:14:30 -04:00
Dan Halbert
d8aeceb706 SSLContext.load_verify_locations - no kw-only args 2023-09-12 12:45:46 -04:00
Scott Shawcroft
885dbec599
Merge pull request #8357 from eightycc/memorymap
Add memorymap support to RP2 port
2023-09-08 11:28:11 -07:00
Bob Abeles
0e0941d6fd Review changes 2023-09-07 16:45:45 -07:00
c3c2b84584
fix typo, copyright notice 2023-09-07 12:57:45 -05:00
Bob Abeles
1e178318cf review update, add RP2040 example 2023-09-06 19:59:40 -07:00
Bob Abeles
66b3eccaf6 8334: RP2040 lacks raw memory map access 2023-08-31 20:25:20 -07:00
80a1d1a20a
Add support for a non-displayed left portion of screen 2023-08-31 14:52:26 -05:00
ed9cacf41d
Add DotClockFramebuffer 2023-08-30 10:30:15 -05:00
Bobby Jap
ae181d69af Update wrappers to use new gzip changes 2023-08-28 21:59:00 -07:00
Scott Shawcroft
233cf7fc6d
Merge pull request #8326 from bill88t/picow-stop-ap
Pico W wifi code improvements.
2023-08-25 09:49:04 -07:00
Scott Shawcroft
ab70f8eace
Merge remote-tracking branch 'adafruit/main' into i2s_mclk 2023-08-24 15:07:14 -07:00
Bill Sideris
e3314ef7a6
Add new picow doc notes 2023-08-23 22:12:19 +03:00
Dan Halbert
e08ad22ef6
Merge pull request #8317 from jepler/merge-82x
Merge 8.2.x into main
2023-08-22 17:28:30 -04:00
6e8a59a948
Merge remote-tracking branch 'origin/8.2.x' into merge-82x 2023-08-22 14:10:29 -05:00
c1dce99be9
Link to dedicated guide for rgbmatrix 2023-08-22 10:55:55 -05:00
e336dc90cf
update explanation of height; it is optional 2023-08-22 10:53:10 -05:00
2dcc0d2a62
further explain width and height, it can't hurt 2023-08-22 10:46:34 -05:00
81ad2e05ba
address review comments 2023-08-22 10:44:35 -05:00
485924896e
RGBMatrix: document constructor arguments
Closes: #8283
2023-08-22 10:31:09 -05:00
bae7e5292e
Merge pull request #8298 from jepler/canio-doc-mcp2515
canio: add a doc note about boards like CAN feather that use mcp2515
2023-08-22 09:48:09 -05:00
c029d6a165
Merge remote-tracking branch 'origin/8.2.x' into merge-82x 2023-08-22 08:49:16 -05:00
Dan Halbert
8157920d10
Merge pull request #8312 from jepler/fix-sphinx-82x
Use the ".. jinja" tag to render support_matrix template
2023-08-21 23:46:25 -04:00
2fc413db24
Use the ".. jinja" tag to render support_matrix template
.. and remove the substring check for the file.

this fixes the problem with sphinx 7.2.2 that the "docname" can
be None (see https://github.com/sphinx-doc/sphinx/issues/11620)
2023-08-21 21:34:14 -05:00
d23ddff971
Add several constants needed to use multicast UDP
This was verified by @todbot to work on esp32 s2 and s3;
the constant should match any system that uses LWIP numbering.
2023-08-21 16:19:58 -05:00
994bd2371f
canio: add a doc note about boards like CAN feather that use mcp2515 2023-08-19 12:07:07 -05:00
Dan Halbert
10a022db87 consolidate and shorten some error messages 2023-08-19 12:39:54 -04:00
Dan Halbert
6851faacaa Merge remote-tracking branch 'adafruit/main' into merge-micropython-v1.19.1 2023-08-18 13:29:39 -04:00
Scott Shawcroft
f93022b142
Two tweaks to mclk 2023-08-17 14:28:33 -07:00
Scott Shawcroft
8c5c73df38
Add I2S MCLK support to iMX RT 2023-08-17 11:39:14 -07:00
Dan Halbert
8cf5b6e707 fixes to unix port support; thanks @jepler 2023-08-14 09:51:52 -04:00
Dan Halbert
d582407b06 pre-commit fixes 2023-08-14 00:59:22 -04:00
Dan Halbert
2171e67c1b merge latest adafruit/main 2023-08-13 19:43:54 -04:00
Dan Halbert
850877a85f wip; fix generators; typos 2023-08-13 00:30:59 -04:00
Dan Halbert
10b94796c0 wip; fix more m_malloc and gc_alloc 2023-08-11 00:30:34 -04:00
Dan Halbert
fe0e2f13bc wip; fix qstr processing 2023-08-10 20:06:32 -04:00
Melissa LeBlanc-Williams
db23a9c9fe Disable floppyio for feather m4 express + update docstring 2023-08-09 09:15:17 -07:00
Dan Halbert
2ff8667e75 wip; remove long-lived functionality; remove PR#2614
Trinket M0 compile has no compilation errors, but has link errors to fix.
2023-08-08 20:41:17 -04:00
Melissa LeBlanc-Williams
ea39d7089f Updated docstring stuff 2023-08-08 14:21:55 -07:00
Melissa LeBlanc-Williams
b25d3131a3 Update doc string 2023-08-08 12:54:14 -07:00
Melissa LeBlanc-Williams
549bbdc31c Alphablend changes 2023-08-08 12:42:48 -07:00