Commit Graph

1063 Commits

Author SHA1 Message Date
Dan Halbert
2b95fc3029
Merge pull request #7893 from tannewt/fix_rp2040_idle
Fix RP2040 idle
2023-04-24 13:53:12 -04:00
Dan Halbert
b9c7cd4028
describe instance more precisely 2023-04-24 12:58:40 -04:00
David Glaude
6aa3e7d8a6
This is about picodvi not rgbmatrix
There might be another way or other place where the documentation does not match the code.
But this is the most obvious, that's why I found it.
2023-04-23 10:58:02 +02:00
Scott Shawcroft
b59f0e17be
Fix RP2040 idle
Don't idle from main if we scheduled an interrupt for 0 ticks in
the future.

Have RP2040 detect wakes that happen between setting the timer and
the idle call.

Fixes #7361
2023-04-21 16:04:23 -07:00
Scott Shawcroft
b16037859c
Fix native epd boards 2023-04-21 14:36:35 -07:00
Scott Shawcroft
d5b747b305
Fix board inits 2023-04-21 13:23:01 -07:00
RetiredWizard
b3c8575b81 Update for Pimoroni Pico dv pins/connectors 2023-04-20 21:22:39 -04:00
Scott Shawcroft
0f9fb33371
Merge branch 'main' into rp2040_cpu_frequency 2023-04-19 17:05:58 -07:00
Scott Shawcroft
e2ab7a4751
Change voltage. Refine docs 2023-04-19 17:04:54 -07:00
Scott Shawcroft
13bb801211
Fix docs and windows 2023-04-19 15:42:02 -07:00
Scott Shawcroft
66edcf5d03
Add PicoDVI support
PicoDVI in CP support 640x480 and 800x480 on Feather DVI, Pico and
Pico W. 1 and 2 bit grayscale are full resolution. 8 and 16 bit
color are half resolution.

Memory layout is modified to give the top most 4k of ram to the
second core. Its MPU is used to prevent flash access after startup.

The port saved word is moved to a watchdog scratch register so that
it doesn't get overwritten by other things in RAM.

Right align status bar and scroll area. This normally gives a few
pixels of padding on the left hand side and improves the odds it is
readable in a case. Fixes #7562

Fixes c stack checking. The length was correct but the top was being
set to the current stack pointer instead of the correct top.
Fixes #7643

This makes Bitmap subscr raise IndexError instead of ValueError
when the index arguments are wrong.
2023-04-19 15:14:02 -07:00
Dan Halbert
7567082965 Add Adafruit Feather RP2040 Prop-Maker 2023-04-18 15:52:06 -04:00
Bernhard Bablok
2a49567ec6 added Adafruit_CircuitPython_Register to frozen libs 2023-04-17 19:03:42 +02:00
Bernhard Bablok
2b3601451f Merge branch 'main' into badger_2040_w 2023-04-08 13:06:37 +02:00
Scott Shawcroft
097af804cd
Fix ticks
In #7497 port_background_task was renamed to port_background_tick
but the actual call site wasn't changed. This meant that it was
no longer called!

