timer_gpio Timer GPIO example
This example uses the timer interrupt to periodically change the state of a digital output. The digital output may be a relay, a led or anything else. This example can be very useful to validate timer drivers by using a logic analyzer connected to the digital output. This example mainly differs from the timer example because it waits on a sigwaitinfo() instead of using a signal handler. This approach ensures a deterministic wake-up time when the signal occurs.
Dependencies:
- CONFIG_TIMER– The timer driver must be selected.
- CONFIG_DEV_GPIO– The GPIO driver must be selected.
Note: You should also select one timer instance and have the gpio driver properly configured in your board logic.
Example configuration:
- EXAMPLES_TIMER_GPIO_TIM_DEVNAME– This is the name of the timer device
- that will be used. Default: - /dev/timer0.
 
- EXAMPLES_TIMER_GPIO_GPIO_DEVNAME– This is the name of the gpio device
- that will be used. Default: - /dev/gpio0.
 
- EXAMPLES_TIMER_GPIO_INTERVAL– This is the timer interval in
- microseconds. Default: - 1000000.
 
- EXAMPLES_TIMER_GPIO_SIGNO– This is the signal number that is used to
- notify that a timer interrupt occurred. Default: - 32.
 
- EXAMPLES_TIMER_GPIO_STACKSIZE– This is the stack size allocated when the
- timer task runs. Default: - 2048.
 
- EXAMPLES_TIMER_GPIO_PRIORITY– This is the priority of the timer task. Default:- 255.
- EXAMPLES_TIMER_GPIO_PROGNAME– This is the name of the program that will
- be used from the nsh. Default: - timer_gpio.