Commit Graph

9500 Commits

Author SHA1 Message Date
Dan Halbert
08e1cdb282
Merge pull request #7079 from jepler/picow-2xmss
Pico W grab bag
2022-10-19 15:03:00 -04:00
Dan Halbert
607e917363
Merge pull request #7073 from MicroDev1/patch
Fix 2/4MB Partition Tables & Makefile
2022-10-17 22:29:16 -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
microDev
fb91c2f436
cleanup sdkconfig-esp32.defaults
- remove log level: set by -opt or -debug sdkconfig
- remove lwip hostname: set by board specific sdkconfig
2022-10-17 22:05:20 +05:30
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
microDev
434c6d5604
fix uf2 bootloader condition in makefile 2022-10-17 19:45:48 +05:30
microDev
5114ae7a31
fix 2MB-no-uf2 partition table 2022-10-17 19:44:08 +05:30
microDev
f86377e0f1
fix 4MB-no-uf2 partition table 2022-10-17 19:42:41 +05:30
Jeff Epler
d4b1d4d430
Fix GPIO state when initializing CYW43 pin
Closes: #7063
2022-10-15 13:10:22 -05:00
microDev
e7b25dbf73
improve dualbank errors 2022-10-15 13:20:10 +05:30
Jeff Epler
6a8bc738ec
Make it easy to test just a subset of tests
with e.g., 'make TEST_EXTRA="extmod/uasyncio*.py" test'
2022-10-14 17:07:27 -05:00
Jeff Epler
963a51487a
unix Makefile: easy wait to print test failures as diffs 2022-10-14 14:44:52 -05:00
Dan Halbert
0ce84b27e8
Merge pull request #7053 from CytronTechnologies/add-pin-definitions-maker-feather-aiot-s3
Added Pin Definitions for Cytron Maker Feather AIoT S3
2022-10-14 11:31:53 -04: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
Dan Halbert
8caafd9079
Merge pull request #7051 from jepler/picow-hashlib
implement hashlib for picow
2022-10-14 08:14:41 -04:00
Kong Wai Weng
fc00a6675e Added some pin definitions to match with the Arduino core. 2022-10-14 17:25:24 +08:00
microDev
66b539d768
fix espressif log level 2022-10-14 11:33:10 +05:30
Jeff Epler
3b3fe44174
implement hashlib for picow 2022-10-13 20:42:50 -05:00
Jeff Epler
0c5fd55c16
picow: Turn off wifi co-processor regulator when entering deep sleep
This reduces power consumption during true deep sleep.

In my measurements with ppk2 and a program that _irrevocably_ entered
deep sleep (no time alarm or pin alarm), power usage as measured on a
ppk2 decreased from ~10mA to ~1mA.
2022-10-13 20:10:10 -05:00
Dan Halbert
bb3e04a078
Merge pull request #7048 from georgboe/fix-recvinto-errno
Return correct errno in raspberrypi's Socket.c
2022-10-13 18:19:02 -04:00
Georg Bøe
e768b9ebb3 Return correct errno 2022-10-13 21:00:51 +02:00
Dan Halbert
de7a9c38fc Merge remote-tracking branch 'adafruit/main' into add-os-utime-function 2022-10-13 14:15:13 -04:00
Dan Halbert
1569c7ed33
Merge pull request #7045 from jepler/smaller-microcontroller-temperature-samd
samd: Size-optimize the temperature code with an 0.5 to 2.0 degree relative additional error
2022-10-13 14:02:51 -04:00
Dan Halbert
7e4b2a09eb
Merge pull request #7000 from MicroDev1/storage-extend
Add Storage Extension Support
2022-10-13 10:05:55 -04:00
microDev
728fea4ca4
add storage extension python api 2022-10-13 09:53:33 +05:30
Jeff Epler
f7d39ceae4
comment on the revised algorithm 2022-10-12 16:25:09 -05:00
Jeff Epler
a943167d69
samd: Reduce a further 48 bytes for non-full builds
Another reduction of -48 bytes can be had if the fine calculation
step is skipped. The worst difference compared to the old reference
code with my calibration values in the 0° to 60° was 2°C,
and the difference at 25°C is 1°C.

The final size decrease for non-full builds like Trinket M0 is 268
bytes.
2022-10-12 15:53:44 -05:00
Jeff Epler
b251e78ac5
samd: size-optimize microcontroller temp calc
Perform most arithmetic with scaled integer values.
For my calibration values
```
const uint32_t NVMCTRL_TEMP_LOG[]={0xfc05511e, 0xcc7ac0f7};
```
the maximum difference between the old and new calculation is 0.50°C.
The difference is smallest (0.13°) at 25.87°C in the old scale.

This reduces mcu_processor_get_temperature from 568 bytes to 348 bytes
(-220 bytes)
2022-10-12 15:44:14 -05:00
Jeff Epler
874ddd67bf
Pico W: ssl: factor out do_handshake 2022-10-12 11:38:30 -05:00
Jeff Epler
1641a7c002
Pico W: ssl: Correctly handle errors in send/recv
The prefixed versions raise Python exceptions, the un-prefixed return
negative error values. We don't want to raise an exception from here,
it leaves the SSL stack in an undefined state.
2022-10-12 11:38:30 -05:00
Jeff Epler
7c849fdadb
Pico W: ssl: Raise MemoryError for allocation errors 2022-10-12 11:38:29 -05:00
Jeff Epler
b1f7940297
Pico W: Correctly treat empty cadata= as disabling host checking 2022-10-12 11:38:29 -05:00
Jeff Epler
ca9523b814
Pico w: socket: Correctly return negative error code from recv_into 2022-10-12 11:38:29 -05:00
Jeff Epler
62cbd3bcd8
Pico w: socket: correctly track sockets generated by accept() 2022-10-12 11:38:26 -05:00
MicroDev
ab22d5a8cd
Merge pull request #7024 from flom84/stm-include-headers-fixes
Remove redundant header files in STM port
2022-10-12 10:22:29 +05:30
Dan Halbert
822e806f03
Merge pull request #7031 from BPI-STEAM/CircuitPython-main-bpi-picow-dev
Add BananaPi BPI-PicoW-S3 .
2022-10-11 22:53:37 -04:00
Wind-stormger
376df8ec7e Add BananaPi BPI-PicoW-S3 .
Adds support for the BananaPi BPI-PicoW-S3 Boards.
Based on esp32s3 chip.
With one WS2812 LED, one monochrome LED, one ceramic antenna.
Support double-reset to tinyUF2.
2022-10-12 09:11:25 +08:00
Dan Halbert
e19abef57e forgot to add these! 2022-10-11 13:12:43 -04:00
Dan Halbert
851f8a188d Merge remote-tracking branch 'adafruit/main' into HEAD 2022-10-11 12:21:59 -04:00
Dan Halbert
4cd370ecf8 Merge remote-tracking branch 'adafruit/main' into add-os-utime-function 2022-10-10 17:51:59 -04:00
Jeff Epler
0c8b261ec9
picow: Add support of self-signed certificates.
## Testing self-signed certificates and `load_verify_locations`

Obtain the badssl "self-signed" certificate in the correct form:

```sh
openssl s_client -servername self-signed.badssl.com -connect untrusted-root.badssl.com:443 < /dev/null | openssl x509 > self-signed.pem
```