Rename more functions from task to tick to make it clearer which is
which.
2023-04-07 09:49:51 -07:00
Scott Shawcroft
76f9c187e0
Merge pull request #7843 from waptang/Waveshare_RP2040-LCD-0.96
Add Waveshare RP2040-LCD-0.96
2023-04-07 09:10:57 -07:00
John Sanders
af35337136 Add Waveshare RP2040-LCD-0.96 2023-04-07 03:24:30 -07:00
MicroDev
50e259fefc
Merge pull request #7836 from thess/rfc-web-server
RFC: Web Workflow reliability and performance improvements
2023-04-07 09:20:37 +05:30
Scott Shawcroft
6df88ac948
Merge pull request #7825 from jepler/better-synthio
Better synthio
2023-04-05 12:23:10 -07:00
Bernhard Bablok
690168b1ab add support for Plasma2040W 2023-04-05 19:53:26 +02:00
Ted Hess
9825b7fbb7 Web Workflow sockets and threads handling improvements.
Fixes polling thread looping forever hangs preventing new connections.
Don't lose listening sockets on mp resets and re-init.
Keep better separation of "system" and "user" sockets.
Track socket states to prevent re-use of sockets before closed.
Close REST socket when transaction completes. No post-init.
Remove unnecessary state flags.
2023-04-05 13:50:42 -04:00
Dan Halbert
a8ea8ea81a
Merge pull request #7834 from dhalbert/adafruit-feather-rp2040-can
Add Adafruit Feather RP2040 CAN
2023-04-05 13:25:19 -04:00
Jeff Epler
4c7b962d16
Increase synthio channels to 12 on rp2040
with the AudioMixer workaround for #7837 this appears to work
even up to 48kHz.
2023-04-05 10:30:57 -05:00
Dan Halbert
85cc21adc0 add Adafruit Feather RP2040 USB Host 2023-04-04 19:44:06 -04:00
Dan Halbert
44d7f4e7e1 fix Neopixel for RP2040 CAN 2023-04-04 19:33:39 -04:00
Dan Halbert
5d56ef06e7 Add Adafruit Feather RP2040 CAN 2023-04-04 19:16:39 -04:00
Dan Halbert
5c429320a8 Add wifi.radio.connected, wifi.radio.ap_active 2023-03-31 17:57:53 -04:00
Gregory Neverov
173bc198c6 don't set tcp_err callback for listen sockets 2023-03-29 11:49:32 -07:00
Kattni Rembor
2a4383e633 Add Feather RP2040 RFM, update DVI. 2023-03-28 15:23:19 -04:00
Kattni Rembor
16854ae570 Add BUTTON, reorganise pins. 2023-03-27 16:29:03 -04:00
Bernhard Bablok
659e5b4bed support for Pimoroni Badger2040W 2023-03-24 12:29:51 +01:00
hathach
8c1095b268
Merge branch 'main' into add-codespell 2023-03-23 14:09:57 +07:00
hathach
a8abe8e705
remove lib from exludes, fix all remaining typos 2023-03-23 13:59:08 +07: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
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
a280c010c2
Fix tricolor epd and add EPD feather 2023-03-22 11:14:38 -07:00
Jeff Epler
3ac696e7ba
Merge pull request #7731 from kreasteve/statemachine_run_fix
Statemachine run fix
2023-03-19 20:47:09 -05:00
hathach
fecc1bdedb
fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
Benjamin Shockley
f35af4c9ce
Update mpconfigboard.mk
Added trailing line
2023-03-16 16:54:55 -05:00
Benjamin Shockley
d59a57ecc9
Update pins.c
Changed GIO00 to GIO0
2023-03-16 16:54:38 -05:00
Benjamin Shockley
eab8633a9e
Updated Fig Pi Pins and Added Memory Option
Updated the Fig Pi pin definition to match latest production and fix errors.  Added an optional memory chip for parts shortage issues.
2023-03-16 16:41:49 -05:00
kreasteve
208c081c95 bugfix_#7706 2023-03-16 11:10:57 +01:00
kreasteve
d7fb21ec76 Revert "bugfix"
This reverts commit 4f1627f68e.
2023-03-16 11:02:41 +01:00
kreasteve
4f1627f68e bugfix 2023-03-16 10:56:22 +01:00
MicroDev
37b9f778e1
Merge pull request #7237 from kdb424/main
Add Boardsource Blok
2023-03-16 00:02:10 +05:30
Kyle Brown
6062e75b08 add Blok 2023-03-15 08:58:53 -07:00
Dan Halbert
9083ae02de
Merge pull request #7710 from PaintYourDragon/pb-feather-dvi
Add Feather RP2040 DVI
2023-03-14 13:10:47 -04:00
hathach
b432cf6201
fix rp2040 with new shared irq usb handler 2023-03-13 22:46:27 +07:00
Paint Your Dragon
ff0a17d095
Merge branch 'adafruit:main' into main 2023-03-10 13:45:53 -08:00
Dan Halbert
0f31ba676b update errata fixes for RP2040 2023-03-09 17:40:53 -05:00
Scott Shawcroft
fe40035cb9
Merge pull request #7697 from dhalbert/pico-sdk-cyw43-update
pico-sdk to 1.5.0; cyw43-driver to 0.9.0
2023-03-09 10:02:45 -08:00
Dan Halbert
2ebc0ea51c
GitHub online editor introduced spaces on blank lines :( 2023-03-09 11:30:38 -05:00
Dan Halbert
de3c5ad2f4
add blank lines around aliased pins 2023-03-09 11:00:55 -05:00
Dan Halbert
fef9571400 pico-sdk to 1.5.0; cyw43-driver to 0.9.0 2023-03-08 22:43:12 -05:00
Phillip Burgess
fa55669da5 Merge branch 'main' of https://github.com/PaintYourDragon/circuitpython 2023-03-08 12:55:23 -08:00
Phillip Burgess
a2514ca304 Add board adafruit_feather_rp2040_dvi
Based on Feather RP2040 SCORPIO, but new USB PID (from MBAdafruitBoards/Production) and pin name changes for GP16-23 (CKN/CKP etc., from board schematic).
2023-03-08 11:37:51 -08:00
MicroDev
b17364a447
conditionally build all languages 2023-03-04 15:08:54 +05:30
Dan Halbert
859a48723f
Merge pull request #7633 from tannewt/fix_imx_pwm
Fix `pwmio` on iMX RT.
2023-02-28 14:11:06 -05:00
Scott Shawcroft
8e4626ffba
Merge pull request #7559 from startup-potech/main
Request to add a COSMO-Pico board
2023-02-28 09:49:31 -08:00
Dan Halbert
f9831b3bbc
Merge pull request #7639 from adafruit/8.0.x
Merge 8.0.x up to main
2023-02-24 19:32:09 -05:00
Scott Shawcroft
f832386cda
Merge remote-tracking branch 'adafruit/main' into banglejs2 2023-02-23 14:43:38 -08:00
Scott Shawcroft
1acf65ee22
Fix pwmio on iMX RT.
It now handles deinit, never_reset and sharing tracking. PWM
now runs in the WAIT state as well during a time.sleep().

_reset_ok() was removed because it was called in one spot right
before deinit().

Some PWMOut were also switched to a bitmap for use instead of
reference count. That way init and deinit are idempotent.

Fixes #6589. Fixes #4841. Fixes #4541.
2023-02-22 11:22:39 -08:00
Jeff Epler
de9233f84a
raspberrypi: SSLSocket: raise OSError when appropriate
Rather than returning the negative error value.

This is intended to close #7606, though I did not test with mqtt.
Instead, I created a simple standalone test program:
```python
import wifi, socketpool, ssl, time
#wifi.radio.connect(<omitted>)
import socketpool
socket = socketpool.SocketPool(wifi.radio)
ctx = ssl.create_default_context()

b = bytearray(8)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sss = ctx.wrap_socket(s, server_hostname='example.com')
sss.connect(('example.com', 443))
sss.setblocking(False)
r = sss.recv_into(b)
print(r, b)  # prints 4294967285 which is -11 as unsigned
sss.close()
```

Before the change, r was the out of range value 4294967285. After the
change, the recv_into call raises OSError instead.

This is comparable to the behavior on standard Python, though an
SSLWantReadError is raised instead.

The original (mis)behavior seems to match what was uncovered deep inside
minimqtt by adding logging:
```
370.578: DEBUG - PKT: _sock_exact_recv: recv_len = 4294967285
```
2023-02-22 10:07:48 -06:00
Scott Shawcroft
de5f58a61d
Merge branch 'main' into banglejs2 2023-02-21 12:04:28 -08:00
root
7e6e824d56 Correctly raise OS error in socketpool_socket_recv_into() 2023-02-21 13:38:29 -06:00
MicroDev
508f2015b6
Merge pull request #7605 from Neradoc/pico-uart-in-use-error
Tweak the UART in use message on RP2040
2023-02-18 08:35:52 +05:30
Neradoc
13716c9c30 tweak the UART in use message on RP2040 2023-02-17 23:29:44 +01:00
Dan Halbert
bbadc00599
Merge pull request #7577 from dhalbert/safemode-py
Implement safemode.py
2023-02-16 14:15:20 -05:00
Gregory Neverov
fd1c3ca784 Increase number of LWIP timers for MDNS 2023-02-15 16:40:45 -08:00
Scott Shawcroft
931c7c1c51
Add Bangle.js 2, JDI memory displays and ACeP epd
This 2-in-1 PR started with the goal of support the Bangle.js 2
smartwatch with *no USB*.
* Adds "secure" DFU build support with a committed private key.
* Adds 3-bit color support with one dummy bit for the JDI memory display
* Allows nrf boards to have a board_background_task() run in RUN_BACKGROUND_TASK.
  This is needed because the Bangle.js 2 uses the watchdog to reset.
* Renamed port_background_task() to port_background_tick() to indicate it
  runs on tick, not RUN_BACKGROUND_TASK.
* Marks serial connected when the display terminal is inited. This means
  that safe mode messages show up on the display.

ACep, 7-color epaper displays also pack 3 bits in 4. So, I added that
support as well.
* Adds 3-bit ACeP color support for 7-color e-paper displays. (Not
  watch related but similar due to color depth.)
* Allows a refresh sequence instead of a single int command. The 7" ACeP
  display requires a data byte for refresh.
* Adds optional delay after resetting the display. The ACeP displays
  need this. (Probably to load LUTs from flash.)
* Adds a cleaning phase for ACeP displays before the real refresh.

For both:
* Add dither support to Palette.
* Palette no longer converts colors when set. Instead, it caches
  converted colors at each index.
* ColorConverter now caches the last converted color. It should make
  conversions faster for repeated colors (not dithering.)
2023-02-15 15:03:40 -08:00
MicroDev
32d86c3ea3
Merge pull request #7580 from adafruit/8.0.x
Merge 8.0.x up to main
2023-02-15 09:16:51 +05:30
MicroDev
48077daa7f
Merge pull request #7581 from gneverov/issue_7333
Add function common_hal_busio_uart_never_reset for rp2
2023-02-15 09:16:25 +05:30
Gregory Neverov
98b61279e4 Add function common_hal_busio_uart_never_reset for rp2 2023-02-14 09:05:24 -08:00
Dan Halbert
d8231f1588 Implement safemode.py 2023-02-13 18:26:38 -05:00
Scott Shawcroft
7d236f2782
Merge pull request #7547 from ajs256/add_sprig
Add new board hack_club_sprig
2023-02-13 10:25:04 -08:00
Pierre Constantineau
676cbb308d minor update to boards.c to fix mismatched number of LEDs causing LEDs not to be reset 2023-02-13 09:52:18 -06:00
Ubuntu
e125370cd4 first commit 2023-02-09 01:59:59 +00:00
Jeff Epler
b9f689adf4 Use lowest drive level for PIO 2023-02-08 16:18:58 -06:00
Alex
e78143a2f5
fix copyright header 2023-02-05 11:18:23 -08:00
Alex Sirota
07e8506b79 Add board hack_club_sprig 2023-02-03 20:19:11 -08:00
Gregory Neverov
77c6daf4b8 don't throw exception 2023-02-01 16:33:22 -08:00
MicroDev
d9d94eacca
run updated pre-commit 2023-02-01 13:38:41 +05:30
Dan Halbert
13338df9f1
Merge pull request #7462 from tannewt/fix_rp2_reset_reason
Tweak RP2040 reset reason
2023-01-19 21:10:57 -05:00
Scott Shawcroft
82a313065e
Tweak RP2040 reset reason
Watchdogs are used to reboot out of the bootloader. There is a
scratch register for user watchdogs. So use sdk functions to better
distinguish these.

Related to #7346
2023-01-17 16:12:08 -08:00
Scott Shawcroft
683e393878
Add comments for MDNS code 2023-01-17 14:07:30 -08:00
Dan Halbert
79b76f7bea
Merge pull request #7445 from tannewt/fix_rpi_mdns
Share the web workflow MDNS object with the user
2023-01-17 14:46:38 -05:00
Colin B
bfba1e4100 Change common_hal_mcu_processor_set_frequency to void
* Add warning about setting RP2040 frequency
2023-01-16 21:26:13 -08:00
Dan Halbert
79bd88349e
Merge pull request #7444 from tannewt/fix_start_end_w_arrays
Have start and end kwargs respect element size
2023-01-13 20:11:41 -05:00
Scott Shawcroft
ee2fe993dd
Fix repeated MDNS use on Pico W 2023-01-12 14:56:06 -08:00
Scott Shawcroft
5c517b7e5a
Handle MDNS deinited better. 2023-01-12 11:24:20 -08:00
Scott Shawcroft
72f4a8ebbc
Merge pull request #7423 from 0xCB-dev/add-0xCB-Helios
add support for 0xCB Helios rp2040 controller
2023-01-11 16:27:36 -08:00
Scott Shawcroft
aa2ba4d88b
Have start and end kwargs respect element size
The comment says it is `buffer[start:end]` but it assumed elements
were a single byte long. Now it correctly does multibyte elements
from array.array.

Fixes #4988
2023-01-11 15:36:41 -08:00
Scott Shawcroft
78c2fa5b28
Merge pull request #7437 from dhalbert/improve-type-checking-error-msgs
Improve type validation error messages, especially for pins
2023-01-11 10:54:22 -08:00
Jeff Epler
e817563ca0
Update cyw43-driver, fix no-password wifi
Now, open wifi works on Pico W, so this closes #7438.

For the web workflow it's now OK to either
 * specify an empty password string (as before)
 * not have the CIRCUITPY_WIFI_PASSWORD key at all (new functionality)
2023-01-10 15:07:17 -06:00
Dan Halbert
a974402542 Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
Colin B
a84a8855ed Add frequency setting for RP2040 boards. 2023-01-07 17:41:37 -08:00
Conor Burns
5aa8419455
add pid.codes VID and PID 2023-01-07 13:11:38 +01:00
Conor Burns
56c0f0388d
add 0xCB Helios 2023-01-05 23:02:00 +01:00
Scott Shawcroft
bb3a1c0a2a
Merge pull request #7153 from fonix232/feature/waveshare_rp2040_lcd_1_28
feat: Add support for Waveshare RP2040-LCD-1.28
2023-01-04 10:18:01 -08:00
Dan Halbert
4f78d63905
Merge pull request #7412 from 2231puppy/e-fidget
Add E-Fidget board
2023-01-04 12:32:27 -05:00