Commit Graph

425 Commits

Author SHA1 Message Date
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
Scott Shawcroft f4fd236605
Merge pull request #3698 from BennyE/disablesoftap
esp32s2: Set station mode early to avoid SoftAP on startup
2020-11-16 14:51:57 -08:00
Scott Shawcroft f8eed1f74c
Merge pull request #3691 from jepler/issue-3424
esp32s2: Update esp-idf submodule to include fix for #3424
2020-11-16 14:21:13 -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
Jeff Epler 231e3d362d esp32s2: Update esp-idf submodule to include fix for #3424
This re-points the submodule to my personal fork of esp-idf.
Users may need to `git submodule sync` in their existing trees when
this change occurs.

Adds just the following commit in esp-idf:
  > esp_crt_bundle: Allow verify_callback to correct BADCERT_BAD_MD
2020-11-14 10:16:39 -06:00
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 ff41180237
pcnt reset on reload 2020-11-12 16:30:30 +05:30
Scott Shawcroft a47dea4922
Merge pull request #3671 from FoamyGuy/um_feathers2_board_spi_i2c
board.SPI() and board.I2C() for UnexpectedMaker Feather S2
2020-11-11 17:22:23 -08:00
microDev 35ef6c687f
nvm implementation for esp32s2 2020-11-11 23:11:12 +05:30
foamyguy 118ca7cff4 adding default uart pins 2020-11-11 06:56:57 -06:00
microDev f9842566d8
Add default pin definitions 2020-11-11 10:22:48 +05:30
foamyguy 8373146c56 newline end of file 2020-11-10 15:29:17 -06:00
Scott Shawcroft ddb3590944
Merge pull request #3647 from DavePutz/issue3579
Issue3579 - Check for CTRL-C During sleep on esp32s2
2020-11-10 13:09:57 -08:00
foamyguy 1192eebcdf adding spi and i2c to board for um feather s2 2020-11-10 14:12:44 -06:00
Lucian Copeland 21ca1b8c2b Merge remote-tracking branch 'upstream/main' into esp32s2-udp 2020-11-10 14:59:32 -05:00
Lucian Copeland d16d27a449 Merge remote-tracking branch 'tannewt/esp32s2_udp' into esp32s2-udp 2020-11-10 14:51:36 -05:00
Scott Shawcroft 75a977febd
Merge pull request #3668 from jepler/esp32s2-stack-size
esp32s2: Correct port_stack_get_top()
2020-11-10 10:56:12 -08:00
root fe7ed99939 Split out extern declare to ports/esp32s2/supervisor/esp_port.h 2020-11-10 12:45:39 -06:00
root 44425b8d94 Requested review changes made 2020-11-10 11:32:59 -06:00
Jeff Epler 2d8ebfcf63 esp32s2: Correct port_stack_get_top()
Closes #3649
2020-11-10 10:42:53 -06:00
microDev 6c59836c5d
watchdog implementation for esp32s2 2020-11-10 16:32:46 +05:30
Scott Shawcroft 61bf0e99c6
Merge pull request #3653 from tannewt/magtag
Rebrand EInk Portal to MagTag
2020-11-09 16:00:09 -08:00
Scott Shawcroft d1f15d314b
Rename to include display details 2020-11-09 15:03:22 -08:00
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 b2e83952c0
Rebrand EInk Portal to MagTag 2020-11-06 15:27:16 -08:00
Scott Shawcroft 01c7a06dcc
Merge pull request #3615 from microDev1/CountIO-S2
ESP32S2: Support for CountIO
2020-11-06 12:29:13 -08:00
root d948e6570f Changes to handle Ctrl-C during sleep 2020-11-05 21:27:21 -06: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
root c2aa54ae66 Check for Ctrl-C during sleeps 2020-11-05 11:10:40 -06:00
microDev d8ef9a127b
rename pcnt_handler to pcnt 2020-11-05 10:10:39 +05:30
microDev fe6bfde590
move pcnt handler 2020-11-04 21:20:24 +05:30
Lucian Copeland 472a5a99ec Add API reset to reset_pin_number 2020-11-03 16:31:53 -05:00
Ed Hagerty 4055c5ac61
Update README.md 2020-11-03 17:14:58 +00:00
Limor "Ladyada" Fried 4938054c05
Merge pull request #3638 from ladyada/main
io naming for gpio (credit to @kattni)
2020-11-03 09:17:33 -05:00
lady ada c4521287e3 add rx/tx default uart names 2020-11-02 23:22:53 -05:00
Scott Shawcroft 7441344c6f
Add new config options to default 2020-11-02 17:22:24 -08:00
Scott Shawcroft 18838e390a
reduce connection footprint and fix recv 2020-11-02 16:44:55 -08:00
lady ada 6c61a53e0f io naming for gpio (credit to @kattni) 2020-11-02 18:38:23 -05: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
lady ada 25bad660c6 add light sensor, move batt monitor 2020-10-28 19:23:18 -04: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
Jeff Epler 2ba6659967 esp32s2: Makefile: restore --no-stub 2020-10-26 19:07:37 -05:00
Scott Shawcroft 95cb5961d2
Fix ESP32-S2 SPI when DMA is sometimes used 2020-10-26 16:59:59 -07:00
Scott Shawcroft fc591c8d84
Add EInk Portal 2020-10-26 16:59:59 -07:00
Jeff Epler caca0609bd
Merge pull request #3607 from hierophect/esp32-readme-clarity
ESP32-S2: Fix readme link, improve instruction clarity
2020-10-26 12:43:51 -05:00
Lucian Copeland 32f2a8d54c Fix readme link 2020-10-26 11:03:54 -04: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
Scott Shawcroft c8808f41a5
Merge pull request #3580 from astrobokonon/esp32s2-FixSTAMODE
ESP32S2: Reset sta_mode and ap_mode flags
2020-10-22 13:48:45 -07:00
microDev f431f859e7
Initial support for native touchio 2020-10-22 21:32:44 +05:30
Scott Shawcroft 50e90088a2
Merge pull request #3586 from Targett363/esp32s2_module_clip
Esp32s2 module clip
2020-10-21 12:58:23 -07:00
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
Targett363 a2fce305d6 Replacing placeholder PIDs with correct PIDs 2020-10-20 10:42:14 +01: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
askpatricw d6805c0dd4 SDA and SCL were flipped 2020-10-18 17:15:59 -07:00
Ryan T. Hamilton 76f1db7a87 Set sta_mode flag for actual use/checking 2020-10-17 00:23:31 -07:00
Ryan T. Hamilton 9d840aab0b Cleaned up and now testing 2020-10-15 23:45:11 -07:00
Ryan T. Hamilton b336039aab Disable the long way and return an ap_info object
still needs work and cleanup
2020-10-15 23:18:30 -07:00
Scott Shawcroft 6b272eeb27
Merge pull request #3555 from UnexpectedCircuitPython/main
Added default LWIP hostnames to FeatherS2 boards
2020-10-15 15:12:40 -07:00
Scott Shawcroft 31223e4ae5
Merge pull request #3530 from askpatrickw/hostname-example
Set default hostname
2020-10-15 15:11:58 -07:00
Seon Rozenblum 45a3bd1c04 Added default LWIP hostnames to FeatherS2 boards 2020-10-16 06:47:59 +11:00
microDev 18fbff4f57
Update wifi hostname method 2020-10-14 11:11:59 +05:30
microDev ceb531086e
Add method to set custom hostname 2020-10-13 14:22:02 +05:30
Scott Shawcroft 9de96786ad
Merge pull request #3538 from jepler/parallel-qstrlast
build: parallelize the qstr build steps
2020-10-12 15:52:43 -07:00
Jeff Epler 8ddbebd2c1 esp32s2: fix build after qstr rule changes 2020-10-12 13:35:15 -05:00
Targett363 60deb321d1 adding USB PID VID 2020-10-10 23:55:05 +01:00
Targett363 5721cf0710 tidying up board names 2020-10-10 22:42:24 +01:00
Targett363 ead0d51fd7 Commenting out Neopixel in pins.c 2020-10-10 22:22:01 +01:00
Targett363 74954286f0 Putting the Saola Wrover files back and adding my Wrover board files this time 2020-10-10 21:44:14 +01:00
Targett363 f38e868e90 Actually adding Wrover board files this time 2020-10-10 21:28:26 +01:00
Targett363 b9e308c248 Adding Wroom and Wrover board files 2020-10-10 21:11:06 +01:00
Lucian Copeland b435ef0272 Merge remote-tracking branch 'upstream/main' into esp32-analogout 2020-10-09 17:19:46 -04:00
Scott Shawcroft 375676ff58
Merge pull request #3501 from hierophect/esp32-analogin
ESP32S2: Add AnalogIn
2020-10-09 14:10:24 -07:00
Scott Shawcroft 506936ea2e
Merge pull request #3525 from UnexpectedCircuitPython/UM_S2_Boards
Fixed the FeatherS2 prerelease hardware name
2020-10-09 10:20:13 -07:00
askpatricw 2b2003f3e7 Set default hostname 2020-10-08 22:46:10 -07:00
Ryan T. Hamilton 99f27bea61 Merge branch 'main' of https://github.com/adafruit/circuitpython into esp32s2-morenet 2020-10-08 12:43:52 -07:00
Lucian Copeland b5f8321d37 Merge branch 'esp32-analogin' into esp32-analogout 2020-10-08 12:42:00 -04:00
Lucian Copeland 97d217a764 Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-08 12:34:58 -04:00
hathach e1fc85c56b fix usb issue with latest idf 2020-10-08 13:30:32 +07:00
Seon Rozenblum d93a1961c4 Fixed the FeatherS2 prerelease hardware name 2020-10-08 14:03:16 +11:00
hathach b7ed18d622 change idf to espressif
fix hal includes
2020-10-08 00:52:00 +07:00
Lucian Copeland 9ac0aae5a9 Merge remote-tracking branch 'upstream/main' into esp32-analogout 2020-10-07 12:21:04 -04:00
Lucian Copeland 7386a948bd Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-07 12:20:30 -04:00
Scott Shawcroft 8c428a3bdd
Merge pull request #3492 from hierophect/esp32-update-idf
ESP32S2: move to official IDF submodule
2020-10-06 16:53:32 -07:00
Lucian Copeland d5c8e55769 Add AnalogIO 2020-10-06 15:13:50 -04:00
Lucian Copeland 68cb384f8f Remove logging from shared-bindings, fix translations, revert config target macro 2020-10-06 13:29:12 -04:00
Lucian Copeland f90eb23db1 Merge branch 'esp32-update-idf' into esp32-analogin 2020-10-06 12:52:40 -04:00
Lucian Copeland 0d7552b67e Update ESP-IDF to newer fixed fork 2020-10-06 12:48:28 -04:00
Seon Rozenblum 5c00ba8592 Removed hardware APA settings from mpconfigboard.h because they make the APA flicker on boot. I need to look into why, but I don't think they are being used for anything right now anyway. 2020-10-06 07:40:20 +11:00
hierophect e93a274f2f
Merge branch 'main' into esp32-analogin 2020-10-05 13:02:42 -04:00
Lucian Copeland 0467a82880 Fix/remove various style issues 2020-10-05 13:00:42 -04:00
Lucian Copeland a8dfae58d9 Add ADC calibration module support 2020-10-01 17:17:39 -04:00
Scott Shawcroft d62ac24493
Merge pull request #3469 from jepler/noreturn
Add some NORETURN attributes
2020-10-01 11:18:36 -07:00
Scott Shawcroft 2ad54f8413
Merge pull request #3463 from UnexpectedCircuitPython/UM_S2_Boards
Updated UM FeatherS2 boards
2020-10-01 10:56:55 -07:00
Lucian Copeland 9a3bd82f40 Update TinyUSB include compatibility 2020-10-01 13:19:54 -04:00
Lucian Copeland 0bbd067a17 Revert ADC calibration removal, complete merge 2020-10-01 13:06:48 -04:00
Lucian Copeland c624c1e838 Merge branch 'esp32-update-idf' into esp32-analogin 2020-09-30 16:51:19 -04:00
Lucian Copeland e01e8dd6b9 Revert HAL refactor changes to avoid USB breaking changes past esp-idf dde6222cd 2020-09-30 16:36:13 -04:00
Scott Shawcroft a739d314f1
Add Metro ESP32S2
Also fix two bugs:
* Crash when resetting board.SPI when it hasn't been inited.
* Reading back the output value is always false. Fixes #3353
2020-09-30 12:57:39 -07:00
Scott Shawcroft a09a158ddc
Fix trailing line 2020-09-30 11:36:51 -07:00
Lucian Copeland 66b8559fd4 Change submodule, rework all includes 2020-09-30 11:26:07 -04:00
Seon Rozenblum 819b5faa71 Removed ProS2 board files for now 2020-09-30 10:23:54 +10:00
Seon Rozenblum 4b1a7d812e Updated UM boards 2020-09-30 10:16:24 +10:00
Seon Rozenblum a2a0aa058f Updated UM boards 2020-09-30 10:13:05 +10:00
Ryan T. Hamilton 2f6d7c9002 Make sure you're a STA before connecting 2020-09-29 13:41:56 -07:00
Jeff Epler 2bb44f6c4d
Merge pull request #3486 from microDev1/fixTranslate
Update make translate script
2020-09-29 14:32:49 -05:00
microDev 4c7d9e3aaf
Update make translate script 2020-09-29 11:14:30 +05:30
Jeff Epler d4ee440a91
Merge pull request #3475 from tannewt/esp_uf2
Reorganize sdkconfigs and release UF2s
2020-09-28 20:39:37 -05:00
Ryan T. Hamilton 2a4a244245 Add ap_ssid and ap_bssid 2020-09-28 17:25:09 -07:00
Jeff Epler 1dbb59271c esp32: Use esp_restart from reset_to_bootloader; redeclare it NORETURN 2020-09-28 18:56:01 -05:00
Jeff Epler 726dcdb60a Add some NORETURN attributes
I have a function where it should be impossible to reach the end, so I put in a safe-mode reset at the bottom:
```
int find_unused_slot(void) {
    // precondition: you already verified that a slot was available
    for (int i=0; i<NUM_SLOTS; i++) {
        if( slot_free(i)) {
            return i;
        }
    }
    safe_mode_reset(MICROPY_FATAL_ERROR);
}
```
However, the compiler still gave a diagnostic, because safe_mode_reset was not declared NORETURN.

