Commit Graph

1003 Commits

Author SHA1 Message Date
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
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
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
Dan Halbert
4df8a51982 Remove unneeded workaround for Feather ESP32-S2 TFT 2022-09-15 20:06:47 -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
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
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
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
Seon Rozenblum
6c4f352533 Fixed incorrect IO naming for ProS3 and FeatherS3 2022-09-07 19:51:45 +10: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
wemos
3a18d285a2 Add LOLIN S3 ESP32-S3 board. 2022-09-03 11:06:51 +08:00
Dan Halbert
52080e24eb status bar control 2022-08-30 15:23:44 -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
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
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
Martin
528da05f54 Add Waveshare ESP32-S2-Pico-LCD 2022-08-15 16:46:14 +02:00
lady ada
2f2ccdddbf pycam rev b pins 2022-08-13 23:41:35 -04: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
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
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
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
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
4021b44a39 increase main task stack size from 8kB to 16kB 2022-08-09 15:00:01 -04: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
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
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
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
Jeff Epler
1da8065d6b
Merge remote-tracking branch 'origin/main' into espressif-camera-2 2022-08-05 16:38:51 -05: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
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
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
Dan Halbert
524cc5e274
Merge pull request #6685 from tannewt/esp32_ww
Enable Web Workflow on Feather ESP32 V2
2022-08-02 21:30:23 -04:00
Scott Shawcroft
9de8ae70b6
Fix C3 when pasting 128+ characters
The ringbuf used to fill up and the recv interrupt would block CP.
Now it'll disable the interrupt until we have enough room in the
ringbuf.

Fixes #6678
2022-08-02 15:25:19 -07:00
Scott Shawcroft
1c69fe1727
Fix S2/S3 USB
The new Kconfig that fixed C3 added a dependency on USB_OTG_SUPPORTED
that is only calculated if we include the usb module in cmake.

Fixes #6679
2022-08-02 14:11:09 -07:00
Scott Shawcroft
74e841d835
Read fuses to know what flash and ram pins to never reset 2022-08-02 12:01:42 -07:00
Bill Sideris
60429f51c7
Add official vid/pid 2022-08-02 09:43:17 +03:00
Scott Shawcroft
f0c6a8c49a
Odroid pin defs 2022-08-01 15:52:08 -07:00
Scott Shawcroft
9661d3256c
Add more ESP32 boards and enable web workflow 2022-08-01 15:52:08 -07:00
bill88t
c71cc4e0dd Add Waveshare ESP32-S2-Pico 2022-07-30 15:35:48 +03:00
Scott Shawcroft
312e298890
Fix other ESP builds and arduino_nano_33_iot 2022-07-29 11:02:35 -07:00
Scott Shawcroft
d6344812e8
Lots of web workflow, C3 and title bar fixes
* Fixes #6221 - C3 hang on `import wifi`. Enabling the WiFi PHY was
  disabling USB. Now boards that use it set CONFIG_ESP_PHY_ENABLE_USB
  explicitly.
* Fixes #6655 - Allows pasting into the web serial page. Fixes reading
  more than 0xf bytes at a time.
* Fixes #6653 - Fixes web socket encoding of payloads >125 bytes. Can
  happen when printing a long string.
* Fixes C3 responsiveness when waiting for key to enter REPL. (It
  now correctly stops sleeping.)
* Disables title bar updates when in raw REPL. Related to #6548.
* Adds version to title bar.
2022-07-28 16:06:56 -07:00
Dan Halbert
3817d007aa clean up esp32 sdkconfigs 2022-07-28 17:52:27 -04:00
Scott Shawcroft
c4c15206e7
Merge pull request #6608 from tannewt/web_workflow_port
Allow for dynamic reconfigure including port
2022-07-28 12:59:31 -07:00
Dan Halbert
282f8c49a6
Merge pull request #6660 from tannewt/fix_c3_serial_tx
Improve USB to Serial/JTAG TX
2022-07-28 14:42:56 -04:00
Scott Shawcroft
c29fa9012d
Merge pull request #6645 from prplz/seeed_xiao_esp32c3
Add board: seeed_xiao_esp32c3
2022-07-28 11:22:43 -07:00
Scott Shawcroft
ddeb833a3a
Shrink Feather S3 4mb build with -Os 2022-07-28 07:43:39 -07:00
Michael Himing
555bf7cc12 Add board: seeed_xiao_esp32c3 2022-07-28 22:48:03 +10:00
Scott Shawcroft
bea955222a
Improve USB to Serial/JTAG TX
It had a tight 5ms timeout before that caused some characters to
drop. Now the wait is longer and reset after a successful transmit.
This follows what MicroPython does.

Fixes #6220
2022-07-27 12:15:13 -07:00
Scott Shawcroft
ce60beeb25
Merge pull request #6651 from tannewt/refine_select_task
Improve web workflow responsiveness
2022-07-27 11:24:51 -07:00
Chris Dailey
2a9d3c5ed2
Adds BOOT0 (GPIO 0) as a named pin for MagTag. 2022-07-27 08:38:52 -04:00
Scott Shawcroft
931757f4a9
Improve web workflow responsiveness
1. Run the socket select task at the same priority as CP. This is
  needed because it queues up the background work. Without it, CP
  needed to sleep to let the lower priority task go.
2. Close the active socket on disconnect. This prevents looping
  over a disconnected but not closed socket.

Fixes #6610. Fixes #6613
2022-07-26 15:29:49 -07:00
Neradoc
87e8994c4a no default extension for ESP, fix duplicate line in rp2 2022-07-26 18:15:59 +02:00
Neradoc
eabe8b971a list extensions instead of macros names ("bin,uf2" not BIN_UF2)
the modules_support_matrix usees a dictionnary per board instead of a list
optionally include the frozen modules URLs in it
2022-07-26 18:15:59 +02:00
Neradoc
d021d9ae4a Move build extensions to board directories
- define CIRCUITPY_BUILD_EXTENSIONS to predefined values
- set CIRCUITPY_BUILD_EXTENSIONS in port and board config
- reuse the support matrix "get_settings_from_makefile" to get it
- move the existing port and board specific values
- remove the C3 specific board values because it's not the default
- update build_release_files.py to use get_settings_from_makefile
2022-07-26 18:15:50 +02:00
Scott Shawcroft
66d5fa9a55
Save space on Feather S3 4mb with -Os 2022-07-25 16:19:52 -07:00
Scott Shawcroft
6d6234443d
Merge remote-tracking branch 'adafruit/main' into web_workflow_port 2022-07-25 15:57:58 -07:00
Scott Shawcroft
47f718aa92
Merge pull request #6615 from askpatrickw/beetle-esp32-c3
Beetle esp32 c3
2022-07-25 15:00:05 -07:00
Dan Halbert
f2bbe5a6a1
Merge pull request #6614 from litui/litui-espressif-bleiofix
Fixed empty characteristic issue with bleio+nimble.
2022-07-20 08:42:31 -04:00
Dan Halbert
e877644012 use -Os on Feather ESP32-S3 TFT to shrink build 2022-07-19 17:45:29 -04:00
Patrick
1e99d68af7 Add Creator ID 2022-07-17 12:38:27 -07:00
Patrick
71c22232f0 board config compelted 2022-07-17 11:48:45 -07:00
Aria Burrell
868a03ff57 Fixed empty characteristic issue with bleio+nimble.
- Based on espressif/nimble's blecent example code. Confirms that the characteristic is not empty before trying to catalogue its descriptors.
- Running ble_gattc_disc_all_dscs on empty (no length) characteristics fails with the (not-very-informative) BLE_HS_EINVAL error if this check is not performed.
2022-07-17 04:50:50 -06:00
Scott Shawcroft
78b4159448
Allow for dynamic reconfigure including port 2022-07-15 16:33:12 -07:00
Jeff Epler
4e6fa55cba
Merge pull request #6591 from tannewt/web_workflow_ticks
Add socket select task to wake CP
2022-07-15 18:30:43 -05:00
Scott Shawcroft
c2a8ef752c
Remove ps2io to make space 2022-07-15 14:01:50 -07:00
Scott Shawcroft
6e7fdcc24b
Add wait for MDNS hostname to be set 2022-07-15 13:48:19 -07:00
Scott Shawcroft
145cce93da
Merge pull request #6596 from Neradoc/ble-name-in-dotenv
Setup default BLE name in dotenv
2022-07-14 15:46:28 -07:00
Jeff Epler
dcc27a8c88
Need to ensure wifi radio is set enabled again on esp32
.. otherwise, nothing set it enabled on the second soft reboot.
2022-07-14 15:09:26 -05:00
Jeff Epler
72f5537027
esp32: don't fully reset the wifi device
.. this makes reconnecting without a full reset not work.

