# Copyright (c) 2018, Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

description: Nordic nRF quadrature decoder (QDEC) node

compatible: "nordic,nrf-qdec"

include: base.yaml

properties:
    reg:
      required: true

    interrupts:
      required: true

    a-pin:
      type: int
      required: true
      description: |
        The A pin to use.

        For pins P0.0 through P0.31, use the pin number. For example,
        to use P0.16 for the A pin, set:

            a-pin = <16>;

        For pins P1.0 through P1.31, add 32 to the pin number. For
        example, to use P1.2 for the A pin, set:

            a-pin = <34>;  /* 32 + 2 */

    b-pin:
      type: int
      required: true
      description: |
        The B pin to use. The pin numbering scheme is the same as
        the a-pin property's.

    led-pin:
      type: int
      required: false
      description: |
        The LED pin to use for a light based QDEC device. The pin
        numbering scheme is the same as the a-pin property's.

    enable-pin:
      type: int
      required: false
      description: |
        The enable pin to use, to enable a connected QDEC device. The
        pin numbering scheme is the same as the a-pin property's.

    led-pre:
      type: int
      description: Time LED is enabled prior to sampling event (in us)
      required: true

    steps:
      type: int
      description: Number of steps on the rotating wheel
      required: true

    label:
      required: true