Copy it and the script to CIRCUITPY:
```python
import os
import wifi
import socketpool
import ssl
import adafruit_requests

TEXT_URL = "https://self-signed.badssl.com/"
if not wifi.radio.ipv4_address:
    wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))

pool = socketpool.SocketPool(wifi.radio)
context = ssl.create_default_context()
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} without certificate (should fail)")
try:
    response = requests.get(TEXT_URL)
except Exception as e:
    print(f"Failed: {e}")
else:
    print(f"{response.status_code=}, should have failed with exception")

print("Loading server certificate")
with open("/self-signed.pem", "rb") as certfile:
    context.load_verify_locations(cadata=certfile.read())
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} with certificate (should succeed)")
try:
    response = requests.get(TEXT_URL)
except Exception as e:
    print(f"Unexpected exception: {e}")
else:
    print(f"{response.status_code=}, should be 200 OK")
```
2022-10-10 15:53:56 -05:00
Jeff Epler
c98174eea5
Add support for SSL client certificate (load_cert_chain)
Tested with badssl.com:

 1. Get client certificates from https://badssl.com/download/
 2. Convert public portion with `openssl x509 -in badssl.com-client.pem -out CIRCUITPY/cert.pem`
 3. Convert private portion with `openssl rsa -in badssl.com-client.pem -out CIRCUITPY/privkey.pem` and the password `badssl.com`
 4. Put wifi settings in CIRCUITPY/.env
 5. Run the below Python script:

```py
import os
import wifi
import socketpool
import ssl
import adafruit_requests

TEXT_URL = "https://client.badssl.com/"
wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))

pool = socketpool.SocketPool(wifi.radio)
context = ssl.create_default_context()
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} without certificate (should fail)")
response = requests.get(TEXT_URL)
print(f"{response.status_code=}, should be 400 Bad Request")
input("hit enter to continue\r")

print("Loading client certificate")
context.load_cert_chain("/cert.pem", "privkey.pem")
requests = adafruit_requests.Session(pool, context)

print(f"Fetching from {TEXT_URL} with certificate (should succeed)")
response = requests.get(TEXT_URL)
print(f"{response.status_code=}, should be 200 OK")
```
2022-10-10 15:10:53 -05:00
flom84
81d227de73 Use types from circuitpython. 2022-10-10 20:55:44 +02:00
Florin Maticu
ab1de66dd3 Remove redundant header files. 2022-10-10 20:37:31 +02:00
Dan Halbert
14c9028c1f
Merge pull request #7026 from dhalbert/minor-space-savings
save about 112 bytes
2022-10-10 13:55:56 -04:00
Dan Halbert
de95463deb
Merge pull request #7023 from dhalbert/wifi-scanning-fixes
update esp-idf; allow start/stop channels in wifi scanning
2022-10-10 13:54:54 -04:00
Dan Halbert
8d344459cd
Merge pull request #7021 from jepler/pico-w-vbus-sense
pico w: pins improvements
2022-10-10 11:56:30 -04:00
Dan Halbert
86a0f9a861 save about 112 bytes 2022-10-09 19:22:39 -04:00
Dan Halbert
987030e706
Merge branch 'main' into add-os-utime-function 2022-10-07 22:45:51 -04:00
Dan Halbert
b097c0736a shrink some small builds 2022-10-07 22:44:06 -04:00
Dan Halbert
747dc7746d handle scan channel bounds but note they do nothing for RP2040 CYW43 2022-10-07 16:22:17 -04:00
Dan Halbert
21c0c4c1a6 update esp-idf; allow start/stop channels in wifi scanning 2022-10-07 15:29:09 -04:00
MicroDev
fc549fe345
Merge pull request #7014 from jepler/restore-nvm-module
restore nvm module
2022-10-08 00:12:41 +05:30
Dan Halbert
78b278e091 disable rainbowio on arduino_zero 2022-10-07 10:39:30 -04:00
Jeff Epler
f882571366
pico w: pins improvements
Closes: #7017

 * Remove the 'GP23' alias for CYW1
 * Remove the 'CYW0' alias for CYW0
 * Switch VBUS_SENSE to CYW2, remove 'GP24' alias

Code that wants to use SMPS_MODE, VBUS_SENSE and LED while being
portable to the W and non-W variants should use those names, not alias
names.

 * Remove A3 / VOLTAGE_MONITOR

Right now this cannot be used. The ability to check the voltage monitor
should be added back in some fashion in the future.
2022-10-07 08:48:36 -05:00
Dan Halbert
041885da1b
Merge pull request #7011 from jepler/pico-w-resize-circuitpy-again
switch flash split to leave 512kB for CIRCUITPY
2022-10-07 08:32:18 -04:00
Neradoc
3a6382d1ea cyw43.CywPin should be the class, not a string 2022-10-07 02:11:05 +02:00
Jeff Epler
644d293641
Fix CIRCUITPY drive offset in flash correctly, accounting for NVM
.. and fix nvm to read/right the correct area.

.. putting a comment in link.ld to explain it all

Closes #7012
2022-10-06 12:39:46 -05:00
Jeff Epler
07cd2ff065
restore 4kB gap pending resolution of #7011 2022-10-06 11:20:48 -05:00
Dan Halbert
8d82e4ba5f
Merge pull request #7008 from MicroDev1/patch
Cleanup `mpconfigboard.mk` of espressif boards
2022-10-06 11:20:11 -04:00
Jeff Epler
6e2c24083a
switch flash split to leave 512kB for CIRCUITPY 2022-10-06 10:12:22 -05:00
Dan Halbert
e0517c7379
Merge pull request #6999 from jepler/picow-ssl
pico_w: implement ssl with caveats
2022-10-06 10:51:36 -04:00
microDev
4f753251db
cleanup mpconfigboard.mk of espressif boards
- move `INTERNAL_FLASH_FILESYSTEM` to `mpconfigport.mk`
- move `LONGINT_IMPL` to `mpconfigport.mk`
- move `CFG_TUD_TASK_QUEUE_SZ` to `Makefile`
2022-10-06 16:15:01 +05:30
microDev
b0ef35d50b
update storage extension implementation 2022-10-06 09:19:56 +05:30
Dan Halbert
296960dd89 shorten board.c 2022-10-05 20:23:19 -04:00
Neradoc
d31acdef6c
we don't use AUTORESET_DELAY_MS 2022-10-06 02:19:48 +02:00
Jeff Epler
2dc283f578
close underlying socket object when closing ssl socket 2022-10-05 15:10:14 -05:00
Jeff Epler
4a9389d347
remove debug message 2022-10-05 14:57:04 -05:00
Jeff Epler
14f2309b6f
Enable more key exchange methods
This is intended (but not entirely verified) to match our esp32 builds.
It does fix accessing https://circuitpython.org, which failed before with
"MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE".

