| .. zephyr:code-sample:: esp32-xt-wdt |
| :name: XTAL32K Watchdog Timer (WDT) |
| |
| Trigger watchdog interrupt on external 32K crystal failure. |
| |
| Overview |
| ******** |
| |
| This sample shows how to work with XTAL32K Watchdog Timer (XT WDT) peripheral. |
| To properly run this sample, you need to have a board with an external 32.728 Hz |
| crystal oscillator connected to the XTAL_32K_P and XTAL_32K_N pins. |
| |
| The app will ask for the crystal removal to simulate a crystal failure and trigger |
| the XT WDT interrupt. Internally the hardware switch the RTC SLOW clock source from |
| ESP32_RTC_SLOW_CLK_SRC_XTAL32K to ESP32_RTC_SLOW_CLK_SRC_RC_SLOW (136 KHz for C3 and S3 / |
| 9 KHz for S2). |
| |
| Supported SoCs |
| ************** |
| |
| The following SoCs supports the XT WDT peripheral: |
| |
| * ESP32-C3 |
| * ESP32-S2 |
| * ESP32-S3 |
| |
| Building and Running |
| ******************** |
| |
| Make sure you have your board connected over USB port and the external crystal is connected |
| to pins XTAL_32K_P and XTAL_32K_N. |
| |
| .. code-block:: console |
| |
| west build -p -b esp32s3_devkitm/esp32s3/procpu samples/boards/espressif/xt_wdt |
| west flash |
| |
| If using another supported Espressif board, replace the argument in the above |
| command with a proper board name (e.g., ``esp32s2_saola``). |
| |
| Sample Output |
| ============= |
| |
| To check output of this sample, run ``west espressif monitor`` or any other serial |
| console program (e.g., minicom, putty, screen, etc). |
| This example uses ``west espressif monitor``, which automatically detects the serial |
| port at ``/dev/ttyUSB0``: |
| |
| .. code-block:: console |
| |
| $ west espressif monitor |
| |
| .. code-block:: console |
| |
| *** Booting Zephyr OS build v3.6.0-3896-gb4a7f061524f *** |
| [00:00:01.287,000] <inf> xt_wdt_sample: XT WDT Sample on esp32s3_devkitm/esp32s3/procpu |
| [00:00:01.287,000] <inf> xt_wdt_sample: Current RTC SLOW clock rate: 32768 Hz |
| [00:00:01.287,000] <inf> xt_wdt_sample: Remove the external 32K crystal to trigger the watchdog |
| XT WDT callback |
| [00:00:03.554,000] <inf> xt_wdt_sample: Current RTC SLOW clock rate: 136000 Hz |