From 13fcb9776df7ed7be3e2391dc3abb8ca96383c0d Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Sun, 16 Jun 2019 20:51:28 +0200 Subject: [PATCH] fix(pkg/daemon): turn on/off info lights --- pkg/daemon/daemon.go | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/pkg/daemon/daemon.go b/pkg/daemon/daemon.go index 0f34eda..f0b7490 100644 --- a/pkg/daemon/daemon.go +++ b/pkg/daemon/daemon.go @@ -10,6 +10,7 @@ import ( "github.com/go-flucky/flucky/pkg/config" "github.com/go-flucky/flucky/pkg/logfile" + "github.com/go-flucky/flucky/pkg/rgbled" "github.com/go-flucky/flucky/pkg/sensor" "github.com/go-flucky/flucky/pkg/types" ) @@ -29,20 +30,36 @@ func Start(cnf *config.Configuration, compression bool) error { temperatures := make([]*types.Temperature, 0) - ticker := time.Tick(time.Second * 60) + ticker := time.Tick(time.Second * 300) + + rgbLEDs := cnf.GetRGBLEDs(config.ENABLED) + err := rgbled.Green(rgbLEDs) + if err != nil { + return fmt.Errorf("Can not turn on blue info light: %v", err) + } for { select { case <-ticker: + err := rgbled.Blue(rgbLEDs) + if err != nil { + return fmt.Errorf("Can not turn on yellow info light: %v", err) + } + log.Printf("Write measured values into logfile") log.Printf("%v new measured temperature values", len(temperatures)) - err := logfile.WriteTemperatures(temperatures, cnf.Device.TemperatureLogfile, compression) + err = logfile.WriteTemperatures(temperatures, cnf.Device.TemperatureLogfile, compression) if err != nil { return fmt.Errorf("Can not save temperatures: %v", err) } temperatures = make([]*types.Temperature, 0) + err = rgbled.Green(rgbLEDs) + if err != nil { + return fmt.Errorf("Can not turn on green info light: %v", err) + } + case temperature, more := <-temperatureChannel: if more { temperatures = append(temperatures, temperature) @@ -55,6 +72,11 @@ func Start(cnf *config.Configuration, compression bool) error { } case killSignal := <-interrupt: + err := rgbled.Red(rgbLEDs) + if err != nil { + return fmt.Errorf("Can not turn on info light: %v", err) + } + //close(humidityChannel) close(temperatureChannel) return fmt.Errorf("Daemon was interruped by system signal %v", killSignal)