From 75d2df1aa5a7ec0518ea6cfe51d6ca8f44226649 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sat, 24 Sep 2022 17:24:37 -0700 Subject: [PATCH] Document state transitions --- ultrasonic2relay/main.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ultrasonic2relay/main.go b/ultrasonic2relay/main.go index f84da04..d03f369 100644 --- a/ultrasonic2relay/main.go +++ b/ultrasonic2relay/main.go @@ -84,6 +84,13 @@ func main() { } } + // States: + // on 0, off *, r Off, onUntil zero -> stable + // on 1, off *, r Off, onUntil zero -> turn on + // on *, off *, r On, onUntil future -> stay on + // on *, off *, r On, onUntil past -> turn off + // on *, off all, r Off, onUntil past -> reset state + if on > 0 { // At least one on, turn on if onUntil.IsZero() { @@ -97,6 +104,7 @@ func main() { } } + // Time target expired if !onUntil.IsZero() && onUntil.Before(time.Now()) { r.Off() }