Commit Graph

556 Commits

Author SHA1 Message Date
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