diff --git a/assets/components/board/digital-interrupts-control-tab.png b/assets/components/board/digital-interrupts-control-tab.png new file mode 100644 index 0000000000..88faf9fcc6 Binary files /dev/null and b/assets/components/board/digital-interrupts-control-tab.png differ diff --git a/assets/components/board/digital-interrupts-ui-config.png b/assets/components/board/digital-interrupts-ui-config.png new file mode 100644 index 0000000000..4ec6fd4656 Binary files /dev/null and b/assets/components/board/digital-interrupts-ui-config.png differ diff --git a/static/include/components/board/board-digital-interrupts.md b/static/include/components/board/board-digital-interrupts.md index c22ae83e4e..d1915b756f 100644 --- a/static/include/components/board/board-digital-interrupts.md +++ b/static/include/components/board/board-digital-interrupts.md @@ -4,9 +4,17 @@ Configuring digital interrupts to monitor GPIO pins on your board is useful when - When an interrupt configured on your board processes a change in the state of the GPIO pin it is configured to monitor, it calls [`Tick()`](/components/board/#tick) to record the state change and notify any interested [callbacks](/components/board/#addcallback) to "interrupt" the program. - Calling [`GetGPIO()`](/components/board/#getgpio) on a GPIO pin, which you can do without configuring interrupts, is useful when you want to know a pin's value at specific points in your program, but is less precise and convenient than using an interrupt. -Integrate `digital_interrupts` into your machine in the `attributes` of your board by adding the following to your board's JSON configuration: +Integrate `digital_interrupts` into your machine in the `attributes` of your board by following the **Config Builder** instructions, or by adding the following to your board's JSON configuration: {{< tabs name="Configure a Digital Interrupt" >}} +{{% tab name="Config Builder" %}} + +On your boards panel, click **Show more**, then select **Add digital interrupt**. +Assign a name to your digital interrupt and then enter a pin number. + +![An example configuration for digital interrupts in the Viam app Config Builder.](/components/board/digital-interrupts-ui-config.png) + +{{% /tab %}} {{% tab name="JSON Template" %}} ```json {class="line-numbers linkable-line-numbers"} @@ -57,3 +65,10 @@ The following properties are available for `digital_interrupts`: |`name` | string | **Required** | Your name for the digital interrupt. | |`pin`| string | **Required** | The {{< glossary_tooltip term_id="pin-number" text="pin number" >}} of the board's GPIO pin that you wish to configure the digital interrupt for. | |`type`| string | Optional | _Only applies to `pi` model boards._ | + +#### Test `digital interrupts` + +Once you have configured your digital interrupts, navigate to the **Control** tab to monitor interrupt activity. +The value displayed next to each interrupt name represent the total count of interrupts triggered by the corresponding digital interrupt. + +![Digital interrupts in the control tab.](/components/board/digital-interrupts-control-tab.png)