Commit Graph

75 Commits

Author SHA1 Message Date
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
Scott Shawcroft
9661d3256c
Add more ESP32 boards and enable web workflow 2022-08-01 15:52:08 -07:00
Dan Halbert
3817d007aa clean up esp32 sdkconfigs 2022-07-28 17:52:27 -04:00