Commit Graph

349 Commits

Author SHA1 Message Date
microDev 8eaf2b0c19
implement touch alarm 2020-12-18 12:54:36 +05:30
microDev 4512290ba0
Merge branch 'main' into ota-s2 2020-12-18 00:44:00 +05:30
microDev 4863413bc9
rename ota to dualbank 2020-12-18 00:34:56 +05:30
Scott Shawcroft 0dcc659d53
Swap to IDF release/4.2 branch for stability 2020-12-15 18:12:59 -08:00
Scott Shawcroft 1ad49d9a18
Add alarm.pin that wakes on pin level
Fixes #3787
2020-12-15 18:12:59 -08:00
hierophect 3ad4b12ce1
Merge branch 'main' into esp-analog-hang 2020-12-15 15:08:30 -05:00
Scott Shawcroft d076296659
Merge pull request #3816 from dhalbert/sleepmemory
alarm.sleep_memory + alarm.wake_alarm
2020-12-14 17:40:02 -08:00
Scott Shawcroft a1f773d9ed
Merge pull request #3819 from BennyE/issue3663
Fix for issue 3663 by returning early if no scan was started before s…
2020-12-14 17:11:18 -08:00
Scott Shawcroft dc473b29e3
Merge pull request #3643 from hierophect/esp32-pin-reset
ESP32-S2: Add IDF pin resets to Microcontroller
2020-12-14 17:09:29 -08:00
Lucian Copeland d793ec2872 Change pinfunc to default of 0 at reset 2020-12-14 14:25:38 -05:00
Lucian Copeland cac755ba16 Merge remote-tracking branch 'upstream/main' into esp-analog-hang 2020-12-14 13:00:57 -05:00
Lucian Copeland f15e2d86c0 Reduce samples from 64 to 2 2020-12-14 12:59:20 -05:00
Dan Halbert e0afa32cfa use RTC_DATA_ATTR; address review comments 2020-12-14 11:36:54 -05:00
BennyE 210c0ec89c add country(code) to wifi network objects) 2020-12-13 13:32:12 +01:00
microDev 37ee5e683d
Merge branch 'main' into ota-s2 2020-12-12 05:25:46 +05:30
BennyE c5c13620f2 Fix for issue 3663 by returning early if no scan was started before stop is issued 2020-12-12 00:49:53 +01:00
Dan Halbert cf938983e9 SleepMemory + set alarm.wake_alarm 2020-12-11 08:10:26 -05:00
microDev cb35abfd04
add docs, update translation & fix ota.flash() 2020-12-11 01:01:01 +05:30
Dan Halbert 55f4110983 fix typo 2020-12-10 14:16:25 -05:00
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 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 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 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 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 9b3186b625
Merge pull request #3776 from tannewt/backup_socket_timeout
Two minor socket changes
2020-12-02 16:12:29 -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
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 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
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
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
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
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 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
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
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
microDev 0686cde226
update internal nvm size 2020-11-17 01:19:12 +05:30
microDev 18e463cca5
add pcnt overflow handler & clean-up 2020-11-16 23:32:22 +05:30
Dan Halbert ffff02c053 Merge remote-tracking branch 'adafruit/main' into sleep 2020-11-16 12:06:11 -05:00
Dan Halbert bb77f1d130 wip: initial code changes, starting from @tannewt's sleepio branch 2020-11-16 11:56:20 -05:00
microDev f2824f6a68
update frequency measurement 2020-11-16 12:55:55 +05:30
microDev 2bec02738f
move interrupt handler to iram 2020-11-16 11:44:11 +05:30
BennyE d4ab00f734 Set station mode early to avoid SoftAP on startup 2020-11-16 00:31:06 +01:00
microDev c4917cdabd
frequencyio implementation for esp32s2 2020-11-16 00:11:00 +05:30
microDev 146adca060
Add watchdog mode raise 2020-11-14 11:41:14 +05:30
Scott Shawcroft 8d4296f964
Add board.DISPLAY to MagTag. Fix luma computation
* Initialize the EPaper display on the MagTag at start.
* Tweak the display send to take a const buffer.
* Correct Luma math
  * Multiply the blue component, not add.
  * Add all of the components together before dividing. This
    reduces the impact of truncated division.
2020-11-13 18:57:52 -08:00
Jeff Epler 0f7081781e esp32s2: wifi: fix several debug-build errors
Closes #3688