It still doesn't work on a personal website of mine with valid letsencrypt
certificate but I haven't verified whether it works on esp32s2 with CP.
That site only allows TLS 1.3, while this mbedtls only supports up to
1.2.
The version of mbedtls we adopted based on micropython's use has no
TLS 1.3 support, but the one in espressif esp-idf does.
2022-10-05 14:56:27 -05:00
Jeff Epler
fabfdcf6fe
More ssl work 2022-10-05 14:56:26 -05:00
Jeff Epler
944d388158
copy esp_crt_bundle.c from esp-idf@d51f7d8821 2022-10-05 14:56:26 -05:00
Jeff Epler
a64c1a11c5
move nina-fw certificates so it can be shared with other ports 2022-10-05 14:56:25 -05:00
Jeff Epler
09023abcd2
Update espressif function prototype to match 2022-10-05 14:56:25 -05:00
Kyle Mohr
dd5f9411c8
Merge branch 'adafruit:main' into main 2022-10-05 13:44:12 -05:00
Jeff Epler
dcb650c513 pico w: add ssl module
Note: at this time, the ssl module on pico_w never verifies the server
certificate. This means it does not actually provide a higher security
level than regular socket / http protocols.
2022-10-05 13:12:43 -04:00
Jeff Epler
2bd50673b6
Finish adapting flash storage size
Before this, CIRCUITPY would start at 1MB anyway. This appeared to work
only because I hadn't checked the actual size of the CIRCUITPY drive,
and because until now the flash hadn't actually crossed that 1MB
boundary into CIRCUITPY storage.

WARNING: on pico_w, upgrading/downgrading CircuitPython across this commit
boundary will erase the CIRCUITPY filesystem. After this commit,
switching between pico and pico_w firmware will erase the CIRCUITPY
filesystem
2022-10-05 10:02:38 -05:00
Jeff Epler
52bca95208
Refactor dotenv module so that it can be tested on host
.. it needs to operate on a FILE* rather than FIL depending on
the build.

Note that this is comparing output to expected, not to cpython dotenv
package. Because run-tests.py starts the CPython interpreter with the
'-S' (skip site initialization) flag, pip-installed packages are
not available for import inside a test file. Instead, the exp
file is generated manually:
```
circuitpython/tests$ python3 circuitpython/dotenv_test.py > circuitpython/dotenv_test.py.exp
```

