Commit Graph

957 Commits

Author SHA1 Message Date
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
2231puppy
38ebe90f7c Remove unexposed pins from E-Fidget 2023-01-03 19:24:48 -05:00
2231puppy
bea62030b7 Add E-Fidget board 2023-01-03 16:02:24 -05:00
Jozsef Kiraly
f23a96fa09
Update config with proper USB VID 2023-01-03 20:31:18 +00:00
Jozsef Kiraly
463c8d0f11
Merge pull request #2 from adafruit/main
Merge main
2023-01-03 20:28:18 +00:00
Dan Halbert
03b43b7b3f complete rework for microcontroller.cpu.frequency and wifi.radio MAC addresses 2023-01-02 11:45:58 -05:00
Dan Halbert
a3adcf0e1a clarify read-only mac address; reuse translate msgs 2023-01-02 10:13:20 -05:00
Dan Halbert
4e31522d08
Merge pull request #7373 from jaygreco/add_nullbits_bit_c_pro
Add nullbits Bit-C PRO board
2023-01-02 09:22:16 -05:00
Jeff Epler
928fb0a9c4
Make the "name or service not known" message translatable 2022-12-26 13:58:31 -06:00
Jay Greco
cdefd2e674 Add nullbits Bit-C PRO board 2022-12-25 15:21:32 +00:00
Neradoc
b36d603cf3 add GP25 as status LED on the Raspberry Pi Pico 2022-12-19 22:11:30 +01:00
Dan Halbert
66efed5ba5 fix AuthMode printing regression 2022-12-15 15:49:58 -05:00
Jeff Epler
297657ea9a
Refactor so that all sites of name lookup failure result in gaierror 2022-12-14 14:45:32 -06:00
Dan Halbert
398b7c26ca
Merge pull request #7321 from jepler/dotenv-becomes-toml
Dotenv becomes toml
2022-12-13 19:56:36 -05:00
Jeff Epler
d49af4d784
make wording a bit clearer 2022-12-13 08:11:47 -06:00
Pontus Oldberg
aa5b1e063f Added new RP2040 board with integrated SD/Card reader and RTC 2022-12-13 13:34:28 +01:00
Jeff Epler
adff93c61a
Mark cyw43 pins "never reset" before reset_port
reset_port calls reset_all_pins, which disables the built-in pull
down. In theory, this could allow some CYW43 interfacing pin to float
to an inappropriate value. There's no proof of this! but the move can't
really hurt, either
2022-12-12 20:14:08 -06:00
Jeff Epler
90894014a2
Use the HW LED as status indicator
For me this made a rare startup failure stop, which is nonsense.
2022-12-12 19:43:10 -06:00
Jeff Epler
243ecc2502
remove debugging prints 2022-12-08 14:18:22 -06:00
Jeff Epler
1fe05cb8cd
pico w: re-use previous connection if ssid matches 2022-12-08 12:44:34 -06:00
Jeff Epler
ff8d051eff
Add an additional large delay time at start for pico w boards 2022-12-07 15:10:13 -06:00
Scott Shawcroft
d7874e65c2
Merge pull request #7299 from BooleanMattock/main
Fix to Issue #7224 - Servo update slow due to PWM channel duty cycle update busy-wait
2022-12-05 12:54:41 -08:00
BooleanMattock
afb5301cef Fix to Issue #7224 - tested 2022-12-02 20:21:40 -05:00
Scott Shawcroft
4c064c263e
Merge pull request #7294 from tannewt/analogbufio_rework
Rework the analogbufio API.
2022-12-02 14:53:16 -08:00
Scott Shawcroft
f7504ff857
Tweaks based on review comments 2022-12-02 10:19:31 -08:00
Scott Shawcroft
255e997345
Rework the analogbufio API.
* read() is now readinto() and takes the buffer to write into.
* readinto() returns the number of valid samples.
* readinto() can be interrupted by ctrl-c.
* readinto() API doesn't support signed numbers because it never did.
* sample_rate is now required in the constructor because supported
  values will vary per-port.
* 16 bit values are full range. 12 bit samples from RP2040 are stretched
  in the same way they are for AnalogIn.

Fixes #7226
2022-12-01 17:46:07 -08:00
Bill Sideris
3fb4fd81e9
Revert "debug_dhcp to follow general debug" 2022-11-30 22:44:18 +02:00
Bill Sideris
0738d50834
debug_dhcp to follow general debug 2022-11-30 22:24:21 +02:00
Bill Sideris
f8070d2141
Change comment, and logic on dhcpserver 2022-11-30 21:51:50 +02:00
Bill Sideris
44d5326d4c
fix picow-ap 2022-11-30 19:36:00 +02:00
Bill Sideris
362018dcca
Merge branch 'main' into picow-ap 2022-11-30 19:11:03 +02:00
Scott Shawcroft
c13ca95da1
Add MDNS support to Pico W
This adds both cpy-MAC.local and circuitpython.local support.