So I started by teaching the compiler that reset_into_safe_mode never returned.  This leads at least one level deeper due to reset_cpu needing to be a NORETURN function.  Each port is a little different in this area.  I also marked reset_to_bootloader as NORETURN.
Additional notes:

 * stm32's reset_to_bootloader was not implemented, but now does a bare reset.  Most stm32s are not fitted with uf2 bootloaders anyway.
 * ditto cxd56
 * esp32s2 did not implement reset_cpu at all.  I used esp_restart().  (not tested)
 * litex did not implement reset_cpu at all.  I used reboot_ctrl_write.  But notably this is what reset_to_bootloader already did, so one or the other must be incorrect (not tested).  reboot_ctrl_write cannot be declared NORETURN, as it returns unless the special value 0xac is written), so a new unreachable forever-loop is added.
 * cxd56's reset is via a boardctl() call which can't generically be declared NORETURN, so a new unreacahble "for(;;)" forever-loop is added.
 * In several places, NVIC_SystemReset is redeclared with NORETURN applied.  This is accepted just fine by gcc.  I chose this as preferable to editing the multiple copies of CMSIS headers where it is normally declared.
 * the stub safe_mode reset simply aborts.  This is used in mpy-cross.
2020-09-28 18:55:56 -05:00
Ryan T. Hamilton 66d55738c1 Enable DNS info 2020-09-28 16:49:20 -07:00
Scott Shawcroft abdbbf9e24
One grep 2020-09-28 15:10:12 -07:00
Lucian Copeland 128b4a013b Add non-calibrated ADC 2020-09-28 12:11:08 -04:00