Because this works on other generations of the esp32 (c2, c3, etc),
apply this behavior only to esp32.

After this change, it's possible to connect multiple times to wifi in
different runs of code.py or the repl after soft rebooting.
2022-07-14 15:01:15 -05:00
Neradoc
5ca6d8953d use available constants instead of testing errors for length 2022-07-14 11:55:53 +02:00
Neradoc
50a9beda04 Retrieve the BLE name from dotenv if available
Format:
CIRCUITPY_BLE_NAME = My BLE Board

- the length is limited to 31 characters
- for the NRF version it repeatedly truncates the name if it's too long
- the ESP version defaults to "nimble" if the name is too long
2022-07-14 11:55:53 +02:00
Scott Shawcroft
e9dd254127
Add socket select task to wake CP
This fixes the web workflow on boards without a display.

Fixes #6552
2022-07-13 17:35:35 -07:00
Scott Shawcroft
ac460dd1e1
Merge branch 'main' into esp32 2022-07-13 15:30:53 -07:00
Jeff Epler
09b754ffa0
espressif: Set heap size automatically, like micropython
rather than setting the heap size statically, micropython allocates
the biggest contiguous chunk possible, but in no event more than half the
total internal sram. On esp32 this gives 123728 bytes of `gc.mem_free`
in the repl.
2022-07-13 14:00:59 -05:00
Jeff Epler
09d1c846c4
Set heap size to 0 when heap allocation fails 2022-07-13 13:53:22 -05:00
Jeff Epler
c1b6c367ff
esp32 can allocate 88kB successfully 2022-07-13 13:53:08 -05:00
Jeff Epler
13be10ef14
rename function to avoid confusion 2022-07-13 13:28:51 -05:00
Jeff Epler
5c6ee20ca5
on esp32 need to initialize nvs before starting wifi
Also, change error handling so that the esp-idf error number
is shown in the traceback in the case of an error.

This allows scanning & connecting to work. I didn't try requests yet.
2022-07-13 11:57:38 -05:00
Jeff Epler
f620c2901c
Set a small but working heap size for esp32 without psram 2022-07-13 11:10:00 -05:00
Jeff Epler
ea52ca66dc
Disable SPIRAM bankswitch on esp32
We don't use this facility, which was reserving the last 256kiB of
psram.
2022-07-13 10:56:58 -05:00
Jeff Epler
953f44b46e
Fix spiram limit calculation on esp32
esp32 places the psram start at SOC_EXTRAM_DATA_LOW and it can extend
up to SOC_EXTRAM_DATA_SIZE. This is different than esp32-s2 and later,
which place the end at EXTRAM_DATA_HIGH and the limitation of
SOC_EXTRAM_DATA_SIZE was not previously identified as important.
Additionally, the esp32 has a reserved area within himem which was
not being accounted for.

With this change, the Feather ESP32 V2 feather can be used via thonny,
and the other "quick memory corruption tests" I was performing
also all succeed instead of failing.

Before this change, the incorrect address being used for spiram was
0x3fa00000..0x3fc00000 (2MiB). Now, it's 0x3f800000..0x3f9c0000 (1.75MiB)
due to the reserved area and the changed start address.

This is intended to be a no-effect change for other espressif chips besides
original esp32.
2022-07-13 10:52:15 -05:00
Jeff Epler
afbaa2eb6c
decode_backtrace: Show even more information
addr2line can show information about how functions were inlined,
including function names