Fixes #7214
2022-11-28 16:15:28 -08:00
Scott Shawcroft
ad2d190507
Merge pull request #7247 from tannewt/picow_web_workflow
Enable* web workflow for Pico W
2022-11-28 14:19:42 -08:00
Scott Shawcroft
30563655d7
Merge pull request #7249 from dhalbert/wifi-connect-ap-api
correct Radio.connect() and .start_ap() signatures; clean up some code
2022-11-23 10:29:05 -08:00
Dan Halbert
17be447c4b correct Radio.connect() and .start_ap() signatures; clean up some code 2022-11-22 17:11:03 -05:00
Dan Halbert
6d022733b3
Merge pull request #7162 from rhooper/boards-list
add boards list to make error message
2022-11-21 23:18:37 -05:00
Scott Shawcroft
c3a96a63c0
Enable* web workflow for Pico W
* Except for circuitpython.local which depends on MDNS and will be
done in a follow up PR.

Progress on #7214
2022-11-21 16:24:05 -08:00
Bill Sideris
b40facd0b4
Error msg changes 2022-11-22 01:00:34 +02:00
Dan Halbert
1611cf98da have clock start high in SPI mode 3 2022-11-18 18:27:38 -05:00
Bill Sideris
88bd9ef6b8
just change the ap error 2022-11-18 22:51:05 +02:00
MicroDev
c3c1717813
refactor common port specific Makefile code 2022-11-18 23:00:28 +05:30
MicroDev
e2a3597263
add awesome new make error message
Copied from initial implementation on atmel-samd