Unfortunately, the test fails on test e15:
```diff
FAILURE /home/jepler/src/circuitpython/tests/results/circuitpython_dotenv_test.py
--- /home/jepler/src/circuitpython/tests/results/circuitpython_dotenv_test.py.exp	2022-10-04 09:48:16.307703128 -0500
+++ /home/jepler/src/circuitpython/tests/results/circuitpython_dotenv_test.py.out	2022-10-04 09:48:16.307703128 -0500
@@ -14,7 +14,7 @@
 line
 e13 e13value
 e14 None
-e15 e15value
+e15 None
 e16 #
 e17 def
 e18 #has a hash
```
2022-10-04 09:51:27 -05:00
microDev
2618e11002
use next update partition 2022-10-04 19:42:48 +05:30
microDev
9fe7308b88
conditionally add storage extension 2022-10-04 17:26:28 +05:30
microDev
7d8ff20dac
add initial storage extension support 2022-10-04 17:25:48 +05:30
Kyle Mohr
02e115cbc2
Update mpconfigboard.mk 2022-10-04 00:03:59 -05:00
Kyle Mohr
330b96726a add newlines to end of files 2022-10-04 04:56:31 +00:00
Kyle Mohr
5268ef01c9
Utilize VID/PID from native USB port 2022-10-03 23:45:28 -05:00
Kyle Mohr
cffc1bfcab
sdkconfig didn't get committed for some reason... 2022-10-03 22:54:31 -05:00
Kyle Mohr
a948dc399b add esp32-s2-devkitc-1-n8r2 variant 2022-10-04 03:51:51 +00:00
Dan Halbert
90f6096955 fix ai-thinker creation ids; fix some typos elsewhere 2022-10-03 15:29:03 -04:00
Dan Halbert
ad79f595a5
Merge pull request #6974 from MicroDev1/patch
Couple Minor Fixes
2022-10-01 13:12:01 -04:00
Dan Halbert
7bb90dbf45 remove redundant port/*/.gitignore; cleanup others 2022-10-01 11:52:36 -04:00
Jeff Epler
40c2de833d
doc improvements 2022-10-01 10:09:33 -05:00
Jeff Epler
d3e85d165e
Set cyw43 power management as needed, default to disabled
.. the value actually needs to be enforced each time the STA or AP
is enabled, because internally there's a call to cyw43_wifi_pm with the
library's defaut power management value, not ours.

Add a getter, though it only returns our idea of what the power
management register is set to, it doesn't read out from the actual
hardware, sadly.
2022-10-01 08:20:34 -05:00
Jeff Epler
943b992bfc
Improve cyw43.set_power_management documentation
.. and provide 4 preset values
2022-10-01 07:52:08 -05:00
microDev
7eaeca4eb3
update espressif port's .gitignore 2022-10-01 09:14:48 +05:30
Dan Halbert
f9e655da47
Merge pull request #6962 from dhalbert/espressif-deep-sleep-hold-pins
Espressif: do not hold pins during deep sleep if not necessary
2022-09-30 22:20:44 -04:00
Dan Halbert
bced76887e
Merge pull request #6973 from jepler/rp2040-fix-warnings
Rp2040 fix warnings
2022-09-30 16:21:31 -04:00
Jeff Epler
c02602ace1
Enable strict-overflow diagnostic 2022-09-30 11:19:23 -05:00
Jeff Epler
afc1c0e3bb
Fix unused variable diagnostics, make it a fatal error 2022-09-30 11:19:22 -05:00
Jeff Epler
37620d4eb0
Fix several classes of compiler diagnostic & make fatal
* -Wno-nested-externs
 * -Wno-strict-prototypes
 * -Wno-double-promotion
 * -Wno-sign-compare
2022-09-30 11:19:22 -05:00
Jeff Epler
c6eef3931f
Enable warning for unused static functions 2022-09-30 11:19:22 -05:00
Jeff Epler
2c9c6fc80e
Remove unused static functions 2022-09-30 11:19:21 -05:00
Jeff Epler
907c5d387f
Tweak black_bindings
Originally, black_bindings found each contiguous "//|" block and sent
it to black independently. This was slower than it needed to be.

Instead, swap the comment prefix: when running black, take off
"//|" prefixes and put "##|" prefixes on all un-prefixed lines.
Then, after black is run, do the opposite operation

This more than doubles the overall speed of "pre-commit run --all",
from 3m20s to 55s CPU time on my local machine (32.5s to under 10s
"elapsed" time)

It also causes a small amount of churn in the bindings, because
black now sees enough context to know whether one 'def' follows another
or ends the 'def's in a 'class'. In the latter case, it adds an extra
newline, which becomes a "//|" line.

I'm less sure why a trailing comma was omitted before down in
rp2pio/StateMachine.c but let's roll with it.
2022-09-30 11:18:13 -05:00
Jeff Epler
fcf7cfe838
Merge pull request #6960 from jepler/picow-server
Pico W: implement more things
2022-09-30 11:15:37 -05:00
Jeff Epler
0912889106
raspberrypi: statically allocate storage for hostname 2022-09-30 10:05:11 -05:00
Jeff Epler
84c7ac4a81
Make cyw43.set_power_management() be a function as intended 2022-09-30 07:56:59 -05:00
Jeff Epler
3281e14be1
fix reference to board module 2022-09-29 21:37:34 -05:00
Jeff Epler
4de9487820
It turns out you CAN have too many GPIO 2022-09-29 20:10:33 -05:00
Dan Halbert
9d1b12066d Espressif: do not hold pins during deep sleep if not necessary 2022-09-29 20:11:48 -04:00
flom84
7af8a23ddf Use macro for computing size of array. 2022-09-29 22:10:21 +02:00
flom84
3609c29b27 Update STM DFU mode software implementation.
- fix for sizeof array calculation.

 - follow ARM recommendation to turn off interruptions with NVIC.
2022-09-29 21:15:51 +02:00
Jeff Epler
510bd11f58
Enable reading back value of cyw43 pin
Now, `led.value = not led.value` works as a way to toggle the LED state.

Closes: #6959
2022-09-29 11:06:11 -05:00
Jeff Epler
a3bcfd6911
Add pin_CYW1 for SMPS_MODE 2022-09-29 10:54:06 -05:00
Jeff Epler
72b06021c0
fix doc formatting 2022-09-29 10:27:13 -05:00
Jeff Epler
74cdf42ece
pico w: implement bind, listen, accept
this works with some simple tcp & udp echo service code
2022-09-29 10:02:20 -05:00
Jeff Epler
12ea04ca70
Add cyw43.set_power_management 2022-09-29 10:02:20 -05:00
Jeff Epler
91f1266db5
Document CywPin 2022-09-29 10:02:19 -05:00
Jeff Epler
56f9f0d136
add tx power get/set 2022-09-29 10:02:19 -05:00
Jeff Epler
71a00157ba
Add hostname setting 2022-09-29 10:02:19 -05:00
Jeff Epler
c6d3163841
remove comment about something the Makefile does now 2022-09-29 10:02:18 -05:00
Dan Halbert
db065a299f
Merge pull request #6933 from jepler/🥧🐮
Implement a useful subset of `wifi` and `socketpool` modules on 🥧🐮
2022-09-28 18:09:24 -04:00
Jeff Epler
2dd6df9d93
better to explain why this file has no useful content 2022-09-28 15:19:06 -05:00
Jeff Epler
72bce51ce3
restore submodule commits 2022-09-28 14:48:54 -05:00
Jeff Epler
3d76aa00f5
implementations not needed 2022-09-28 14:38:13 -05:00
Jeff Epler
09d4fbc557
Remove FIXME
this was verbatim-copied from micropython
2022-09-28 14:38:13 -05:00
Jeff Epler
6189156a0b
Add missing NotImplementedErrors 2022-09-28 14:38:12 -05:00
Jeff Epler
edf1efd728
Add CYW43 guards to more things 2022-09-28 14:38:12 -05:00
Jeff Epler
e100981d90
revert CFLAGS change 2022-09-28 14:38:12 -05:00
Jeff Epler
4380292848
comment why not actually reset wifi 2022-09-28 14:38:11 -05:00
Jeff Epler
ff7731491e
Implement enough of socketpool to do ntp and non-https requests 2022-09-28 10:06:34 -05:00
Jeff Epler
a7a1bd7880
Implement DNS resolution
```
>>> s = socketpool.SocketPool(wifi.radio)
>>> s.getaddrinfo("google.com", 80)
[(0, 0, 0, '', ('142.250.81.206', 80))]
```
2022-09-28 10:06:33 -05:00
Jeff Epler
6c3cdceb45
Implement scan, connect, ping
My pings go out, and then they come back

```py
import os
import wifi
import ipaddress

wifi.radio.connect(os.getenv('WIFI_SSID'), os.getenv('WIFI_PASSWORD'))
ipv4 = ipaddress.ip_address("8.8.4.4")
print("Ping google.com: %f ms" % (wifi.radio.ping(ipv4)*1000))
```
2022-09-28 10:06:33 -05:00
Jeff Epler
346fff2e7c
cyw43 basic gpio support, hwaddr in boot_out 2022-09-28 10:06:33 -05:00
Jeff Epler
22b04aef22
Reindent a block 2022-09-28 10:05:53 -05:00
Jeff Epler
9caa65cf28
allow a board to override link.ld 2022-09-28 10:05:53 -05:00
Jeff Epler
77fcb8a5a3
disable rainbowio on this arduino_nano_33_iot
The gpio changes took away enough code space that it doesn't fit.
2022-09-28 10:05:32 -05:00
Dan Halbert
39492b3403
Merge pull request #6951 from jepler/black-bindings
Black bindings
2022-09-27 17:57:07 -04:00
Jeff Epler
b2cc8d2aad
run black_bindings across all bindings 2022-09-27 15:21:42 -05:00
Jeff Epler
4e96667d50
Manual fix for oddball cases 2022-09-27 15:19:32 -05:00
Kattni Rembor
ea5e4b20b0 Add more spacing for aliased pins. 2022-09-27 15:50:30 -04:00
Kattni Rembor
9c4c7241d0 Update pin order to match silk. 2022-09-27 15:24:07 -04:00
flom_84
96a83ecbfe
Update mpconfigboard.h 2022-09-26 19:58:33 +02:00
flom84
e626502fd2 Add USB VID and PID from STM. 2022-09-26 19:45:33 +02:00
flom84
2bd2406d13 Update license info and remove redundant board functions. 2022-09-26 19:39:07 +02:00
Florin Maticu
8754a6ec53 Add circuitpython support for STM Nucleo-F446RE. 2022-09-26 19:12:42 +02:00
Dan Halbert
de80db681f
Merge pull request #6915 from dhalbert/ringbuf-cleanup
ringbuf cleanup
2022-09-25 17:50:21 -04:00
Jeff Epler
1c8e12660c
Merge pull request #6944 from Neradoc/doc-fix-usb-cdc
docs: usb_cdc.Serial.readinto has no nbytes parameter
2022-09-25 13:35:58 -05:00
Dan Halbert
e25c195b78 fix broadcom UART ringbuf init 2022-09-25 09:12:23 -04:00
Neradoc
5346b89b08 don't use @property in docs, just document as a property 2022-09-25 07:18:18 +02:00
Dan Halbert
d44edc4a0c
Merge pull request #6937 from jepler/issue6839
Use new unique ID for this board
2022-09-24 23:55:06 -04:00
Jeff Epler
f12136af7f
esp32-camera: sync doc with code.
Closes: #6836
2022-09-23 08:54:00 -05:00
Jeff Epler
5bbbca4d44
lock and unlock i2c bus around any ops that might access it 2022-09-22 17:03:05 -05:00
Jeff Epler
a769beed3f
Use new unique ID for this board 2022-09-22 16:23:38 -05:00
Dan Halbert
ea15a9118a ringbuf cleanup 2022-09-21 10:03:05 -04:00
Dan Halbert
c567b43441 add CIRCUITPY_USB_IDENTIFICATION to turn off on smallest builds 2022-09-20 14:32:38 -04:00
Florin Maticu
745d83adac DFU mode implementation for STM32F4 MCU. 2022-09-18 18:24:38 +02:00
Jeff Epler
1091d51af2
Merge pull request #6918 from UnexpectedCircuitPython/main
Added support for Unexpected Maker TinyPICO (V2/V3) and TinyPICO Nano
2022-09-17 21:39:17 -04:00
Seon Rozenblum
268b3f0dde Added support for Unexpected Maker TinyPICO (V2/V3) and TinyPICO Nano boards using ESP32-PICO-D4 2022-09-18 09:49:30 +10:00
Paul Price
b2ffda219a
updated a pin definition 2022-09-17 16:53:24 -04:00
Dan Halbert
8a568d18b5
Merge pull request #6757 from latkinso42/adcdma
analogbufio
2022-09-16 08:32:24 -04:00
MicroDev
4a69dfa50c
Merge pull request #6907 from dhalbert/preserve-pins-on-deep-sleep
allow preserving pin state during deep sleep
2022-09-16 17:52:04 +05:30
MicroDev
f994b11d52
Merge pull request #6909 from dhalbert/fesp32s2tft-remove-unneeded-code
Remove unneeded workaround for Feather ESP32-S2 TFT
2022-09-16 10:18:13 +05:30
Dan Halbert
7914870f9a
Merge pull request #6908 from dhalbert/nrf-busio-none-empty-uart-read
nrf: return None when UART.read() reads nothing
2022-09-15 22:12:06 -04:00
Dan Halbert
6bb47038d5 Merge remote-tracking branch 'adafruit/main' into adcdma 2022-09-15 20:42:51 -04:00
Dan Halbert
0ab4f12dc4 fix some submodules commit skew 2022-09-15 20:36:29 -04:00
Dan Halbert
82694b7265 remove extraneous copyrights 2022-09-15 20:31:08 -04:00
Dan Halbert
4df8a51982 Remove unneeded workaround for Feather ESP32-S2 TFT 2022-09-15 20:06:47 -04:00
Dan Halbert
3abfd212ec nrf: return None when UART.read() reads nothing 2022-09-15 19:40:02 -04:00
Dan Halbert
60f43b1703 allow preserving pin state during deep sleep 2022-09-15 17:35:14 -04:00
Wind-stormger
56c5f1eedf Add BananaPi BPI-Leaf-S3.
Based on esp32s3, all available pins are drawn.
2M PSRAM, 8M FLASH.
A JST SH 4-pin Connector can be used for STEMMA QT / Qwiic.
A MX 1.25mm 2-Pin Connector Lithium battery power supply.
A WS2812 LED.
2022-09-15 14:18:24 +08:00
Dan Halbert
14fc4a0797
Merge pull request #6898 from dhalbert/espressif-pwmout-reset
Espressif pwmout reset fixes
2022-09-14 18:47:05 -04:00
Dan Halbert
ae64f9fd78
Merge pull request #6899 from BPI-STEAM/CircuitPython-main-BPI-BIT-S2-PR
Add BananaPi BPI-Bit-S2 .
2022-09-13 23:02:46 -04:00
Wind-stormger
6f4cc611ed Add BananaPi BPI-Bit-S2 .
Adds support for the BananaPi BPI-Bit-S2 Boards.
Based on esp32s2 chip.
With 25 ws2812 LEDs, 1 buzzer, 2 photosensitive sensors, 1 thermosensitive sensor,
2 buttons on the front, 1 reset button and 1 boot button on the back.
2022-09-14 10:21:23 +08:00
Dan Halbert
d2f28eb980
Merge pull request #6887 from RetiredWizard/Broadcom-UART
Enable CIRCUITPY_CONSOLE_UART by default on Broadcom boards
2022-09-13 14:35:16 -04:00
Dan Halbert
2b25a5d574 update esp32-camera 2022-09-13 13:16:37 -04:00
Dan Halbert
14adfb16dd avoid pwmout_reset() workaround by reordering in main(); remove unnecessary never-resets 2022-09-12 21:32:21 -04:00
Dan Halbert
d0d10179c2 fix logic in pwmout_reset() 2022-09-12 17:03:45 -04:00
Kong Wai Weng
c157f1cb39 Cast pin_number to int8_t so that it can be used with switch-case. 2022-09-12 18:56:15 +08:00
Kong Wai Weng
0ae015e4d9 Removed whitespaces. 2022-09-12 18:25:27 +08:00
Kong Wai Weng
aaa2be1200 Set the default pin state for GPIOs to pull down. 2022-09-12 18:19:33 +08:00
microDev
36221bd749
update board microdev_micro_c3 2022-09-11 13:31:38 +05:30
RetiredWizard
14b604f48c
Add LED pin definition to Zero 2W board 2022-09-10 23:18:25 -04:00
RetiredWizard
28756936d5
Add HW_LED_STATUS pin to Zero 2W board 2022-09-10 23:17:02 -04:00
RetiredWizard
38a0ca324e
Uses different pins for RX/TX 2022-09-10 21:48:10 -04:00
RetiredWizard
f4eb618598
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:42:41 -04:00
RetiredWizard
1bdf9fca40
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:40:31 -04:00
RetiredWizard
1d03d73c13
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:39:51 -04:00
RetiredWizard
29e0aba72f
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:39:03 -04:00
RetiredWizard
fb4062d23f
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:38:16 -04:00
RetiredWizard
72c479efe6
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:37:31 -04:00
RetiredWizard
a892af8d77
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:36:41 -04:00
RetiredWizard
7708f19ec8
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:36:01 -04:00
RetiredWizard
0913e3a148
Define CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:34:45 -04:00
RetiredWizard
ecb74aa652
Remove CIRCUITPY_CONSOLE_UART_TX/RX 2022-09-10 21:33:29 -04:00
microDev
8cd4b9fc04 fix espressif run modes 2022-09-10 18:08:09 +05:30
Kong Wai Weng
2fbb3090e2 Changed the pins assignment. 2022-09-09 16:50:14 +08:00
Lee Atkinson
f279a2dbb2
Merge branch 'adafruit:main' into adcdma 2022-09-08 11:46:01 -04:00
Dan Halbert
dd37c81136
Merge pull request #6847 from dhalbert/status-bar-control
Allow enabling and disabling of status bar
2022-09-08 10:48:36 -04:00
Dan Halbert
58b00467c4
Merge pull request #6878 from dhalbert/weak-board-defs
Use MP_WEAK for default board.c routines
2022-09-08 10:47:08 -04:00
Dan Halbert
4cb69a51d5 Use MP_WEAK for default board.c routines 2022-09-08 07:36:50 -04:00
latkinso42
c1f57c6ceb Pushing for resolution 2022-09-07 18:53:35 -04:00
Dan Halbert
328138225b
Merge pull request #6868 from PontusO/main
Added challenger_rp2040_wifi_ble board
2022-09-07 18:36:52 -04:00
Seon Rozenblum
6c4f352533 Fixed incorrect IO naming for ProS3 and FeatherS3 2022-09-07 19:51:45 +10:00
latkinso42
25078a24a3 Attempt to fix Build-Docs and Pre-Commit 2022-09-06 18:58:57 -04:00
Pontus Oldberg
c043c437f7 Merge branch 'main' of https://github.com/PontusO/circuitpython 2022-09-06 09:37:25 +02:00
Pontus Oldberg
9a937e6ea3 Added challenger_rp2040_wifi_ble board. 2022-09-06 09:37:21 +02:00
latkinso42
5498b3ac91 fix to analogbufio BufferedIn.h 2022-09-05 14:22:08 -04:00
Scott Shawcroft
a09836eb4a
Merge pull request #6681 from PontusO/main
Adds support for the Challenger RP2040 SubGHz board
2022-09-05 10:01:51 -07:00
latkinso42
a1856ea3e9 Renaming module from adcbuffer to analogbufio 2022-09-05 12:11:49 -04:00
latkinso42
478b40ecf9 Merge branch 'adcdma' of https://github.com/latkinso42/circuitpython into adcdma
Syncing with remote
2022-09-04 16:07:37 -04:00
Lee Atkinson
3cd8259a78
Merge branch 'adafruit:main' into adcdma 2022-09-04 15:59:20 -04:00
latkinso42
d7a1db5b87 Changes per review 2022-09-04 15:57:59 -04:00
Dan Halbert
14498f793d
Merge pull request #6859 from wemos/s3_cpython
Add LOLIN S3 ESP32-S3 board.
2022-09-04 13:10:52 -04:00
bill88t
ca7fb6dede removal of sda-scl and add "GP" to 40,41 2022-09-04 18:05:50 +03:00
bill88t
e1891038c8 Forgor the one IO pin and sda-scl 2022-09-04 16:59:56 +03:00
Dan Halbert
449b43e5a6
Merge pull request #6863 from jepler/rp2pio-erroneous-mask
rp2pio: fix occasional bug when not using OUT pins
2022-09-04 09:15:35 -04:00
Jeff Epler
a3e17189a4
rp2pio: fix occasional bug when not using OUT pins
a NULL first pin object is used to indicate that there are zero
of some kind of pin associated with the StateMachine. However,
mask_and_rotate wasn't checking for zero. It actually read data from
near address 0x0 and (in my case) got a nonzero mask, which then
caused a program with GPIO11 and GPIO12 as input with pull-up and no
out pins to erroneously encounter the error "pull masks conflict with
direction masks"
2022-09-03 20:39:42 -05:00
wemos
3a18d285a2 Add LOLIN S3 ESP32-S3 board. 2022-09-03 11:06:51 +08:00
latkinso42
6fe2ea4513 Merging back with updated main files 2022-09-02 15:51:45 -04:00
Pontus Oldberg
59fb3fbbd6
Merge branch 'adafruit:main' into main 2022-09-01 10:35:13 +02:00
Dan Halbert
52080e24eb status bar control 2022-08-30 15:23:44 -04:00
Dan Halbert
3ba385ff5c
Merge pull request #6794 from jepler/esp32-camera-error-checking
Esp32 camera error checking
2022-08-30 11:41:42 -04:00
Dan Halbert
371e544a92
Merge pull request #6823 from pypewpew/ugame10-fix
Fix ugame.py for the ugame10 board
2022-08-29 12:34:02 -04:00
Jeff Epler
2c6f57be5e
Update ports/espressif/common-hal/esp32_camera/Camera.c
Co-authored-by: Mark <56205165+gamblor21@users.noreply.github.com>
2022-08-28 16:46:50 -05:00
Lee Atkinson
04af01a672 Pin Validation fixed/readmultiple return fixed 2022-08-27 14:47:12 -04:00
Radomir Dopieralski
0a0c03c3d2 Fix ugame.py for the ugame10 board
It was still trying to use the gamepad module, and there was a typo
2022-08-26 17:07:44 +02:00
Jeff Epler
ebd58155f2 bump pico-sdk to 1.4.0 2022-08-26 09:54:16 -05:00
Jeff Epler
dc27fb967d error at runtime if no psram actually reserved 2022-08-26 09:27:50 -05:00
Jeff Epler
9f22e75e5e error if camera is configured but no psram 2022-08-26 09:27:50 -05:00
Jeff Epler
8ed6a6135a Disable camera on boards without psram 2022-08-26 09:27:50 -05:00
Dan Halbert
83838fc4fd
Merge pull request #6798 from DavePutz/issue_6735
Fix handling of zero-length pulseout pulse
2022-08-25 07:49:28 -04:00
Lee Atkinson
37b6079c05 Merge branch 'adcdma' of https://github.com/latkinso42/circuitpython into adcdma
Reconciling remote updates
2022-08-24 21:46:28 -04:00
Lee Atkinson
55c0404d85
Merge branch 'adafruit:main' into adcdma 2022-08-24 21:07:12 -04:00
Lee Atkinson
6fd08483e2 Tidying code for PR/ Minor Issues 2022-08-24 17:41:51 -04:00
DavePutz
c00a630f50
Update PulseOut.c
reorder the tests for zero-length
2022-08-23 15:58:27 -05:00
root
3daebb36c3 Fix handling of zero-length pulseout pulse 2022-08-23 15:17:54 -05:00
Jeff Epler
6572f85913
Merge pull request #6779 from dhalbert/matrixportal-more-ram
matrixportal: remove ulab to make room to freeze portalbase
2022-08-23 09:41:36 -06:00
Lee Atkinson
e23b621d69 Fixing 8 bit and 12 bit conversion 2022-08-22 18:55:55 -04:00
Lee Atkinson
f5655dd48c Fixing Build errors/ DMA Xfer Rate 2022-08-21 11:44:40 -04:00
Lee Atkinson
68671399d1 More formating 2022-08-19 10:51:13 -04:00
Lee Atkinson
d3c3c9eac4 Tidy a few things 2022-08-18 19:10:16 -04:00
Lee Atkinson
f91af513b7 Introduced odule adcbuffer / removed analogio/AnalogFastIn 2022-08-18 16:23:17 -04:00
Dan Halbert
0c87d0b40d matrixportal: remove ulab instead of bleio HCI 2022-08-18 10:23:37 -04:00
Lee Atkinson
34b8fbaf14
Merge branch 'adafruit:main' into adcdma 2022-08-18 09:08:10 -04:00
Dan Halbert
2664d3766d matrixportal: remove BLEIO HCI to make room to freeze portalbase 2022-08-18 07:43:31 -04:00
arturo182
23f2b62196 Add the Solder Party BBQ20KBD board 2022-08-17 20:44:23 +02:00
Scott Shawcroft
2f0e209eca
Merge pull request #6772 from dhalbert/esp32-touch-fix
Fix ESP32 touch; rework common code a bit
2022-08-17 10:24:22 -07:00
Dan Halbert
2bc8d73776 Fix ESP32 touch; rework common code a bit 2022-08-16 20:04:27 -04:00
Scott Shawcroft
4b1d1fd72d
Merge pull request #6768 from mayrhomar/main
Add Waveshare ESP32-S2-Pico-LCD
2022-08-16 09:50:46 -07:00
Scott Shawcroft
3fbddfde59
Merge pull request #6758 from gamblor21/rp2040_i2ctarget
Rp2040 i2ctarget support
2022-08-15 13:57:49 -07:00
Martin
528da05f54 Add Waveshare ESP32-S2-Pico-LCD 2022-08-15 16:46:14 +02:00
Lee Atkinson
4542c801b0 Tidying up loose endson draft PR 2022-08-14 13:03:33 -04:00
lady ada
2f2ccdddbf pycam rev b pins 2022-08-13 23:41:35 -04:00
gamblor21
7584363f66 Forgot an include 2022-08-13 17:41:45 -05:00
gamblor21
1ae2a2154e Initial i2ctaret commit 2022-08-13 17:00:43 -05:00
MicroDev
fa3e265bfb
Merge pull request #6753 from tannewt/esp_led_reset
Audit all boards with LED pins defined
2022-08-13 15:25:02 +05:30
Lee Atkinson
8cd12b2478 Copyright Change 2022-08-12 16:01:58 -04:00
Lee Atkinson
81c7ba899d Copyright Update/Acknowledgements 2022-08-12 13:57:45 -04:00
Lee Atkinson
6d8e8c71fc Merge branch 'adcdma' of https://github.com/latkinso42/circuitpython into adcdma
Fixing code behind commits
2022-08-11 17:58:46 -04:00
Lee Atkinson
ce24469848
Merge branch 'adafruit:main' into adcdma 2022-08-11 17:57:01 -04:00
Lee Atkinson
c3c1e307c4 Sample Rate Enhancements 2022-08-11 17:50:30 -04:00
Scott Shawcroft
df1435ae94
Audit all boards with LED pins defined
Add them as MICROPY_HW_LED_STATUS so that we can share reset code
for them. They aren't actually used for the status if another RGB
option is available. (But maybe they should be.)

Fixes #6717
2022-08-11 14:41:20 -07:00
Scott Shawcroft
5823bcc744
Merge branch 'main' into c3_short_send 2022-08-11 12:45:02 -07:00
Scott Shawcroft
f1053fb963
Introduce port_yield()
This allows the web workflow send code to yield briefly when
waiting for more room to send in a socket. Waiting for an "interrupt"
could wait forever because the select task only waits for read and
error. Adding wait on write is tricky because much of the time we
don't care if the sockets are ready to write. Using yield avoids
this trickiness.
2022-08-11 11:25:34 -07:00
Lee Atkinson
5fb5fd0558
Merge branch 'adafruit:main' into adcdma 2022-08-10 18:33:52 -04:00
Scott Shawcroft
f9d724c09e
Fix retries after successful connection.
We may have set retries to 0 to enforce a timeout but the connect
succeeded. When it succeeds, we want to allow retries later in
case we lose signal briefly. (The callback will do this too but
the connect function will override it after.)

Also, remove extra code from websocket that is leftover from
debugging.
2022-08-10 15:24:08 -07:00
Jeff Epler
c2a45c1f27
Merge pull request #6739 from jepler/qrio-esp32camera
Enable qrio to work with rgb565 data, including byte-swapped data
2022-08-10 13:54:40 -05:00
Scott Shawcroft
7a5d2e81fc
Merge pull request #6734 from dhalbert/remove-autobrightness
Remove support for auto-brightness
2022-08-10 10:22:53 -07:00
Jeff Epler
86f9d98a5d fix documentation of framebuffer_count 2022-08-10 11:12:54 -05:00
Dan Halbert
af64faae1e switch back one I2C message 2022-08-10 12:06:43 -04:00
Lee Atkinson
e778112710
Merge branch 'adafruit:main' into adcdma 2022-08-10 10:29:17 -04:00
Lee Atkinson
9e0c580d3d AnalogFastIn 2022-08-10 09:42:24 -04:00
Dan Halbert
198c8fea11 merge from upstream and fix espressif_esp32s3_eye 2022-08-10 08:43:08 -04:00
Dan Halbert
02cc6c2aee Merge remote-tracking branch 'adafruit/main' into remove-autobrightness 2022-08-10 08:35:53 -04:00
Scott Shawcroft
138c92f035
Merge pull request #6727 from dhalbert/restore-deleted-modules
restore rainbowio and onewireio to a number of boards
2022-08-09 21:44:26 -07:00
Dan Halbert
41bcd7b260 Remove support for auto-brightness 2022-08-09 22:40:21 -04:00
Scott Shawcroft
59b4353282
Merge pull request #6713 from tannewt/exception_filename
Add exception filename to title bar
2022-08-09 16:59:12 -07:00
Jeff Epler
5040e1b7a5
Merge pull request #6684 from jepler/espressif-camera-2
Rewrite camera support for the Espressif port
2022-08-09 18:50:25 -05:00
Scott Shawcroft
db837e2b48
Merge pull request #6725 from dhalbert/esp-stack-size-16kB
increase main task stack size from 8kB to 16kB
2022-08-09 16:40:16 -07:00
Scott Shawcroft
554063a817
Merge branch 'main' into espressif-camera-2 2022-08-09 14:07:14 -07:00
Scott Shawcroft
5084de1b73
Merge pull request #6708 from strid3r21/main
Added Smart Bee Design Boards
2022-08-09 14:06:11 -07:00
Dan Halbert
c4db71d12e
Merge pull request #6721 from dhalbert/i2c-target
Change I2C terminology from "peripheral" to "target"
2022-08-09 16:12:17 -04:00
Dan Halbert
34b22eac2a restore rainbowio and onewireio to a number of boards 2022-08-09 16:10:17 -04:00
Dan Halbert
4021b44a39 increase main task stack size from 8kB to 16kB 2022-08-09 15:00:01 -04:00
Scott Shawcroft
df52d995ed
Merge pull request #6714 from dannystaple/patch-2
Improve docs for rp2Pio Statemachine frequency
2022-08-09 10:50:27 -07:00
Scott Shawcroft
b3b27a1d80
Remove extra leading spaces 2022-08-09 10:45:47 -07:00
Scott Shawcroft
556d01a685
Remove extra newline at end of file 2022-08-09 10:44:57 -07:00
Scott Shawcroft
ce1273be7a
Pull Feather S2 TFT LED down on reset 2022-08-09 10:42:56 -07:00
Jeff Epler
c74746f052 Cross references in documentation always help 2022-08-09 12:20:02 -05:00
Dan Halbert
84807cd6eb Change I2C terminology from "peripheral" to "target" 2022-08-09 13:13:19 -04:00
Scott Shawcroft
d95cfc3abc
Merge pull request #6719 from dhalbert/huzzah32-web-workflow
enable web workflow on Feather HUZZAH32
2022-08-09 10:08:39 -07:00
Jeff Epler
5a85b8ab95 improve docstrings based on my best sleuthing 2022-08-09 11:42:19 -05:00
Jeff Epler
ec839d6f90 these items should not have been disabled 2022-08-09 11:42:19 -05:00
Jeff Epler
f87e34b9ed add shutter button 2022-08-09 11:42:19 -05:00
takayoshiotake
5ce3778d75 Add custom board: Octave RP2040 2022-08-09 22:19:38 +09:00
Dan Halbert
10275001ac enable web workflow on Feather HUZZAH32 2022-08-09 07:26:18 -04:00
paul
15ad24ba62 ran pre-commit. 2022-08-09 04:32:21 -04:00
Danny Staple
3c1c477c5b
Improve docs for rp2Pio Statemachine frequency
This frequency can be set to 0 for the system (133mhz) clock speed.
2022-08-08 22:14:55 +01:00
lady ada
2cd9222e5e add includes 2022-08-07 14:32:29 -04:00
lady ada
029b6b6fbe add default display 2022-08-07 14:12:40 -04:00
paul
a6eadd6259 Added Bee Motion S3 board 2022-08-07 11:59:43 -04:00
paul
f39058edc4 Added Bee S3 board 2022-08-06 22:22:20 -04:00
Lee Atkinson
f69939c49c First Commit for AnalogFastIn 2022-08-06 16:22:50 -04:00
Lee Atkinson
56c44f6265 Merge remote-tracking branch 'origin/main' 2022-08-06 15:53:54 -04:00
Lee Atkinson
552f6af4a1 clean up 2022-08-06 15:50:22 -04:00
Jeff Epler
1a11ff864a
Merge remote-tracking branch 'origin/main' into espressif-camera-2 2022-08-05 21:08:12 -05:00
Jeff Epler
1da8065d6b
Merge remote-tracking branch 'origin/main' into espressif-camera-2 2022-08-05 16:38:51 -05:00
Scott Shawcroft
207311b02a
Merge branch 'main' into title_execution_status 2022-08-05 13:42:58 -07:00
Dan Halbert
8c10e09ba0
Merge pull request #6667 from jepler/esp-reserve-heap-for-idf
Add ability to reserve psram
2022-08-05 15:06:44 -04:00
Jeff Epler
3f49d77036
Improve esp32-s3-eye board definition 2022-08-05 13:10:21 -05:00
Scott Shawcroft
e7d72b1ebe
Use libgcc from Arch on SAMD21 (it's smaller.)
Fixes #4705
2022-08-04 16:33:41 -07:00
Scott Shawcroft
83cbbc9946
Add BLE status to title bar 2022-08-04 16:33:10 -07:00
Scott Shawcroft
125b276af0
Get CIRCUITPY FATFS directly.
Otherwise, you may actually get a non-root filesystem.

Fixes #6575
2022-08-04 16:06:27 -07:00
Jeff Epler
861fa9625d
Add the ESP32-EYE aka ESP-EYE 2022-08-04 15:12:12 -05:00
Jeff Epler
98202c8568
Allow changing camera settings that require reinit
These can only be changed in a group, though any items to keep
unchanged can be unspecified or specified as None.
2022-08-04 15:12:11 -05:00
Jeff Epler
428fbcd343
remove debug message during build 2022-08-04 15:12:10 -05:00
Jeff Epler
0e26a937cc
Disable camera everywhere it doesn't fit 2022-08-04 15:12:08 -05:00
Jeff Epler
230532f0eb
one last doc build fix 2022-08-04 15:12:07 -05:00
Jeff Epler
a9d53ad2a6
Fix "check-stubs" problems 2022-08-04 15:12:06 -05:00
Jeff Epler
7cb40c9054
further doc build fixes 2022-08-04 15:12:05 -05:00
Jeff Epler
81fb9a5f20
specify return type for docs 2022-08-04 15:12:04 -05:00
Jeff Epler
8bdbe0355a
Add more getters 2022-08-04 15:12:02 -05:00
Jeff Epler
badcae5ace
Fix docstring errors 2022-08-04 15:12:01 -05:00
Jeff Epler
aead0dfe45
Return a Bitmap from take() when appropriate 2022-08-04 15:12:00 -05:00
Jeff Epler
54fe753602
Enable gifio and qrio when appropriate 2022-08-04 15:11:59 -05:00
Jeff Epler
258f72640a
Implement a pile of getters & setters 2022-08-04 15:11:57 -05:00
Jeff Epler
69949ecb43
update PID for this board 2022-08-04 15:11:56 -05:00
Jeff Epler
d1b89fca91
Reset camera when interpreter is reset 2022-08-04 15:11:55 -05:00
Jeff Epler
f54c7adddc
Must treat NO_PIN cast to uint8_t the same as NO_PIN
Otherwise, deinitializing a camera with e.g., the powerdown
pin unspecified results in an assertion failure in a debug build.
2022-08-04 15:11:54 -05:00
Jeff Epler
1d1e139379
fix taking multiple pictures 2022-08-04 15:11:53 -05:00
Jeff Epler
b903a020fd
Enable display on esp32-s3-eye 2022-08-04 15:11:52 -05:00
Jeff Epler
8d673bdbf5
reserve 1MB of PSRAM for camera framebuffer on esp32s3-eye
.. this setting can be overridden with a bigger or smaller value in
CIRCUITPY/.env but 1/8 of PSRAM seems like a good initial value. It's
enough to store a single 800x600 or 640x480 RGB565 frame, or multiple
smaller frames such as 320x240.
2022-08-04 15:11:51 -05:00
Jeff Epler
5db6db0128
add esp32-camera
This uses the esp32-camera code instead of our own homebrewed camera code.
In theory it supports esp32, esp32-s2 and esp32-s3, as long as they have
PSRAM.

This is very basic and doesn't support changing any camera parameters,
including switching resolution or pixelformat.

This is tested on the Kaluga (ESP32-S2) and ESP32-S3-Eye boards.

First, reserve some PSRAM by putting this line in `CIRCUITPY/_env`:
```
CIRCUITPY_RESERVED_PSRAM=524288
```
and hard-reset the board for it to take effect.

Now, the following script will take a very low-resolution jpeg file and print
it in the REPL in escape coded form:

```python
import board
import esp32_camera

c = esp32_camera.Camera(
    data_pins=board.CAMERA_DATA,
    external_clock_pin=board.CAMERA_XCLK,
    pixel_clock_pin=board.CAMERA_PCLK,
    vsync_pin=board.CAMERA_VSYNC,
    href_pin=board.CAMERA_HREF,
    pixel_format=esp32_camera.PixelFormat.JPEG,
    i2c=board.I2C(),
    external_clock_frequency=20_000_000)

m = c.take()
if m is not None:
    print(bytes(m))
```

Then on desktop open a python repl and run something like
```python
>>> with open("my.jpg", "wb") as f: f.write(<BIG PASTE FROM REPL>)
```
and open my.jpg in a viewer.
2022-08-04 15:11:50 -05:00
Jeff Epler
8e08cc38f8
Add default I2C bus to Kaluga 2022-08-04 15:11:48 -05:00
Scott Shawcroft
e0cb8ef17e
Merge pull request #6694 from dhalbert/esp32-no-psram
ESP32 no psram support; other ESP32 cleanup
2022-08-04 11:49:39 -07:00
Scott Shawcroft
3707b54e3b
Merge pull request #6672 from bill88t/main
Add Waveshare ESP32-S2-Pico
2022-08-04 11:09:59 -07:00
Dan Halbert
202fac59f8 ESP32 fixes for no PSRAM; some cleanup 2022-08-04 13:44:52 -04:00
Dan Halbert
d4e8c19b49 merge from main 2022-08-04 12:43:23 -04:00
Jeff Epler
82be75adb5 Add ability to reserve psram
.. the primary user of which will be the camera, since the framebuffers
must be allocated via esp-idf allocation function and never from the
gc heap.

A board can have a default value, and the value can also be set in the
/.env file using the key CIRCUITPY_RESERVED_PSRAM with the value being
the reserved size in bytes.

Co-authored-by: Dan Halbert <halbert@adafruit.com>
2022-08-03 16:19:40 -05:00
Pontus Oldberg
c884194c92 Fixed incorrect PID. 2022-08-03 08:45:39 +02:00
bill88t
68bb6b9988 ran precommit 2022-08-03 09:14:26 +03:00
Bill Sideris
efa3e40f90
Add the one obtained from esp 2022-08-03 08:48:28 +03:00
Dan Halbert
d3d5e36548 update adafruit/esp-idf for ESP32_ECO3_CACHE_LOCK_FIX fix 2022-08-02 22:37:06 -04:00
Dan Halbert
b027d111a9 remove custom console UART from sdkconfig-esp32.defaults 2022-08-02 22:00:59 -04:00
Dan Halbert
534a482d94 initial HUZZAH32 bring-up, with hacked pins 2022-08-02 21:47:46 -04:00
Dan Halbert
767234e79c
Merge pull request #6688 from tannewt/fix_esp32c3_paste
Fix C3 when pasting 128+ characters
2022-08-02 21:35:02 -04:00