Use the ConfigHelper as an intermediary to register GPIO event
pins. This allows for parsing exceptions to be captured and
properly re-raised as Config Errors.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Use a traditional debouncing method, waiting for a specified
debounce period before triggering events. Consumers may
choose to futher ignore events based on the the duration
between events.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Adds support for GPIO buttons. Each button is configured to render
a template when pressed and/or released. The button event
templates recieve a context with a "call_method" field, allowing
them to call nearly all Moonraker APIs.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>