Commit Graph

28579 Commits

Author SHA1 Message Date
Mark faa34c1a0f
Merge pull request #6696 from gamblor21/fix-6576-spi_device
Check if CS parameter is DigitalInOut type
2022-08-04 22:24:49 -05:00
gamblor21 9b9f8de0ba Changed error handling to use new routine 2022-08-04 19:34:12 -05:00
Scott Shawcroft 167108a91f
Fix builds with displayio but not terminalio 2022-08-04 16:34:25 -07:00
Scott Shawcroft 5e015001c0
Add supervisor.runtime.autoreload
This replaces supervisor.enable_autoreload() and
supervisor.disable_autoreload(). It also allows user code to get
the current autoreload state.

Replaces #5352 and part of #5414
2022-08-04 16:34:25 -07: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 eb7ddf52e6
Fix BLE workflow and add boot_out.txt UID
Fixes #6621
2022-08-04 16:33:10 -07:00
Scott Shawcroft 83cbbc9946
Add BLE status to title bar 2022-08-04 16:33:10 -07:00
Scott Shawcroft 3a2bcbc5c7
Enable title bar on all builds
* Tweak scroll area position so last line is complete and top is
  under the title bar.
* Pick Blinka size based on the font to minimize unused space in
  title bar. Related to #2791
* Update the title bar after terminal is started. Fixes #6078

Fixes #6668
2022-08-04 16:33:10 -07:00
Scott Shawcroft 577d53dda4
Add execution status into title bar 2022-08-04 16:33:09 -07:00
Scott Shawcroft 185d3e19ec
Switch to temporary redirect for cp.local
This prevents browsers from caching it. Thanks to MakerMelissa for
the suggestion.
2022-08-04 16:25:50 -07:00
gamblor21 0ca29fa213 Check if CS parameter is DigitalInOut type 2022-08-04 18:12:27 -05: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 277b439562
Bump setuptools version
Building locally I saw this message:
```
/home/jepler/.espressif/python_env/idf4.4_py3.9_env/lib/python3.9/site-packages/setuptools_scm/integration.py:27: RuntimeWarning:
ERROR: setuptools==44.1.1 is used in combination with setuptools_scm>=6.x

Your build configuration is incomplete and previously worked by accident!
setuptools_scm requires setuptools>=45
```

For some reason this dependency is not automatically met, e.g., by
setuptools_scm specifying a versioned dependency itself! So specify
it here.
2022-08-04 15:12:03 -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 64b1d003df
Allow a Bitmap to be constructed from a buffer (in C anyway)
.. so that Camera.take() can return one without copying
2022-08-04 15:11:58 -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 07afb3eab8
Fix typo 2022-08-04 15:11:49 -05:00
Jeff Epler 8e08cc38f8
Add default I2C bus to Kaluga 2022-08-04 15:11:48 -05:00
Jeff Epler 5ac3aeaac7
Remove unused header 2022-08-04 15:11:47 -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
RetiredWizard 9e2f6dfc13
Turn off edit links when not editable 2022-08-03 17:56:43 -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
RetiredWizard f3db5709c3
Add filename sort to web workflow file manager 2022-08-03 16:33:13 -04: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
Scott Shawcroft d659a3b457
Merge pull request #6690 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2022-08-02 22:41:45 -07: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