Typical new output:
```
0x400dec57: mp_obj_get_type at /home/jepler/src/circuitpython/ports/espressif/../../py/obj.c:68
 (inlined by) mp_obj_print_helper at /home/jepler/src/circuitpython/ports/espressif/../../py/obj.c:133
 (inlined by) mp_obj_print_helper at /home/jepler/src/circuitpython/ports/espressif/../../py/obj.c:114
0x400e1a25: fun_builtin_1_call at /home/jepler/src/circuitpython/ports/espressif/../../py/objfun.c:75
0x400dd016: mp_call_function_n_kw at /home/jepler/src/circuitpython/ports/espressif/../../py/runtime.c:665
0x400eac99: mp_execute_bytecode at /home/jepler/src/circuitpython/ports/espressif/../../py/vm.c:936
0x400e1ae9: fun_bc_call at /home/jepler/src/circuitpython/ports/espressif/../../py/objfun.c:297 (discriminator 4)
0x400dd016: mp_call_function_n_kw at /home/jepler/src/circuitpython/ports/espressif/../../py/runtime.c:665
0x400dd03a: mp_call_function_0 at /home/jepler/src/circuitpython/ports/espressif/../../py/runtime.c:638
0x40117c03: parse_compile_execute at /home/jepler/src/circuitpython/ports/espressif/../../shared/runtime/pyexec.c:146
0x4011800d: pyexec_friendly_repl at /home/jepler/src/circuitpython/ports/espressif/../../shared/runtime/pyexec.c:734
0x400eeded: run_repl at /home/jepler/src/circuitpython/ports/espressif/../../main.c:823
 (inlined by) main at /home/jepler/src/circuitpython/ports/espressif/../../main.c:922
0x400ef5e3: app_main at /home/jepler/src/circuitpython/ports/espressif/supervisor/port.c:410
0x401bb461: main_task at /home/jepler/src/circuitpython/ports/espressif/build-adafruit_feather_esp32_v2/esp-idf/../../esp-idf/components/freertos/port/port_common.c:141
```
2022-07-12 16:28:33 -05:00
Scott Shawcroft
23bbb19138
Merge remote-tracking branch 'adafruit/main' into websocket_serial 2022-07-12 13:15:38 -07:00
Scott Shawcroft
c56f363a23
Merge pull request #6572 from todbot/wifi-tx-power-float
Fix #6559
2022-07-11 13:08:11 -07:00
Melissa LeBlanc-Williams
08b4a64bd2 Update the PID 2022-07-11 08:39:10 -07:00
Tod Kurt
a658007673
Update ports/espressif/common-hal/wifi/Radio.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-07-09 22:17:26 -07:00
Tod Kurt
22e061ba35
Update ports/espressif/common-hal/wifi/Radio.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-07-09 22:17:18 -07:00
Tod Kurt
98692150ac
Update ports/espressif/common-hal/wifi/Radio.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-07-09 22:17:12 -07:00
Tod Kurt
f464ec3047
Update ports/espressif/common-hal/wifi/Radio.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-07-09 22:17:02 -07:00
Melissa LeBlanc-Williams
bc14b7ad47 Fix the display on the esp box lite 2022-07-08 15:40:59 -07:00
Dan Halbert
2c7ad7a39f make translate and pre-commit formatting fixes 2022-07-08 16:53:53 -04:00
Dan Halbert
c316b950c7 merge from adafruit/main 2022-07-08 15:42:19 -04:00
Dan Halbert
d869b441f4 further ESP32 sdkconfig fixes; add CIRCUITPY_STATUS_BAR 2022-07-08 15:27:00 -04:00
Dan Halbert
76e32dcf93 remove need for CIRCUITPY_ESP_PSRAM 2022-07-08 14:54:55 -04:00
Dan Halbert
afbf4de071 Uncomment or remove debugging changes 2022-07-08 12:53:25 -04:00
Dan Halbert
c3cd32e773 CPU freq to 240 MHz, redo sdkconfigs 2022-07-08 10:50:00 -04:00
Dan Halbert
75208573f4 tweak sdkconfig; add temp logging to mp_make_function_from_raw_code 2022-07-08 09:53:29 -04:00
Tod Kurt
d3e1d1b104 Fix #6559 2022-07-07 19:42:11 -07:00
Dan Halbert
4e88d795e1 Thonny causing crash emitglue.c:199: 2022-07-06 23:01:19 -04:00
Scott Shawcroft
d83720f659
Tweak display init 2022-07-05 17:02:52 -07:00
Scott Shawcroft
cd77517b2f
Add build for ESP32-S3 Box Lite 2022-07-05 16:35:42 -07:00
Scott Shawcroft
07b2697ae3
WIP websocket to serial 2022-07-01 16:57:10 -07:00
Patrick
c3cf9ba9ce remove wifi max from sdkconfig 2022-07-01 14:50:47 -07:00
Patrick
aaeda97818 update PHY section, correct name 2022-07-01 14:50:47 -07:00
Patrick
aa53d36934 setting CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER to 8.5 2022-07-01 14:50:47 -07:00
Patrick
7e367eeb58 Update "D" mappings 2022-07-01 14:50:47 -07:00
Patrick
d4b26daf1b correct creator and creation IDs 2022-07-01 14:50:47 -07:00
Patrick
6c7faf0eba Change USB VID & PID to Creator and Creation IDs 2022-07-01 14:50:47 -07:00
Patrick
3253ae2503 tested and corrected several pins 2022-07-01 14:50:47 -07:00
Patrick
f10fa566aa REPL works. Based on QTPYC3. 2022-07-01 14:50:47 -07:00
Patrick
a3070f6c2a Changes to Pin Mappings 2022-07-01 14:50:46 -07:00
Patrick
b37236f83f C3 does not have PSRAM 2022-07-01 14:50:46 -07:00
Patrick
af629ab180 Add assumed PID value 2022-07-01 14:50:46 -07:00
Patrick
c1e6003d26 remove comment that breaks {ID Checker 2022-07-01 14:50:46 -07:00
Patrick
9bae8549c5 add UART RX TX to mpconfigboard 2022-07-01 14:50:46 -07:00
Patrick
6763b7b968 add A5 2022-07-01 14:50:46 -07:00
Patrick
bcf27e146b fix build break and add io 20/21 2022-07-01 14:50:46 -07:00
Patrick
dc1c86738a Initial pin mapping pass 2022-07-01 14:50:46 -07:00
Patrick
fd4695d0f2 Gettting started with pin mapping. 2022-07-01 14:50:46 -07:00
Dan Halbert
8814ee03f1
Merge pull request #6542 from todbot/wifi-tx-power
Add wifi.radio.tx_power
2022-07-01 14:09:08 -04:00
Scott Shawcroft
7589e53fea
WIP websocket accept and hashlib 2022-07-01 10:18:33 -07:00
Dan Halbert
8bb369cac5 refactor debug UART to console UART; get working on ESP32 2022-06-30 23:16:46 -04:00
Dan Halbert
187f156ac7
Merge pull request #6534 from tannewt/esp_wdt_safe_mode
Safe mode when ESP interrupt watchdog fires
2022-06-30 22:56:35 -04:00
Tod Kurt
698d563dcf adust wifi.radio.tx_power to be x4 (in db) as mentioned in #6540 2022-06-30 15:33:03 -07:00
Tod Kurt
2a563cc8ba first cut at wifi.radio.tx_power 2022-06-30 15:10:16 -07:00
Dan Halbert
b0efd130c9 ESP32 REPL working through debug UART 2022-06-29 23:19:36 -04:00
Scott Shawcroft
3be3e89d82
Merge branch 'main' into cp_webserver 2022-06-29 14:01:32 -07:00
Dan Halbert
c3a149c14a
Merge pull request #6533 from tannewt/fix_connect_crash
Fix auto-wifi created crash
2022-06-29 16:51:33 -04:00
Scott Shawcroft
d42c811fb9
Safe mode when ESP interrupt watchdog fires
This makes us enter safe mode when sleep on the S3 fails. The
task watchdog is used for the user watchdog.
2022-06-29 12:31:18 -07:00
Scott Shawcroft
8dc8265275
Fix auto-wifi created crash
The wifi event_handler runs on the other core so we need to be
careful when calling into CP APIs.

Fixes #6503
2022-06-29 11:53:10 -07:00
Scott Shawcroft
1f065a313c
Update with startup fix instead of revert 2022-06-29 11:12:29 -07:00
Dan Halbert
780c4963cb wip; change never-ever reset pin mechanism 2022-06-28 23:06:49 -04:00
Scott Shawcroft
a8bb3eb557
Update to newer 4.4 branch 2022-06-28 15:38:55 -07:00
Dan Halbert
ca64950503 wip fixes 2022-06-28 18:32:08 -04:00
Scott Shawcroft
41039445c9
Clean up and add docs 2022-06-27 13:39:09 -07:00
Scott Shawcroft
7acc5ebeb9
Add logo for going to home. Fix origin check 2022-06-27 13:39:09 -07:00
Scott Shawcroft
3cd05291d0
Static files + welcome page 2022-06-27 13:39:09 -07:00
Scott Shawcroft
7543dd9af0
CORS works and autoreload too 2022-06-27 13:39:08 -07:00
Scott Shawcroft
92593aa7a1
Fix bind, remove hard coded ip 2022-06-27 13:34:13 -07:00
Scott Shawcroft
4f0a7aedfd
WIP adding devices.json and auth 2022-06-27 13:34:13 -07:00
Scott Shawcroft
32478345f8
more tweaks 2022-06-27 13:34:13 -07:00
Scott Shawcroft
0882cbf823
web server kinda works 2022-06-27 13:34:13 -07:00
Scott Shawcroft
61d0f7947b
WIP doesn't flush response before closing 2022-06-27 13:34:13 -07:00
Scott Shawcroft
301f3e0456
Start of web server 2022-06-27 13:34:13 -07:00
Dan Halbert
55784c93de wip; compiles 2022-06-26 21:22:22 -04:00
Dan Halbert
02069eb0b5 wip 2022-06-23 15:59:06 -04:00
Neradoc
ba72287db4 Implement default ports to IOTS2 2022-06-22 07:24:27 +02:00
Scott Shawcroft
0c418e98b1
Merge remote-tracking branch 'adafruit/main' into auto_wifi 2022-06-13 15:44:43 -07:00
Scott Shawcroft
dc794f91c0
Speed up auto-wifi with wrong password
This adds basic timeout support to connect by preventing subsequent
retries if over time. The first connect may still take more than
the timeout.
2022-06-13 15:38:19 -07:00
Scott Shawcroft
b191075ab8
Better length checks 2022-06-13 09:18:42 -07:00
Scott Shawcroft
39b8c2c94e
Merge pull request #6453 from KurtE/ESP32_UART
ESP32 USE uart_param_config
2022-06-13 08:56:32 -07:00
Scott Shawcroft
6446010753
Wi-Fi autoconnect and title bar status
This adds support for CIRCUITPY_WIFI_SSID and CIRCUITPY_WIFI_PASSWORD
in `/.env`. When both are defined, CircuitPython will attempt to
connect to the network even when user code isn't running. If the
user code attempts to a network with the same SSID, it will return
immediately. Connecting to another SSID will disconnect from the
auto-connected network. If the user code initiates the connection,
then it will be shutdown after user code exits. (Should match <8
behavior.)

This PR also reworks the default displayio terminal. It now supports
a title bar TileGrid in addition to the (newly renamed) scroll area.
The default title bar is the top row of the display and is positioned
to the right of the Blinka logo when it is enabled. The scroll area
is now below the Blinka logo.

The Wi-Fi auto-connect code now uses the title bar to show its
state including the IP address when connected. It does this through
the "standard" OSC control sequence `ESC ] 0 ; <s> ESC \` where <s>
is the title bar string. This is commonly supported by terminals
so it should work over USB and UART as well.

Related to #6174
2022-06-09 14:55:54 -07:00
Scott Shawcroft
2baf476530
Merge pull request #6463 from adafruit/7.3.x
Catch main up to 7.3.x
2022-06-06 11:58:05 -07:00
Scott Shawcroft
6b09f99eaa
Add back ULAB 2022-06-06 10:35:37 -07:00
Dan Halbert
80ae14202a
Merge pull request #6416 from FoamyGuy/display_brightness_pwm
display brightness pwm 500hz frequency
2022-06-05 23:52:42 -04:00
Dan Halbert
ac282b2a73
Merge pull request #6440 from tannewt/translate_header
Switch translate() to the header file
2022-06-05 23:50:47 -04:00
Dan Halbert
c149bbdcfc
Merge pull request #6447 from SimonVail/main
Add files via upload
2022-06-05 17:11:44 -04:00
Dan Halbert
db6d506b15
Merge pull request #6456 from dhalbert/adafruit_feather_esp32s3_4mbflash_2mbpsram
add adafruit_feather_esp32s3_4mbflash_2mbpsram
2022-06-05 12:31:20 -04:00
foamyguy
67de89861e new argument for feather s3 tft display init 2022-06-04 11:36:45 -05:00
foamyguy
260994d16e Merge branch 'main' into display_brightness_pwm 2022-06-04 11:32:15 -05:00
foamyguy
cbff9dd8e3 add new argument for all boards with built-in display 2022-06-04 11:08:20 -05:00
Dan Halbert
d1cdb72020
Update ports/espressif/boards/adafruit_feather_esp32s3_4mbflash_2mbpsram/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2022-06-03 18:21:20 -04:00
Scott Shawcroft
be67067809
Merge remote-tracking branch 'adafruit/main' into translate_header 2022-06-03 15:18:18 -07:00
Dan Halbert
fdb133bbe8 add adafruit_feather_esp32s3_4mbflash_2mbpsram 2022-06-02 21:09:37 -04:00
Dan Halbert
27fb96e6b0
Remove trailing whitespace 2022-06-01 21:35:01 -04:00
gamblor21
40e890323b Add DNS optional to set IP 2022-06-01 20:13:51 -05:00
KurtE
14ab3c7375 ESP32 USE uart_param_config
Use this function instead of several individual configuration functions
to configure such things as Baud rate, transfer size, stop bits,
parity...

This function also resets both the RX and TX Hardware Fifo
reset functions are called to setup the hardware.
2022-06-01 17:09:44 -07:00
gamblor21
4f6d4e2284 Doc fix and add set for DNS 2022-05-31 22:13:18 -05:00
SimonVail
b2344bcde2
Update pins.c 2022-05-30 11:52:29 -04:00
SimonVail
f36dbb386b
Add files via upload 2022-05-30 11:47:51 -04:00
gamblor21
90fe20a153 Adding manual IP address set 2022-05-27 15:33:54 -05:00
Scott Shawcroft
9d10a3da66
Conditionalize LTO 2022-05-27 12:59:54 -07:00
Scott Shawcroft
c676253834
Switch translate() to the header file
This allows the compile stage to optimize most of the translate()
function away and saves a ton of space (~40k on ESP). *However*, it
requires us to wait for the qstr output before we compile the rest
of our .o files. (Only qstr.o used to wait.)

This isn't as good as the current setup with LTO though. Trinket M0
loses <1k with this setup.

So, we should probably conditionalize this along with LTO.
2022-05-27 10:33:53 -07:00
Dan Halbert
b143314b22 Espressif: fix allocation of multiple Incremental Encoders 2022-05-24 22:37:24 -04:00
Dan Halbert
99d7d0d8bb Disable ulab for ESP32-S3 TFT 2022-05-24 14:59:34 -04:00
lady ada
e22de975b3 try just bitbangio remove 2022-05-24 11:46:03 -04:00
lady ada
9439ce04bd try to remove some space? 2022-05-24 11:28:55 -04:00
lady ada
bb4beb3fab add esp32s3 tft 2022-05-23 23:57:35 -04:00
Dan Halbert
64df933a83
Merge pull request #6422 from dahanzimin/main
Repair mixgo_ce frozen lib to frozen/
2022-05-23 15:00:42 -04:00
dahanzimin
6454c5895b Repair import and stock in under the frozen / directory 2022-05-23 11:19:11 +08:00
Dan Halbert
6f4f7e089e
Merge pull request #6383 from dahanzimin/main
Add MixGo CE board
2022-05-22 08:47:53 -04:00
大汉子民
e5a5ffb9b0
Update board.c 2022-05-22 11:37:39 +08:00
dahanzimin
37e376631a Fix format issues 2022-05-22 11:22:58 +08:00
dahanzimin
b62799a798 Add mixgo_ ce_ Serial function, repair sdkconfig 2022-05-22 10:42:56 +08:00
dahanzimin
3e47d24fb9 Update submodule and create tag 2022-05-21 10:52:14 +08:00
Dan Halbert
f63b26c534 address jepler's comments and further squeezes 2022-05-20 10:10:55 -04:00
大汉子民
4356a12504
Update mpconfigboard.mk 2022-05-20 10:55:23 +08:00
大汉子民
73f2621cda
Repair No newline at end of file 2022-05-20 10:38:14 +08:00
大汉子民
525262cd9a
Merge branch 'main' into main 2022-05-20 10:04:02 +08:00
dahanzimin
e3896be345 Modify mixgoce_ Lib is a submodule 2022-05-20 09:46:55 +08:00
Dan Halbert
a01dec1df9 message consolidation and more use of validators 2022-05-19 15:38:37 -04:00
Tod Kurt
d2d08fc944 fix SPI pin names qtpy esp32s3 2022-05-13 16:48:13 -07:00
Dan Halbert
64ca3aa359
Merge pull request #6387 from SimonVail/main
Lilygo TTGO T-OI Plus ESP32C3
2022-05-13 18:31:50 -04:00
SimonVail
1f0bdad083
Update ports/espressif/boards/lilygo_ttgo_t-oi-plus/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2022-05-13 15:02:26 -04:00
Scott Shawcroft
3e85cfe26b
Fix ESP and HCI build 2022-05-12 15:23:26 -07:00
SimonVail
ef4d298ca8
Update pins.c 2022-05-12 17:49:48 -04:00
SimonVail
0d92b0a155
Update board.c 2022-05-12 17:46:49 -04:00
SimonVail
b1935975a2
Update board.c 2022-05-12 17:27:48 -04:00
Scott Shawcroft
269d51d023
Add two stage reset for BLE
This lets the BLE stack run through the wait period after a VM run
when it may be waiting for more writes due to an auto-reload.

User BLE functionality will have their events stopped. Scanning and
advertising is also stopped.
2022-05-12 13:20:44 -07:00
SimonVail
c5db1280ee
Update mpconfigboard.mk 2022-05-12 13:21:58 -04:00
SimonVail
6bdd128fb3
Add files via upload 2022-05-12 13:18:39 -04:00
SimonVail
f69a293795
Create sdkconfig 2022-05-12 13:18:17 -04:00
SimonVail
a4f505dcab
Delete ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3 directory 2022-05-12 13:17:17 -04:00
SimonVail
0b586e9c94
Update board.c 2022-05-12 12:43:52 -04:00
SimonVail
6fe728a9d2
Update ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3/pins.c
Co-authored-by: Neradoc <Neradoc@users.noreply.github.com>
2022-05-12 11:57:59 -04:00
SimonVail
6908f5a97e
Update ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3/board.c
Co-authored-by: Neradoc <Neradoc@users.noreply.github.com>
2022-05-12 11:57:52 -04:00
SimonVail
b6e6ee7505
Update ports/espressif/boards/Lilygo-T-oi-Plus-ESP32C3/mpconfigboard.mk
Co-authored-by: Neradoc <Neradoc@users.noreply.github.com>
2022-05-12 11:57:44 -04:00
SimonVail
b9ea7458ab
Add files via upload 2022-05-12 11:41:53 -04:00
SimonVail
35d78c135a
Create sdkconfig 2022-05-12 11:41:29 -04:00
SimonVail
f86ebe71b6
Delete Lilygo-T-oi-Plus-ESP32C3 2022-05-12 11:40:16 -04:00
SimonVail
0d1740ad27
Create Lilygo-T-oi-Plus-ESP32C3 2022-05-12 11:39:39 -04:00
大汉子民
d4b02e22ae
Thank you. I have applied for PID in espressif 2022-05-12 09:38:13 +08:00
Kong Wai Weng
b9c28742be Added newline at the end of the file. 2022-05-11 15:30:45 +08:00
Kong Wai Weng
466f2a3644 Updated copyright information. 2022-05-11 15:25:32 +08:00
Kong Wai Weng
142ed2a024 Added Maker Feather AIoT S3. 2022-05-11 15:18:31 +08:00
dahanzimin
d48f961d0a Add MixGo CE board 2022-05-10 18:56:13 +08:00
Dan Halbert
8b026a2c38 apply i2c delay fix from adafruit/esp-idf 2022-05-08 09:49:18 -04:00
Dan Halbert
30904a8638
Merge pull request #6354 from dhalbert/espressif-dio-fixes
espressif: check properly for pull values
2022-05-05 22:44:29 -04:00
Dan Halbert
0f3eb9f46e espressif: check properly for pull values 2022-05-04 22:51:27 -04:00
billvanleeuwen424
76040a9380 removed duplicate include per issue 6278 2022-05-04 14:57:37 -04:00
Tod Kurt
7e622c3ff7 mpconfigboard.h also needs neopixel tweak 2022-05-02 13:23:55 -07:00
Tod Kurt
5d4e964de0 fix qtpy_esp32s3_nopsram neopixel pins 2022-05-02 13:04:05 -07:00
Michael Wisslead
e63a327107 Bound PulseIn start indexes to maxlen. 2022-04-28 02:28:34 +00:00
Dan Halbert
4eeaf41edc test and adjust NeoPixel timings on multiple products 2022-04-25 23:12:24 -04:00
Neradoc
17bba7b17d remove Adafruit_CircuitPython_BusDevice from frozen modules, it's built in now 2022-04-19 06:49:11 +02:00
Dan Halbert
c3cfbc1259 Force pin 21 high; patch; need to diagnose further 2022-04-09 22:03:16 -04:00
Dan Halbert
d5deddcaf5
Merge pull request #6207 from domdfcoding/esp32-rotaryio
Add espressif rotaryio divisor support.
2022-04-06 21:35:02 -04:00
Dominic Davis-Foster
f297e872d6
Account for divisor when overriding position. 2022-04-06 18:13:59 +01:00
Dan Halbert
99dc4029dc Espressif: disable pull-up on AnalogIn creation 2022-04-06 11:33:56 -04:00
root
b993313ac1 Don't reset GPIO4 (used for voltage monitoring) 2022-04-05 11:30:12 -05:00
Tod Kurt
390a473dda add board.DISPLAY since display already set up by CirPy 2022-04-01 15:08:43 -07:00
Dominic Davis-Foster
319ca8560c
Always configure the second PCNT channel. 2022-03-31 20:00:34 +01:00
Dan Halbert
ec5c9507b9
Merge pull request #6187 from prplz/espressif-uart-workflow-fixes
Espressif: Fix interrupts in UART workflow
2022-03-30 21:18:02 -04:00
Dan Halbert
6fd968fc12
Merge pull request #6199 from erongd/muselab-wrover-spiram-fix
enable SPIRAM support on muselab nanoESP32S2 board
2022-03-30 21:14:59 -04:00
Dominic Davis-Foster
6d025a239e
Add espressif rotaryio divisor support. 2022-03-28 09:04:02 +01:00
Michael Himing
f96cd7361d Fix esp32s2 build 2022-03-27 10:09:23 +11:00
Jeff Epler
dd73182441
Merge pull request #6190 from tannewt/esp32s3_usb_devkit
Add ESP32-S3-USB-OTG board
2022-03-26 15:05:30 -05:00
Jeff Epler
35aa32bec0
Merge pull request #6193 from tannewt/fix_empty_mdns
Fix MDNS crash on S2
2022-03-26 15:05:17 -05:00
Michael Himing
686012426d Espressif: Fix interrupts in UART workflow 2022-03-25 16:20:04 +11:00
Eric Rong
7ad6fa8df5 enable SPIRAM support on muselab nanoESP32S2 board 2022-03-24 16:46:13 -07:00
Scott Shawcroft
8642dc4aa7
Fix MDNS crash on S2
Fixes #6186
2022-03-23 17:17:48 -07:00
Scott Shawcroft
380a7087d4
Fix 3-wire SPI on ESP
Simplifying the checks fixed it.

Fixes #6141
2022-03-23 14:53:46 -07:00
Scott Shawcroft
e13d32b832
Add ESP32-S3-USB-OTG board
This board has both types of USB connectors, a display and buttons
to select items on the display. It also has a micro-B connector for
the UART output.
2022-03-23 14:10:26 -07:00
Scott Shawcroft
ee4c501936
Merge remote-tracking branch 'adafruit/main' into c3_serial_jtag 2022-03-23 12:17:02 -07:00
Scott Shawcroft
f5d90fc84f
Switch to port_serial_* hooks
This makes it easier to integrate port specific serial alongside
the common approaches.
2022-03-22 19:40:33 -07:00
Scott Shawcroft
110857c12e
Actually turn on serial over Serial/JTAG for QTPy 2022-03-22 11:45:47 -07:00
Scott Shawcroft
b8d1bb1d5d
Shrink C3 builds 2022-03-22 10:46:57 -07:00
Scott Shawcroft
4363361c87
Board definition clean up
Removes:
* AUTORESET_DELAY_MS which never did anything but was introduced
  somehow.
* CIRCUITPY_BOOT_BUTTON in all but one ESP board because they all have
  them. There is a default based on the strapping pins.
* BOARD_USER_SAFE_MODE_ACTION because it was all the same for boards
  with boot buttons. Now the safe mode code manages the message.
2022-03-21 17:58:43 -07:00
Scott Shawcroft
623b6fad16
Fix nested categories in update_sdkconfig.py
Also, mark QTPy C3 as BIN only.
2022-03-21 17:04:19 -07:00
Scott Shawcroft
6dd9db31b3
Add USB to Serial/JTAG support for REPL
Adds Adafruit QT Py C3 board that uses it. Also revamps size
check script to work for S3 and C3 as well.

Fixes #6030
2022-03-21 14:03:57 -07:00
Jeff Epler
4465adfe01
Merge pull request #6175 from tannewt/mdns
Add mdns module
2022-03-21 15:55:03 -05:00
Scott Shawcroft
92d946fcac
Guard against NULL result 2022-03-21 10:15:46 -07:00
lady ada
fdf27eee12 add feather esp32-s3 8mb flash, 0 psram 2022-03-19 23:04:20 -04:00
Scott Shawcroft
6f0d62d85e
Formatting and shrink build size on C3 2022-03-18 12:05:54 -07:00
Jeff Epler
e9d81c2826
Add mdns module
This allows for CircuitPython to resolve a .local domain and find
other devices with MDNS services.

First step for #6174
2022-03-17 18:16:16 -07:00
Michael Himing
da92d508c2 lilygo_ttgo_t-01c3: Add creation ID 2022-03-17 19:21:34 +11:00
Michael Himing
de168b106c Add board lilygo_ttgo_t-01c3 2022-03-17 17:24:24 +11:00
Dan Halbert
af9f80daeb
Merge pull request #6144 from tannewt/back_to_idf4.4
Update ESP-IDF to fix PinAlarm
2022-03-15 17:10:42 -04:00
Dan Halbert
f13d218749
Merge pull request #6125 from tannewt/usb_host
Start of USB host API
2022-03-11 21:41:28 -05:00
Scott Shawcroft
96dd11a198
Update ESP-IDF to fix PinAlarm
Fixes #5973
2022-03-11 14:40:49 -08:00
Dan Halbert
862210b3fb
Merge pull request #6135 from CircuitART/main
merge hexky_s2 board
2022-03-11 07:48:54 -05:00
CircuitART
43bd2c41e0
Update pins.c 2022-03-11 13:27:08 +08:00
CircuitART
597430ef96
Update pins.c 2022-03-11 12:26:49 +08:00
CircuitART
016bc00f01
Update pins.c
fixed
2022-03-11 11:54:32 +08:00
Scott Shawcroft
c9ec5c89b6
Fix ESP32-S3 box display color order 2022-03-10 15:50:07 -08:00
CircuitART
4bfe9e53df
merge hexky_s2 board
Hello, please add support to my custom esp32-s2 board.
thanks
2022-03-10 13:27:14 +08:00
Dan Halbert
442026548f
Merge pull request #6084 from fabaff/lilygo-ttgo-esp32-s2
Add support for LILYGO TTGO T8 ESP32-S2-WROOM
2022-03-08 21:00:44 -05:00
Fabian Affolter
0a72420dcb Add support for LILYGO TTGO T8 ESP32-S2-WROOM 2022-03-08 20:07:37 +01:00
Fabian Affolter
1b1b363515 Add support for LILYGO TTGO T8 ESP32-S2 2022-03-08 19:56:41 +01:00
Dan Halbert
1c8f671f0a
Merge pull request #6118 from pewpew-game/parallel-reset-optional
paralleldisplay: reset and read pins should be optional
2022-03-08 09:34:25 -05:00
Michael Himing
bc1dade304 Espressif: Fix i2c pullup detection 2022-03-08 16:39:24 +11:00
Scott Shawcroft
83593a1558
Start of USB host API
This allows you to list and explore connected USB devices. It
only stubs out the methods to communicate to endpoints. That will
come in a follow up once TinyUSB has it. (It's in progress.)

Related to #5986
2022-03-07 18:07:25 -08:00
Radomir Dopieralski
b5ad78715c
Update ports/espressif/common-hal/paralleldisplay/ParallelBus.h
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-03-05 21:48:00 +01:00
Radomir Dopieralski
f477848ac1 paralleldisplay: reset and read pins should be optional
The ``reset`` and ``read`` pins should be optional, but the espressif
code had several places where it assumed they are not, and a bug that
caused a crash on ``release_displays`` if they were made optional.

The bug was caused by the fields for storing pin numbers being set
to ``NO_PIN``, which has value of -1, while the fields have type
``uint8_t``.  That set the actual value to 255, and a subsequent
comparison to ``NO_PIN`` returned false.
2022-03-05 18:54:12 +01:00
Dan Halbert
90c5fb2515
Update ports/espressif/boards/adafruit_feather_esp32s2/pins.c 2022-03-01 19:56:23 -05:00
lady ada
ee52795540 fix automatic i2c enablement with rev C 2022-03-01 18:15:37 -05:00
foamyguy
2f57800ffd update nina-fw submodule 2022-02-27 16:15:57 -06:00
lady ada
a9d87e6e8b fix missing pins, speed up 2022-02-25 20:30:35 -05:00
Scott Shawcroft
e2f56e9031
Merge pull request #6065 from prplz/ai-thinker-esp32c3s-changes
ai_thinker_esp32-c3s: Pull LEDs down on reset
2022-02-22 10:53:50 -08:00
Scott Shawcroft
85b53eab0a
Merge pull request #5963 from arturo182/esp32-s3-devkitm-1
espressif: Add ESP32-S3-DevKitM-1 board support
2022-02-22 10:48:07 -08:00
Michael Himing
dbedb1575e ai_thinker_esp32-c3s: Pull LEDs down on reset 2022-02-19 14:30:51 +11:00
arturo182
e57e4bd667 esp32s3: Rename to devkitm_1 to devkitm_1_n8 to make more future-proof 2022-02-18 21:32:36 +01:00
Dan Halbert
57bbe7922d
Merge pull request #6058 from Neradoc/add-hiibot-iots2
Add hiibot iots2
2022-02-18 12:18:25 -05:00
Dan Halbert
1c3e03d1b1
Merge pull request #6057 from tannewt/board_pin_reset
Allow ESP boards to customize how a pin is reset
2022-02-17 21:12:11 -05:00
Dan Halbert
60ceb6e367
Merge pull request #6043 from makermelissa/main
Add PortalBase and Fake Requests and update Frozen Libs on Portal boards
2022-02-17 20:19:33 -05:00
Scott Shawcroft
5a51aa2a75
Merge pull request #6056 from Neradoc/qtpys2-debug-uart
free RX and TX on QTPY-ESP32S2 in non debug builds
2022-02-17 17:02:46 -08:00
Scott Shawcroft
c4fb5f7df1
Allow ESP boards to customize how a pin is reset
This allows board code to override the default pull up reset state.

It is useful for pins that are already externally connected, pulled
or otherwise used by the board.

Fixes #5931
2022-02-17 16:32:29 -08:00
Neradoc
3acb0d48bc free RX and TX on QTPY-ESP32S2 in non debug builds 2022-02-18 01:13:37 +01:00
Dan Halbert
fe6e03f504
Merge pull request #6013 from tannewt/esp_ble_gatt_client
Add S3 GATT client support
2022-02-17 16:02:11 -05:00
Neradoc
aedae120c7 use espressif assigned PID for Hiibot IOTS2 2022-02-17 15:06:38 +01:00
Neradoc
139c2710aa rebase, fix call to common_hal_busio_spi_construct 2022-02-17 14:41:47 +01:00
Neradoc
b1a55e3904 add board.DISPLAY and init to hiibot itos2 (copying from TTGO) 2022-02-17 14:41:47 +01:00
Neradoc
f9f711ab96 now it compiles, so there is that 2022-02-17 14:41:47 +01:00
Neradoc
727dd41a8c add hiibot itos2, original commit before checking 2022-02-17 14:41:47 +01:00
Scott Shawcroft
ab037bd216
Merge pull request #6046 from prplz/espressif-enter-repl-delayed-fix
Fix press any key responding slowly on espressif
2022-02-16 21:58:29 -08:00
Michael Himing
bfb897a0b8 Fix press any key responding slowly on espressif 2022-02-17 12:57:27 +11:00
Kattni Rembor
c9213481b3 Update pin name to match TFT pins. 2022-02-16 16:32:08 -05:00
Melissa LeBlanc-Williams
726bf02ea8 Add PortalBase and Fake Requests and update Frozen Libs on Portal boards 2022-02-16 10:12:54 -08:00
Scott Shawcroft
11647f56e4
Merge pull request #6034 from tannewt/i2c_power
Tweak I2C and TFT power pin defaults
2022-02-15 18:00:34 -08:00
Scott Shawcroft
65af10cd23
Tweak I2C and TFT power pin defaults
This should set the power to on by default without preventing the
user code from repeatedly using it.

Fixes #5903
2022-02-14 16:19:56 -08:00
Michael Himing
11bbe48ede Espressif: add partitions-4MB-no-uf2 2022-02-15 08:42:15 +11:00
Michael Himing
ca5095c94b Add AI thinker esp32c3s 2M 2022-02-15 07:00:38 +11:00
Scott Shawcroft
d4c2ffea27
Merge pull request #6022 from anecdata/more_ap_connections
wifi.radio.start_ap() new kwarg: max_connections
2022-02-14 10:08:39 -08:00
anecdata
5742a12497 input validation consistent with esp-idf is moved to common-hal 2022-02-13 22:14:45 -06:00
anecdata
b559a0ee2a new kwarg: wifi.radio.start_ap(max_connections=) 2022-02-12 13:34:57 -06:00
anecdata
e4837a4a61 ESP32-S3 increase max sockets - issue #5915 (partial) 2022-02-11 16:00:45 -06:00
Scott Shawcroft
8958e7ef08
Add S3 GATT client support
This allows you to connect to GATT services on the other device.
It also adds connection initiation (GAP central).

More progress on #5926
2022-02-10 11:31:57 -08:00
Scott Shawcroft
c9b494b79f
Merge pull request #6006 from DavePutz/issue_5980
Correct ping timeout for espressif
2022-02-10 10:18:14 -08:00
root
6563f71545 Correct ping timeout for espressif 2022-02-09 15:58:25 -06:00
Scott Shawcroft
2bf5a1ee45
Merge pull request #5998 from anecdata/ESP32-S2-DevKitC-1-N4R2
Espressif ESP32-S2 DevKitC-1-N4R2 board
2022-02-09 11:03:14 -08:00
Dan Halbert
da035fe958
Merge pull request #5990 from sgauche/stm_spi_3wire
Add support for half-duplex SPI to CPy
2022-02-09 13:11:37 -05:00
anecdata
a6585c7cb7 Espressif ESP32-S3 DevKitC-1-N32R8 2022-02-08 23:25:07 -06:00
anecdata
f87c027e00 Espressif ESP32-S2 DevKitC-1-N4R2 board 2022-02-08 22:14:01 -06:00
Scott Gauche
a8d8651873 Canonical C style for half_duplex = true/false 2022-02-08 23:13:22 -05:00
Scott Gauche
309f4fb2b9 add half_duplex false param to spi construct function call in some board files 2022-02-08 22:59:26 -05:00
Scott Gauche
89ad767b8f add half_duplex to spi constructs in other ports but raise not implemented errors 2022-02-08 22:25:23 -05:00
anecdata
8e625728d6 LED_INVERTED 2022-02-08 20:34:37 -06:00
Michael Himing
a639004c89 unexpectedmaker_tinys3: Fix D43, D44 2022-02-08 16:13:56 +11:00
Michael Himing
15914edd56 unexpectedmaker_feathers3: Fix A12 2022-02-08 16:13:56 +11:00
Michael Himing
a2fd1e6eb3 unexpectedmaker_pros3: Fix D43, D44 2022-02-08 16:13:56 +11:00
arturo182
6623fe0a53
esp32s3_devkitm: Add GPIO40 2022-02-03 04:06:08 +01:00
Bryan Walsh
2f1c42b15f added GPIO40 pin to esp32s3 devkit boards 2022-02-02 20:16:39 -05:00
Dan Halbert
a04cd6444b
Merge pull request #5966 from Neradoc/add-alias-stemma-i2c
Add alias board.STEMMA_I2C for all boards with qwiic/stemma/QT
2022-02-02 11:08:13 -05:00
Dan Halbert
384cbdcda1
Merge pull request #5962 from Neradoc/add-more-stemma-i2c
Add board.STEMMA_I2C on ESP QTPYs
2022-02-02 10:50:19 -05:00
Neradoc
b2c8fd3938 add board.STEMMA_I2C alias to some boards 2022-02-02 01:18:46 +01:00
Dan Halbert
5435a40c54
Merge pull request #5959 from andypiper/patch-1
Fix typos
2022-02-01 18:27:31 -05:00
arturo182
2a87a80f69 espressif: Add ESP32-S3-DevKitM-1 board support 2022-02-02 00:18:04 +01:00
Neradoc
93f612eea2 add board.STEMMA_I2C on ESP QT PYs 2022-02-01 20:15:24 +01:00
Scott Shawcroft
2964e966b1
Merge pull request #5958 from dhalbert/i2c-common-hal-write-read
I2c common hal write read
2022-02-01 11:08:50 -08:00
Andy Piper
4096bb28ab
Fix typos
Some typo corrections and cleanup to the ESP32 doc
2022-02-01 18:53:11 +00:00
Dan Halbert
cc410ad6a3 common-hal I2C combined write_read 2022-01-31 22:03:30 -05:00
Dan Halbert
17956a0204
Merge pull request #5957 from tannewt/esp_ble_forever_scan
Fix BLE scanning forever on ESP32-S3
2022-01-31 20:55:48 -05:00
Dan Halbert
d5740c8ad9 Merge remote-tracking branch 'adafruit/main' into i2c-common-hal-write-read 2022-01-31 18:51:32 -05:00
Scott Shawcroft
db7e72b43d
Fix BLE scanning forever on ESP32-S3 2022-01-31 15:45:43 -08:00
Dan Halbert
83e6e6690a wip; works on espressif 2022-01-29 22:44:27 -05:00
Seon Rozenblum
1277852501 Added initial support for my new TinyS3, FeatherS3 and ProS3 ESP32-S3 development boards 2022-01-29 14:04:57 +11:00
Scott Shawcroft
019aecaa20
Support BLE advertising on ESP
Services and characteristics still won't work.

Progress on #5926
2022-01-27 17:40:37 -08:00
Dan Halbert
fff68c9f86
Merge pull request #5927 from tannewt/esp_ble_scan
Add BLE scanning for S3 and C3.
2022-01-27 13:05:24 -05:00
Scott Shawcroft
d9966c1724
Add TODOs and -Os for RISC-V 2022-01-26 17:07:20 -08:00
Scott Shawcroft
e409ff75cd
Turn off BLE HCI on ESP32-S2 2022-01-26 09:46:29 -08:00
microDev
fa2d156d14
return default cpu frequency on espressif 2022-01-26 12:32:48 +05:30
Scott Shawcroft
b2e1dbd2df
Implement name and address get/set 2022-01-25 19:17:26 -08:00
Scott Shawcroft
5a6f456dbb
Add BLE scanning for S3 and C3.
Everything else should raise NotImplementedError.

First step in #5926
2022-01-25 16:28:46 -08:00
Scott Shawcroft
4a3c636b6b
Merge pull request #5874 from dkulinski/epaper_two_byte_length
Update EPaperDisplay to allow for two byte sequence length
2022-01-25 11:13:36 -08:00
Dan Kulinski
19f9163892 Bringing branch up to date with current main 2022-01-25 11:02:00 -07:00
microDev
324ff9c30d
bump idf to latest commit on v4.4 branch 2022-01-25 18:01:09 +05:30
Dan Kulinski
60801066b2 Fix magtag, openbook for EPaperDisplay constructor 2022-01-24 12:34:01 -07:00
root
367a1d53c0 Fixes for pulsein on ESP32S3 2022-01-23 13:14:34 -06:00
Michael Himing
4d78e3401c Fix esp32s3 devkitc uart naming and add board.UART 2022-01-22 15:25:33 +11:00
microDev
3970aa5a5e
fix build failure on two boards 2022-01-21 10:11:33 +05:30
MicroDev
dab35f7c72
Merge pull request #5880 from jepler/espressif-serial-trick-uf2
Request ROM bootloader when resetting using the 'serial trick'
2022-01-21 09:56:12 +05:30
Jeff Epler
ea30a8ac04
Reboot into the ROM bootloader from 1200 baud
Per Scott, the purpose of this trick is to make the board programmable from Arduino even when CP is installed, so my convenience of escaping into UF2 is not going to work out.
2022-01-20 18:50:50 -06:00
Scott Shawcroft
35175715f9
Check target defined 2022-01-20 14:11:33 -08:00
Scott Shawcroft
d99847b410
Refactor pin reset on ESP
This makes it easier to blanket never reset flash and USB pins. It
also allows us to set a custom state after reset. The first case
is for the double tap reset that needs to be pulled low.

Fixes #5893
2022-01-20 12:40:41 -08:00
Scott Shawcroft
13db65566d
ESP NeoPixel fixes
This tweaks the RMT timing to better match the 1/3 and 2/3 of 800khz
guideline for timing. It also ensures a delay of 300 microseconds
with the line low before reset.

Pin reset is now changed to the IDF default which pulls the pin up
rather than CircuitPython's old behavior of floating the pin.

Fixes #5679
2022-01-19 16:29:07 -08:00
Dan Halbert
8bae6af12a
Merge pull request #5888 from tannewt/esp_tick_core
Ensure supervisor_tick is run on the same core as CP
2022-01-19 19:26:50 -05:00
Kattni Rembor
880d43a4f7 Fix pin typo. 2022-01-19 17:04:30 -05:00
Scott Shawcroft
42fbebe62a
Merge pull request #5832 from ladyada/main
ESP32S2 camera board draft
2022-01-19 12:04:13 -08:00
Scott Shawcroft
78942112c7
Ensure supervisor_tick is run on the same core as CP 2022-01-19 11:36:40 -08:00
lady ada
f13ea93fe6 fix A5 pin name 2022-01-19 14:22:01 -05:00
lady ada
6d7472357d newline 2022-01-18 20:46:09 -05:00
Scott Shawcroft
7ee5c01cf8
Add Espressif C3 dev board 2022-01-18 17:39:52 -08:00
lady ada
09cf95a51c no psram :( 2022-01-18 20:14:17 -05:00
lady ada
de45a20b08 EOF 2022-01-18 20:14:17 -05:00
lady ada
71c792d608 try initial esp32s3 qtpy def 2022-01-18 20:14:17 -05:00
lady ada
d4dab79234 add buttonpin 2022-01-18 20:14:17 -05:00
lady ada
c1cee63c5a fix tuplecompile 2022-01-18 20:14:17 -05:00
lady ada
1d44bf1c0c add camera data port 2022-01-18 20:14:17 -05:00
lady ada
3381ac149e fix camera display io to use default spi bus 2022-01-18 20:14:16 -05:00
lady ada
13b319c430 try rotation 0 2022-01-18 20:14:16 -05:00
lady ada
e9f0c1796e oof fix i2c lines! 2022-01-18 20:14:16 -05:00