Commit Graph

77 Commits

Author SHA1 Message Date
Bill Sideris d6ad25ee96
Completely remove tx buffer setting 2023-11-13 21:03:05 +02:00
Bill Sideris df1cc17359
Fix C6 wifi 2023-11-13 19:35:47 +02: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
Scott Shawcroft 3684640ada
Merge pull request #8430 from jepler/dotclock-enhancements
Dotclock enhancements
2023-09-27 11:39:37 -07:00
Scott Shawcroft 3fdfb9bd32
Update ADC and I2S APIs for 5.1
This fixes ESP32 because the BufferedIn used the old ADC API and
I2S did too indirectly.

Fixes #8429
2023-09-26 16:06:54 -07:00
Jeff Epler 747b6e8d2e
enable LCD_RGB_RESTART_IN_VSYNC
this "should" turn permanent tearing into temporary tearing.
2023-09-25 16:39:38 -05:00
Scott Shawcroft c726e87344
Enable BLE on H2 devkit 2023-09-22 15:05:20 -07:00
Scott Shawcroft 16d1dc2be0
Update all target sdkconfig 2023-09-22 10:03:20 -07:00
Scott Shawcroft 6649b17fb5
H2 works 2023-09-22 10:03:20 -07:00
Scott Shawcroft 39192cc896
C6 works 2023-09-22 10:02:35 -07:00
Scott Shawcroft 7bad82a219
C6 compiles, runs but wifi crashes 2023-09-22 10:02:35 -07:00
Scott Shawcroft 4087960dfd
Fix MDNS. C3 works 2023-09-14 15:04:07 -07:00
Scott Shawcroft 952118f6c3
Update new boards. Reduce memory use in S2 2023-09-14 11:19:38 -07:00
Scott Shawcroft 99726e255d
Switch to newlib nano 2023-09-13 11:40:09 -07:00
Scott Shawcroft 18fd0045f6
More kconfig updates 2023-09-13 11:40:09 -07:00
Scott Shawcroft 0a9ae1f6ba
Code size optimizations 2023-09-13 11:40:09 -07:00
Scott Shawcroft cb6b4d0d4a
Fix esp-camera. 32 was dropped so the path doesn't have esp32 in it. 2023-09-13 11:40:09 -07:00
Scott Shawcroft 4b29862d30
Clean up more s2 sdkconfig 2023-09-13 11:40:08 -07:00
Scott Shawcroft 1ab083fab7
Support target specific kconfig source 2023-09-13 11:39:51 -07:00
Scott Shawcroft 73e04e84a2
Split out flash and psram settings from sdkconfig 2023-09-13 11:39:10 -07:00
MicroDev c38972b51c
update ulp implementation 2023-09-13 11:35:14 -07:00
MicroDev 242a720593
fix psram crash 2023-09-13 11:35:14 -07:00
MicroDev 7b9c87e432
update espressif ble sdkconfig 2023-09-13 11:35:14 -07:00
MicroDev a18e015888
update idf to v5.0 2023-09-13 11:33:51 -07:00
Dan Halbert 9f1d52601e merge from 8.2.x 2023-09-12 20:14:30 -04:00
Dan Halbert 58a21326b2 Update to new certificates submodule. 2023-09-06 19:36:48 -04:00
Jeff Epler 46d7771152
tinyuf2 adopted the partition scheme called "1ota"
.. which irritated our partition table parser in build_memory_info, so
make it work again.
2023-07-26 09:41:10 -05:00
Jeff Epler 9edd8957a1
Add a "4MB without OTA" partition scheme
This is needed on the camera board, because we have a lot of code.
2023-07-26 08:38:30 -05:00
MicroDev f7167bd735
Merge pull request #5999 from anecdata/ESP32-S3-DevKitC-1-N32R8
Espressif ESP32-S3 DevKitC-1-N32R8
2023-01-29 10:27:08 +05:30
Scott Shawcroft a7b12de6ee
Merge pull request #7473 from MicroDev1/espulp
Add ULP FSM
2023-01-26 09:57:35 -08:00
MicroDev a6861adb1f
Merge branch 'main' of origin into ESP32-S3-DevKitC-1-N32R8 2023-01-26 11:21:43 +05:30
MicroDev 90e8f9d4a8
fix espressif 32MB partition table 2023-01-26 11:19:22 +05:30
MicroDev 9487fb51a4
prettify espressif partition tables 2023-01-25 19:40:14 +05:30
MicroDev 2bb12293f8
add ulp fsm 2023-01-21 17:44:08 +05:30
Scott Shawcroft b354cec8cb
Three small ESP web workflow fixes
* Set nonblock on all accepted sockets. Not just ones for user code.
* Close an open websocket if another is accepted.
* Set debug level to INFO rather than DEBUG because DEBUG crashes
  on ESP32-S3 USB OTG.
2022-12-06 11:49:04 -08:00
Dan Halbert df0150ff0e Add common settings to sdkconfig-esp32c3.defaults 2022-11-21 15:15:26 -05:00
MicroDev 3a418379d3
Merge branch 'main' of origin into ESP32-S3-DevKitC-1-N32R8 2022-11-18 09:40:20 +05:30
microDev 83b54d003d
implement more checks in coproc module
- check memory address range
- check firmware size at an earlier stage
2022-10-22 19:05:48 +05:30
microDev 5232e3f6c3
add coproc module 2022-10-20 09:09:44 +05:30
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
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
microDev 66b539d768
fix espressif log level 2022-10-14 11:33:10 +05:30
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 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
Dan Halbert 4021b44a39 increase main task stack size from 8kB to 16kB 2022-08-09 15:00:01 -04:00
Jeff Epler 1da8065d6b
Merge remote-tracking branch 'origin/main' into espressif-camera-2 2022-08-05 16:38: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
Dan Halbert d4e8c19b49 merge from main 2022-08-04 12:43:23 -04:00
Dan Halbert b027d111a9 remove custom console UART from sdkconfig-esp32.defaults 2022-08-02 22:00:59 -04:00