diff options
author | xengineering <mail2xengineering@protonmail.com> | 2021-06-13 12:54:28 +0200 |
---|---|---|
committer | xengineering <mail2xengineering@protonmail.com> | 2021-06-13 13:01:26 +0200 |
commit | 9d5a2f9870e52bfc0fe6db8c27981f29d91dcb55 (patch) | |
tree | e3856fbbd1bc7c429472d950e7f1d46e5cf2fae3 /src/main.go | |
parent | c015034ba2e0bfd8464ae444792552a4b354eb0d (diff) | |
download | birdscan-9d5a2f9870e52bfc0fe6db8c27981f29d91dcb55.tar birdscan-9d5a2f9870e52bfc0fe6db8c27981f29d91dcb55.tar.zst birdscan-9d5a2f9870e52bfc0fe6db8c27981f29d91dcb55.zip |
Implement working State Machine
Diffstat (limited to 'src/main.go')
-rw-r--r-- | src/main.go | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/main.go b/src/main.go index dfcf706..af82e8f 100644 --- a/src/main.go +++ b/src/main.go @@ -5,25 +5,40 @@ package main import ( "flag" "log" - "time" "os" "io/ioutil" "encoding/json" ) +var ( + camera Machine +) + type config struct { WebConfig webConfig `json:"webserver"` } func main() { + + // read command line arguments configPath := readFlags() + + // set up log and print startup message log.SetFlags(0) // disable timestamp because systemd takes care of that log.Println("Starting birdscan") + + // read config file cfg := readConfig(configPath) - go runServer(&cfg.WebConfig) - for { - time.Sleep(1 * time.Second) - } + + // setup camera state machine + camera = newCamStateMachine() + + // start goroutines + server := NewWebServer(&cfg.WebConfig) + go server.run() // http server + + // run camera state machine + camera.run() } func readFlags() string { |