Dan Halbert
5964163649
Initial SleepMemory code
2020-12-10 13:03:40 -05:00
microDev
6a4f74946f
reset ota module on every vm run
2020-12-10 16:48:58 +05:30
microDev
07015ad527
add ability to switch boot partition
2020-12-10 16:42:45 +05:30
microDev
bfa2c604ef
add ability to flash in discontinuous chunks
2020-12-10 15:45:25 +05:30
microDev
ed5add37f6
add ability to flash in continuous chunks
2020-12-10 14:36:49 +05:30
microDev
dee86a014b
factor out esp_ota_end
2020-12-10 14:04:24 +05:30
microDev
20c3184c87
re-organize and clean-up
2020-12-10 12:34:56 +05:30
Scott Shawcroft
e14b148e62
Merge pull request #3803 from skieast/fix_i2c_hang_with_wifi
...
Working, tested with two i2c busses
2020-12-09 10:03:31 -08:00
Scott Shawcroft
133013083a
Merge pull request #3808 from tannewt/panic_safe_mode
...
Enter safe mode after panic or brownout
2020-12-08 16:31:22 -08:00
Scott Shawcroft
57101d7da6
Merge pull request #3807 from tannewt/sleep_tweaks
...
Add `board_deinit` for use with sleep
2020-12-08 16:30:41 -08:00
Lucian Copeland
9a5006e241
Remove problematic calloc
2020-12-08 17:43:39 -05:00
Scott Shawcroft
0b4bcd9599
Fix build and more comments
2020-12-08 13:05:21 -08:00
Scott Shawcroft
d0a806d797
Enter safe mode after panic or brownout
...
Uses the IDF's reset reason. Does nothing before reset.
Fixes #3389
2020-12-08 11:03:24 -08:00
Scott Shawcroft
40118bcf57
Add board_deinit
for use with sleep
...
This changes lots of files to unify `board.h` across ports. It adds
`board_deinit` when CIRCUITPY_ALARM is set. `main.c` uses it to
deinit the board before deep sleeping (even when pretending.)
Deep sleep is now a two step process for the port. First, the
port should prepare to deep sleep based on the given alarms. It
should set alarms for both deep and pretend sleep. In particular,
the pretend versions should be set immediately so that we don't
miss an alarm as we shutdown. These alarms should also wake from
`port_idle_until_interrupt` which is used when pretending to deep
sleep.
Second, when real deep sleeping, `alarm_enter_deep_sleep` is called.
The port should set any alarms it didn't during prepare based on
data it saved internally during prepare.
ESP32-S2 sleep is a bit reorganized to locate more logic with
TimeAlarm. This will help it scale to more alarm types.
Fixes #3786
2020-12-08 10:52:25 -08:00
microDev
2f95c94ad8
esp32s2 - update common_hal_mcu_reset
2020-12-08 18:00:58 +05:30
microDev
602243748b
add ota support for esp32s2
2020-12-08 11:45:00 +05:30
microDev
fc23a0cc8a
implement ota module
2020-12-08 11:30:00 +05:30
Bruce Segal
571c063c2a
Working, tested with two i2c busses
2020-12-07 17:57:54 -08:00
Scott Shawcroft
44b56f76c4
Store safe mode state in the RTC.
...
Also print backtrace before reset when DEBUG. This will help debug
safe mode issues which calls reset.
2020-12-07 16:39:54 -08:00
Scott Shawcroft
22ad76bb48
Merge pull request #3800 from BennyE/wifi-better-logs
...
Enhance debug log for wifi scan, sta_start, sta_stop
2020-12-07 12:32:15 -08:00
Lucian Copeland
c1a2ea27ce
Change to config-based resets
2020-12-07 13:57:47 -05:00
Lucian Copeland
c7b5928833
Fix submodule desync
2020-12-07 11:47:39 -05:00
Lucian Copeland
40a536904f
Merge remote-tracking branch 'upstream/main' into esp32-pin-reset
2020-12-07 11:45:27 -05:00
Dan Halbert
169b487509
Include wifi.radio singleton in gc
2020-12-07 11:07:56 -05:00
BennyE
70827ac3da
debug log for wifi scan, start stop
2020-12-06 23:38:04 +01:00
Dan Halbert
348392f8cc
Merge pull request #3775 from tannewt/nina_certs
...
Use nina-fw root certs
2020-12-02 16:13:19 -05:00
Dan Halbert
9b3186b625
Merge pull request #3776 from tannewt/backup_socket_timeout
...
Two minor socket changes
2020-12-02 16:12:29 -05:00
Dan Halbert
31acfedf93
Merge pull request #3780 from tannewt/block_while_erasing
...
Block all tasks (not interrupts) during flash erase
2020-12-02 16:10:25 -05:00
Scott Shawcroft
d7ba641ff6
Merge pull request #3767 from dhalbert/sleep
...
Initial alarm and sleep PR: time alarms with light and deep sleep; PinAlarms not yet implemented
2020-12-02 12:51:43 -08:00
Scott Shawcroft
73e22f9eeb
Block all tasks (not interrupts) during flash erase
...
Otherwise we risk running code from flash while an erase is in
progress, crashing and corrupting the file system.
Related to #3744
2020-12-01 18:15:06 -08:00
Dan Halbert
8b7c23c1ee
address review comments
2020-12-01 20:01:14 -05:00
Scott Shawcroft
927624468d
Two minor socket changes
...
* Remove BrokenPipeError and prefer to return the number of bytes
received. (May be zero.)
* Add two minute backup timeout to reduce the chance we hang on
recv accidentally.
2020-11-30 18:39:50 -08:00
Scott Shawcroft
4ac4faaaf6
Use nina-fw root certs
...
That way we have one set we use for all of Adafruit's connected
devices.
2020-11-30 17:02:26 -08:00
Scott Shawcroft
5b3c930e38
Merge pull request #3738 from microDev1/fix-touch
...
ESP32S2: Fix multiple touchpad don't work simultaneously
2020-11-30 16:03:16 -08:00
Christian Walther
c7404a3ff8
Add movable allocation system.
...
This allows calls to `allocate_memory()` while the VM is running, it will then allocate from the GC heap (unless there is a suitable hole among the supervisor allocations), and when the VM exits and the GC heap is freed, the allocation will be moved to the bottom of the former GC heap and transformed into a proper supervisor allocation. Existing movable allocations will also be moved to defragment the supervisor heap and ensure that the next VM run gets as much memory as possible for the GC heap.
By itself this breaks terminalio because it violates the assumption that supervisor_display_move_memory() still has access to an undisturbed heap to copy the tilegrid from. It will work in many cases, but if you're unlucky you will get garbled terminal contents after exiting from the vm run that created the display. This will be fixed in the following commit, which is separate to simplify review.
2020-11-28 17:50:23 +01:00
Dan Halbert
596e0e4bd2
merge from upstream
2020-11-27 16:06:57 -05:00
Dan Halbert
e308a9ec11
working! PinAlarm not implemented yet.
2020-11-27 16:03:37 -05:00
Dan Halbert
104a089677
deep sleep working; deep sleep delay when connected
2020-11-26 22:06:37 -05:00
microDev
e90cb3ad86
Merge branch 'main' into fix-touch
2020-11-26 11:33:45 +05:30
microDev
6af48bb24c
reset touchin on every vm run
2020-11-26 11:22:44 +05:30
Jeff Epler
7923aa0a62
Merge pull request #3708 from hierophect/esp32s2-udp
...
ESP32-S2: Add UDP with recvfrom_into and sendto
2020-11-25 21:11:20 -06:00
Jeff Epler
6fd123a5c4
Merge pull request #3758 from tannewt/update_connect_doc
...
Update wifi.Radio.connect doc
2020-11-25 21:09:56 -06:00
Scott Shawcroft
abff2615cb
Merge pull request #3754 from hierophect/esp-spi-pinclaim
...
ESP32S2: fix pin claiming bugs
2020-11-25 15:11:29 -08:00
Dan Halbert
ef0830bfe2
merge from upstream + wip
2020-11-25 17:52:06 -05:00
Dan Halbert
9dbea36eac
changed alarm.time API
2020-11-25 15:09:27 -05:00
Lucian Copeland
a854da35d3
Fix masking issue causing pin claim problems
2020-11-25 12:14:56 -05:00
Lucian Copeland
c9bc877683
Merge remote-tracking branch 'upstream/main' into esp-spi-pinclaim
2020-11-25 10:43:35 -05:00
Scott Shawcroft
9a692c3222
Exit faster on recv when TLS connection closed
...
When a TLS connection is closed by the server it usually sends a
notice. We see this incoming byte with lwip_ioctl and try to read
it. The read returns 0 but we keep trying anyway. Now, we quit
trying when we get zero back. If the connection was still alive
it'd either read a byte or delay until a byte could be read.
2020-11-24 18:14:22 -08:00
Scott Shawcroft
4ac11c8d31
Update wifi.Radio.connect doc
...
Now it includes bssid info.
2020-11-24 17:54:39 -08:00
hierophect
510f464234
Merge branch 'main' into esp32s2-udp
2020-11-24 18:28:10 -05:00
Scott Shawcroft
669f17e5bf
Merge pull request #3678 from microDev1/nvm-s2
...
ESP32S2: Support for NVM
2020-11-24 14:45:35 -08:00
Lucian Copeland
59458a9013
Add pin claiming to SPI construct
2020-11-24 16:46:11 -05:00
hierophect
d0e75e635a
Merge pull request #3714 from microDev1/ps2io-S2
...
ESP32S2: Support for PS/2-IO
2020-11-24 14:56:09 -05:00
Lucian Copeland
0c5e0954db
Add closed socket identification
2020-11-24 14:51:06 -05:00
Lucian Copeland
1031fe2992
correct submodule
2020-11-24 14:46:43 -05:00
Jeff Epler
0836abba41
Merge pull request #3720 from tannewt/more_wifi_retry
...
Retry connection when getting NOT_AUTHED
2020-11-24 09:54:54 -06:00
microDev
bbe13490b5
Merge branch 'main' into nvm-s2
2020-11-24 12:24:48 +05:30
microDev
6ff24410eb
use values pointer directly
2020-11-24 11:44:11 +05:30
microDev
9dd1783da5
Merge branch 'main' into ps2io-S2
2020-11-24 11:11:11 +05:30
Dan Halbert
7a45afc549
working, but need to avoid deep sleeping too fast before USB ready
2020-11-23 22:44:53 -05:00
Dan Halbert
ebdc48ae22
Merge pull request #3745 from kattni/magtag-pin-update
...
Add pin names from silk
2020-11-23 19:48:12 -05:00
Lucian Copeland
1c9f33a372
Replace reset with mux change
2020-11-23 19:01:30 -05:00
Lucian Copeland
86694262b8
Merge remote-tracking branch 'upstream/main' into esp32-pin-reset
2020-11-23 18:58:46 -05:00
Lucian Copeland
8ffd973e22
Merge remote-tracking branch 'upstream/main' into esp32s2-udp
2020-11-23 18:40:14 -05:00
Scott Shawcroft
a80bf22211
Merge pull request #3727 from BennyE/wifi-full-scan
...
esp32s2: Do a full scan when channel/BSSID are not given
2020-11-23 15:19:57 -08:00
Scott Shawcroft
c67f5892ff
Merge pull request #3704 from microDev1/frequencyio-S2
...
ESP32S2: Support for FrequencyIO
2020-11-23 14:59:27 -08:00
Kattni Rembor
7928a0d454
Blank lines to group aliases.
2020-11-23 16:02:45 -05:00
Kattni Rembor
3730862362
Update to match silk rev 1
2020-11-23 15:56:36 -05:00
Kattni Rembor
efda912437
Add pin names from silk
2020-11-23 15:53:28 -05:00
Dan Halbert
3abee9b256
compiles; maybe ready to test, or almost
2020-11-22 21:52:37 -05:00
Dan Halbert
25591a3f8a
Merge branch 'esp32s2-common-hal-mcu-delay-us' into sleep
2020-11-22 21:01:49 -05:00
Dan Halbert
a0f1ec3c4a
wip
2020-11-22 19:10:09 -05:00
Dan Halbert
f62ea25331
ESP32S2: common_hal_mcu_delay_us() now calls mp_hal_delay_us()
2020-11-22 19:08:27 -05:00
microDev
f3b5ca5f01
replace goto with conditional break
2020-11-22 19:20:21 +05:30
microDev
048ca2a570
get multiple touchpad working
2020-11-22 18:54:18 +05:30
Dan Halbert
75559f35cc
wip: ResetReason to microcontroller.cpu
2020-11-21 23:29:52 -05:00
Dan Halbert
e4c66990e2
compiles
2020-11-20 23:33:39 -05:00
BennyE
2773f534c9
Update ports/esp32s2/common-hal/wifi/Radio.c
...
adding suggested changes
2020-11-20 09:40:32 +01:00
BennyE
6760cdf678
Let connect() choose strongest AP if channel and BSSID are not given
2020-11-20 00:11:17 +01:00
Dan Halbert
39e1f52e28
wip; not compiling yet
2020-11-19 17:47:12 -05:00
BennyE
17a8bafe05
Choose best AP in range if no channel/bssid given
2020-11-19 23:39:48 +01:00
Dan Halbert
649c930536
wip
2020-11-19 15:43:39 -05:00
microDev
a25b27520d
update nvm implementation
2020-11-20 00:22:00 +05:30
microDev
bc9036f353
use pointer to get nvs handle
2020-11-20 00:15:30 +05:30
Jeff Epler
dd108b755d
esp32s2: initialize event loop ane netif only once
...
deinitting these seems to cause problems.
2020-11-19 11:36:02 -06:00
microDev
040eaa0443
re-organize and clean-up
2020-11-19 15:30:15 +05:30
microDev
b56645808c
fix crash on user code exit
2020-11-19 11:44:22 +05:30
Dan Halbert
5bb3c321e9
merge from main
2020-11-19 00:29:14 -05:00
Dan Halbert
682054a216
WIP: redo API; not compiled yet
2020-11-19 00:23:27 -05:00
Scott Shawcroft
081aec4429
Retry connection when getting NOT_AUTHED
...
I saw it once with a correct password. Retrying may still fail
but at least it'll try first.
2020-11-18 16:39:34 -08:00
Jeff Epler
83d790ad8f
esp32s2: don't delete the event loop
...
.. it seems to make the esp-idf grumpy.
2020-11-18 17:45:42 -06:00
microDev
0d3e81f969
update interrupt handling
2020-11-18 22:22:42 +05:30
microDev
bab41afce7
ps2io implementation for esp32s2
2020-11-18 12:34:56 +05:30
microDev
c457d373e1
update init_timer & frequency calculation
2020-11-18 12:24:48 +05:30
microDev
ff987e7496
add timer peripheral
2020-11-18 12:16:14 +05:30
Jeff Epler
9206925bf8
esp32s2: port_get_raw_ticks: Use a more efficient, monotonic routine
...
While trying to debug #3572 , I noticed that I would frequently break in
the midst of gettimeofday and that the routine get_adjusted_boot_time
had to take and release locks. Furthermore, we don't want "adjusted"
boot time, which could go forwards or backwards depending on the
adjustment (such as setting the clock used by gettimeofday() to the network
time)
2020-11-17 17:45:41 -06:00
Jeff Epler
1bc770c3dc
esp32s2: PulseIn: Fix supervisor tick enabling
...
Before, there were two problems:
* Even if a pulsein was never constructed, supervisor_disable_tick
would occur during restart. This could cancel out a supervisor_enable_tick
from someplace else, with unexpected results.
* If two or more pulseins were constructed, each one would enable ticks,
but only the last one deinited (or the reset routine) would disable,
leaving ticks running indefinitely.
In my testing, it seemed that this led to the board sometimes stopping when
it should have auto-reloaded.
2020-11-17 17:45:41 -06:00
Scott Shawcroft
e2b5ae2d77
Merge pull request #3689 from jepler/issue-3688
...
esp32s2: wifi: fix several debug-build errors
2020-11-17 13:26:43 -08:00
Lucian Copeland
0bbdf05936
Implement recvfrom_into and sendto for UDP
2020-11-17 16:11:04 -05:00
Scott Shawcroft
66fb095069
Merge pull request #3667 from microDev1/watchdog-s2
...
ESP32S2: Support for WatchDog
2020-11-16 15:01:54 -08:00