stateDiagram-v2
direction LR
prj_conf : CONFIG_GPIO=y
note right of prj_conf : This enables gpio.h to be included
overlay : nrf52833dk_nrf52833.overlay
overlay : Enable the GPIO ports/pins
overlay : Create aliases
state "main.c" as mainc {
Preamble : Create GPIO struct from DT alias
Preamble : Declare and define callback function
state "main()" as main {
state "Configure port & pin" as config {
direction LR
[*] --> configA
configA : Check GPIO port is ready
configA --> configB
configB : Configure/initialize GPIO pin
}
state "Associate GPIO pin with ISR/CB" as isrcb {
direction LR
[*] --> isrcbA
isrcbA : Attach interrupt to pin
isrcbA --> isrcbB
isrcbB : Declare and initialize callback function
isrcbB --> isrcbC
isrcbC : Activate (add) the callback
}
config --> isrcb
}
}
prj_conf --> overlay
overlay --> mainc