Co-authored-by: Rose Hooper <rhooper@toybox.ca>
Co-authored-by: Jeff Epler <jepler@gmail.com>
2022-11-18 11:27:23 +05:30
Bill Sideris
b8cd6c093f
picow-ap progress 2022-11-17 21:47:39 +02:00
Bill Sideris
a234b74e87
Merge branch 'adafruit:main' into picow-ap 2022-11-16 21:32:46 +02:00
Scott Shawcroft
6689b9ad09
Merge pull request #7208 from domdfcoding/weact_pico_16mb
Add support for the 16MB WeAct Studio Pico
2022-11-16 09:59:37 -08:00
Jeff Epler
ef34378b1d
Merge pull request #7201 from jepler/rp2040-light-sleep
raspberrypi: Make port_idle_until_interrupt work
2022-11-15 17:25:48 -06:00
Jeff Epler
ef93eda0a0
Merge pull request #7192 from bill88t/picow-debug
Fix pi cow debug compilation
2022-11-15 14:08:44 -06:00
Bill Sideris
6954e569b7
since it ain't leaving.. 2022-11-15 00:05:01 +02:00
Bill Sideris
fde1c05e6d
Revert "remove lwip_src"
This reverts commit 398e9122a0.
It fails on LINK without them.
2022-11-14 20:03:41 +02:00
Bill Sideris
398e9122a0
remove lwip_src 2022-11-14 19:33:06 +02:00
Bill Sideris
6ad61a3fd1
Radio.c work 2022-11-14 19:31:18 +02:00
Bill Sideris
2e6dd1bf1f
Radio.c no longer needs ping.h 2022-11-14 18:36:42 +02:00
Jeff Epler
cdab078d9d
shared-bindings: Get rid of CYW43 special cases in shared-bindings
.. by moving it into a new weak function that can be replaced
just by the picow build.
2022-11-14 08:44:08 -06:00
Dominic Davis-Foster
e1046b1050
Add support for the 16MB WeAct Studio Pico 2022-11-14 14:04:07 +00:00
Dan Halbert
8f414eb4ee
Merge pull request #7179 from jepler/picow-voltage-monitor
Add ability to read VOLTAGE_MONITOR on Pico W
2022-11-13 22:40:54 -05:00
Jeff Epler
e4d620f055
make whitespace match 2022-11-12 09:17:52 -06:00
Jeff Epler
78fc43baab
raspberrypi: Make port_idle_until_interrupt work
This needs thorough testing before it's merged, as we tried
and reverted this once before (#5341 and #5356).

I think that besides checking for tinyusb having "something to do",
the fact that `port_interrupt_after_ticks` and `port_disable_tick`
weren't implemented that was causing a secondary problem.

I've tested this on a pico w over reboot-cycles and ctrl-c-cycles,
with and without drive automounting, with and without serial repl open,
and on a power-only connection.

I didn't notice the problem reported in #5356 after merely implementing
port_idle_until_interrupt; but I did notice that sleeps in general would
take over-long until "something" (like writing to the USB drive) happened;
I think "something" was probably calling port_enable_tick(). When this
problem was happening, sleeps would take a lot longer; for instance,
`sleep(.001)` would take about 1/20s and `sleep(.1)` would take about 1/7s.
2022-11-12 09:16:41 -06:00
Dan Halbert
983502d6e3 ignore pin changes before sleep 2022-11-11 15:31:49 -05:00
Bill Sideris
e6a4e2982f
Update ports/raspberrypi/common-hal/wifi/Radio.c
u32_t -> uint32_t

Co-authored-by: MicroDev <70126934+MicroDev1@users.noreply.github.com>
2022-11-11 14:40:47 +02:00
Bill Sideris
0bf9df232a
fix debug 2022-11-11 14:17:57 +02:00
paul-1
11f1174658
picow: Change init to use country code routine.....place holder for future improvements to allow country code setting. 2022-11-10 17:24:09 +02:00
paul-1
851c2cd8cb
picow: Add channel setting when starting AP 2022-11-10 17:23:59 +02:00
paul-1
8fdb2df0bf
picow: enable dhcpserver for apmode. 2022-11-10 17:23:38 +02:00
Bill Sideris
25c0a0aca9
Merge branch 'adafruit:main' into picow-ap 2022-11-10 17:04:21 +02:00
Jeff Epler
7f36a365cf
delay 100us for analog voltage to stabilize
.. otherwise, depending on the prior state of the pin as a digital
input, the value read could be 20% low.
2022-11-08 10:43:14 -06:00
Jeff Epler
09f6919c93
Add ability to read VOLTAGE_MONITOR on Pico W
Because this must be treated like an in-use pin for all other purposes,
unfortunately a special case must be added in shared-bindings.

Multiple AnalogIn objects for VOLTAGE_MONITOR can be created (because
in use tracking isn't working) but this causes no harm.

Testing performed: Read the monitor, then imported wifi. When the
pin state was insufficiently restored, the second step would fail
with debug messages about do_ioctl timeout.

```
import analogio, board
a = analogio.AnalogIn(board.VOLTAGE_MONITOR)
print(a.value)
import wifi
```

Closes: #7020
2022-11-08 09:37:15 -06:00
Jeff Epler
452ebe27ae
socketpool: make socket objects selectable
.. which will lead to them being usable in async contexts, pending
relevant changes in asyncio
2022-11-05 12:05:19 -05:00
Petr Sedlacek
f3ec46bbb5 Add missing pin definitions for 42. Keebs Frood 2022-11-04 15:33:16 +01:00
Jeff Epler
403a5b2681
Merge pull request #7126 from jepler/scorpio
add feather rp2040 scorpio
2022-11-02 14:47:40 -05:00
Dan Halbert
ded134c346 store wake_alarm in a static object 2022-10-29 16:26:36 -04:00
Jozsef Kiraly
992e97d84b fix: pre-commit 2022-10-29 20:00:37 +01:00
Jozsef Kiraly
9ca057385a feat: Add support for Waveshare RP2040-LCD-1.28 2022-10-29 18:52:43 +01:00
Dan Halbert
0221cc8df7 Merge remote-tracking branch 'adafruit/main' into alarm-lifetime 2022-10-28 14:11:32 -04:00
Dan Halbert
4e20049c38
Merge pull request #7122 from jepler/picow-ssl-server
pico w: implement sslsocket bind, listen, accept
2022-10-28 09:33:21 -04:00
Dan Halbert
9307b62ad5 wip 2022-10-27 22:42:04 -04:00
Dan Halbert
ca25016b52
Merge pull request #7119 from jepler/picow-reuseaddr
Enable, use SOF_REUSEADDR
2022-10-26 15:25:50 -04:00
Jeff Epler
7545e02a8e
add feather rp2040 scorpio 2022-10-26 10:05:37 -05:00
Jeff Epler
0cf096dda1
pico w: implement sslsocket bind, listen, accept 2022-10-25 14:46:41 -05:00
Jeff Epler
f997d0053d
Enable, use SOF_REUSEADDR
This is the lwip no-os version of SO_REUSEADDR, which is set on all
listening sockets in the espressif port; do so here as well,
it makes running servers easier. The "address in use" error does
not occur.
2022-10-25 10:09:16 -05:00
Petr Sedlacek
bd7f0e23d7 Adds support for the 42. Keebs Frood RP2040 board
https://github.com/piit79/Frood
2022-10-25 16:40:32 +02:00
Kattni Rembor
5ea8b75e17 Add STEMMA_I2C() object to Picos for Cowbells. 2022-10-24 16:27:32 -04:00
Bill Sideris
7a50beb67e
PicoW more ap work 2022-10-22 11:58:44 +03:00
Bill Sideris
8cc536bb7f
PicoW start_ap() 2022-10-21 13:20:16 +03:00
microDev
b33a2b45dc
add coproc alarm 2022-10-20 18:38:20 +05:30
Dan Halbert
7015b7396e
Merge pull request #7089 from jepler/picow-gpio-number
pico w: Disentangle "TOTAL_GPIO_COUNT", it's complicated
2022-10-19 22:42:16 -04:00
Jeff Epler
576a1ac700
pico w: Disentangle "TOTAL_GPIO_COUNT", it's complicated
You might wonder how this fixes a problem with PulseIn, when the
changes aren't to any of those files! PulseIn is implemented in terms of
StateMachine, which had some assumptions about the relation between
the index of a pin object in mcu_pin_global_dict_table and its "pin
number". This was true, until some pins were removed from the
microcontroller module on Pico W.

Closes: #7078
2022-10-19 21:09:50 -05:00
Jeff Epler
8bef4282c0
pico w: implement static configuration methods in wifi.Radio 2022-10-19 20:54:53 -05:00
Dan Halbert
08e1cdb282
Merge pull request #7079 from jepler/picow-2xmss
Pico W grab bag
2022-10-19 15:03:00 -04:00
Jeff Epler
6e350a65cf
Merge pull request #7076 from bill88t/early-wifi
Implement async wifi connection on picow
2022-10-17 19:54:58 -05:00
Jeff Epler
3b7feccd9b
picow: Implement stop_station
Weirdly we have to stop the AP too (which we never started),
or cyw43_tcpip_link_status still reports that STA is connected.
As long as AP mode isn't implemented, this doesn't matter and
we can just do it.
2022-10-17 19:42:10 -05:00
Jeff Epler
57756863ef
picow: depending on memory pressure, may only be able to write 1 MSS
Foamyguy discovered that trying to send >2920 bytes at once consistently
failed. I further discovered that sometimes trying to send >1460 bytes
would fail too.  By "fail", I mean that it would take a very long time
(around 200 * 50ms) before erroneously reporting that all bytes were
written.

In my testing, this change causes larger writes to successfully
send either 2920 or 1460 bytes (possibly after doing some 50ms waits
for a previous packet to clear).

The documentation of socket.send always stated that it COULD send fewer
bytes than requested, but adafruit_httpserver assumed that the number
of requested bytes were always sent, so after this change alone,
adafruit_httpserver will still not work properly.

Closes: #7077 (albeit fixes are needed in adafruit_httpserver too)
2022-10-17 19:42:07 -05:00
Jeff Epler
861b22730e
picow: if initial write fails, write at most 1 TCP MSS of data 2022-10-17 19:28:02 -05:00
Jeff Epler
1975742d9f
picow: fix formatting numbers in lwip debug output 2022-10-17 19:28:02 -05:00
Jeff Epler
6128f4e5af
picow: add resolution of ".local" names 2022-10-17 19:28:01 -05:00
Bill Sideris
47c373e67e
Use cyw43_tcpip_link_status instead 2022-10-17 18:33:32 +03:00
Bill Sideris
bce024f59e
Implement async wifi connection on picow 2022-10-17 18:17:14 +03:00
Jeff Epler
47541afc7c
picow: ask at a lower level if the interface is up
Closes: #7072

```
Adafruit CircuitPython 8.0.0-beta.2-9-g5192082e64-dirty on 2022-10-17; Raspberry Pi Pico W with rp2040
>>> import wifi
>>> print(wifi.radio.ipv4_address)
None
>>> import os
>>> wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))
>>> print(wifi.radio.ipv4_address)
10.0.2.94
```
2022-10-17 10:08:50 -05:00
Jeff Epler
d4b1d4d430
Fix GPIO state when initializing CYW43 pin
Closes: #7063
2022-10-15 13:10:22 -05:00
Dan Halbert
062d63ee3a
Merge pull request #7050 from jepler/picow-wirelsess-off-in-deep-sleep
picow: Turn off wifi co-processor regulator when entering deep sleep
2022-10-14 08:17:16 -04:00