Commit Graph

8799 Commits

Author SHA1 Message Date
Jeff Epler
955bcee1b3
It's OK for an init program to be zero bytes long
Closes #6636
2022-07-23 20:01:31 -05: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
Dan Halbert
bb47484cb1 Merge remote-tracking branch 'adafruit/main' into from_bytes-check-parameters 2022-07-19 17:18:26 -04:00
Dan Halbert
1cdf325c96 shrink Feather ESP32S3 TFT 2022-07-19 16:35:23 -04:00
Dan Halbert
51f2253cef no Russian font for SAMD21; adjust unix build warnings 2022-07-19 14:07:18 -04: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
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
Scott Shawcroft
2f9de1cb07
Merge pull request #6584 from tannewt/websocket_serial
Add WebSocket at /cp/serial/
2022-07-13 14:15:49 -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
9d5b04ebc4
Merge pull request #6577 from NathanY3G/uf2-family-id-for-stm32f405
stm: Make family IDs consistent with TinyUF2
2022-07-12 13:38:40 -07:00
Scott Shawcroft
23bbb19138
Merge remote-tracking branch 'adafruit/main' into websocket_serial 2022-07-12 13:15:38 -07:00
Scott Shawcroft
d9f6e99942
Fix RP2040 UART
It couldn't receive more than 32 bytes in while checking in_waiting
because in_waiting didn't turn interrupts back on correctly.

Fixes #6579
2022-07-11 13:36:44 -07:00
Scott Shawcroft
d8447de0b0
Merge pull request #6578 from xuhow/picoed_led_status
Picoed led status
2022-07-11 13:23:02 -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
Scott Shawcroft
e7703e89c9
Merge pull request #6567 from jepler/update-ulab-509
update ulab to 5.0.9
2022-07-11 13:05:41 -07:00
Melissa LeBlanc-Williams
08b4a64bd2 Update the PID 2022-07-11 08:39:10 -07:00
Xu Hao
be3482ff05 Set MICROPY_HW_LED_STATUS pin to the elecfreaks_picoed 2022-07-11 16:51:06 +08:00
Nathan Young
f22f4f896a stm: Make family IDs consistent with TinyUF2
This should allow UF2 images for STM32F405 boards to be flashed by
TinyUF2.
2022-07-10 21:34:07 +02: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
Dan Halbert
9d77a36fbf update samd-peripherals submodule 2022-07-08 22:47:36 -04: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
Melissa LeBlanc-Williams
3c093713dc Merge branch 'esp_box_lite' of https://github.com/tannewt/circuitpython into esp_box_lite 2022-07-08 13:46:14 -07: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