With this change, I don't get the ESP_ERROR_CHECK failed repeatedly
running code that imports wifi.  (I'm not getting a successful connection
but that's probably my own fault, such as a secrets problem)
2020-11-12 20:40:45 -06:00
microDev 35ef6c687f
nvm implementation for esp32s2 2020-11-11 23:11:12 +05:30
Lucian Copeland 21ca1b8c2b Merge remote-tracking branch 'upstream/main' into esp32s2-udp 2020-11-10 14:59:32 -05:00
microDev 6c59836c5d
watchdog implementation for esp32s2 2020-11-10 16:32:46 +05:30
microDev 7ba2c5772c
Update license 2020-11-08 11:18:05 +05:30
microDev 55e0e2c4ba
Update rotaryio implementation 2020-11-08 11:12:32 +05:30
microDev 479567059e
Merge branch 'main' into rotaryio-S2 2020-11-08 00:00:01 +05:30
Scott Shawcroft 01c7a06dcc
Merge pull request #3615 from microDev1/CountIO-S2
ESP32S2: Support for CountIO
2020-11-06 12:29:13 -08:00
microDev ac8a0faa0d
update peripherals_pcnt_init() 2020-11-06 01:42:20 +05:30
Dan Halbert 81bb92bdd2
Merge pull request #3639 from tannewt/fix_recv
Rework socketpool.Socket.recv to return sooner
2020-11-05 14:11:13 -05:00
microDev d8ef9a127b
rename pcnt_handler to pcnt 2020-11-05 10:10:39 +05:30
Lucian Copeland 472a5a99ec Add API reset to reset_pin_number 2020-11-03 16:31:53 -05:00
Scott Shawcroft 18838e390a
reduce connection footprint and fix recv 2020-11-02 16:44:55 -08:00
Lucian Copeland 23afe08b6f Add GPIO reset to end of neopixel-write 2020-11-02 17:15:19 -05:00
microDev 4438050f79
Add pcnt handler 2020-11-01 18:00:07 +05:30
Scott Shawcroft 7fd73c7d39
Initial UDP work. Need to test 2020-10-28 18:08:31 -07:00
Scott Shawcroft 7cbc50962b
Merge pull request #3611 from tannewt/esp32s2_eink_portal
Add Adafruit ESP EInk Portal and grayscale EInk support
2020-10-28 14:45:29 -07:00
microDev 5e3bfa1956
countio implementation for esp32s2 2020-10-28 20:08:25 +05:30
Scott Shawcroft 9a4efed8cb
Start tweaking the workflow to sleep 2020-10-27 17:55:03 -07:00
microDev 930cf14dce
Add check for invalid io, function to disable all alarms 2020-10-27 16:17:26 -07:00
microDev 59df1a11ad
Add alarm_touch module 2020-10-27 16:16:52 -07:00
microDev da449723df
Fix build error 2020-10-27 16:16:15 -07:00
microDev 4d8ffdca8d
restructure alarm modules 2020-10-27 16:15:09 -07:00
microDev e5ff55b15c
Renamed alarm modules 2020-10-27 16:13:25 -07:00
microDev 21ba61afbb
Add function to disable alarm 2020-10-27 16:13:25 -07:00
microDev 05a3f203db
Add function to get time elapsed during sleep 2020-10-27 16:13:25 -07:00
microDev e310b871c8
Get io wake working 2020-10-27 16:13:25 -07:00
microDev 90b9ec6f2c
Initial Sleep Support 2020-10-27 16:13:22 -07:00
Scott Shawcroft 557a58b244
Merge pull request #3591 from microDev1/TouchIO-S2
ESP32S2: Support for native TouchIO
2020-10-27 14:11:39 -07:00
Scott Shawcroft 73162bda85
Merge pull request #3584 from jepler/can-esp32s2
esp32s2: implement canio
2020-10-27 14:01:07 -07:00
microDev 80029f6929
rotaryio implementation for esp32s2 2020-10-28 00:12:13 +05:30
Jeff Epler 3a501a0495 esp32s2: canio: respond to review comments
* explain the introduction of the temporary variable in get_t_config
 * get rid of unneeded __attribute__
 * get rid of unneeded members of canio_can_obj_t
 * get rid of unneeded header inclusion
2020-10-26 19:18:37 -05:00
Scott Shawcroft 95cb5961d2
Fix ESP32-S2 SPI when DMA is sometimes used 2020-10-26 16:59:59 -07:00
Jeff Epler 396d92f867 esp32s2: Add canio
This works in loopback mode, though the hardware filtering only permits a
single address or mask filter.
2020-10-26 09:54:58 -05:00
microDev ef97ed6ab6
Update touchio implementation 2020-10-23 13:17:49 +05:30
microDev f431f859e7
Initial support for native touchio 2020-10-22 21:32:44 +05:30
Ryan T. Hamilton e202da4dad Change comment wording 2020-10-20 15:14:35 -07:00
Ryan T. Hamilton c58b0adf64 Reset sta_mode and ap_mode flags 2020-10-20 14:49:57 -07:00
Scott Shawcroft d606a3e968
Merge pull request #3484 from astrobokonon/esp32s2-morenet
Esp32s2: Expose more network parameters
2020-10-19 15:07:20 -07:00