summaryrefslogtreecommitdiff
path: root/src/camera.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/camera.go')
-rw-r--r--src/camera.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/camera.go b/src/camera.go
index 12a9d54..197aa21 100644
--- a/src/camera.go
+++ b/src/camera.go
@@ -2,6 +2,10 @@
package main
+import (
+ "time"
+)
+
type Camera struct {
statemachine Machine
}
@@ -29,10 +33,22 @@ func NewCamera() Camera {
},
api: make(chan string),
state_listeners: make([]*(chan string), 0),
+ hook: runCameraHooks,
},
}
}
+func runCameraHooks(last string, next string) {
+
+ if last == "idle" && next == "single_picture" {
+ // TODO implement launch of python subprocess here
+ go func() {
+ time.Sleep(1 * time.Second)
+ camera.statemachine.SendEvent("single_picture_taken")
+ }()
+ }
+}
+
func (cam *Camera) run() {
cam.statemachine.Run()
}