PKGBUILD/pkg/daemon/daemon.go
Markus Pesch 5220eac16b
fix: breaking changes
changes:
- remove remote operations
- add function to write measured values into a channel
- add get humidity sensors from config
- add get temperature sensors from config
- remove FileLogger
- exclude some functions from pkf into internal
2019-06-13 22:15:48 +02:00

34 lines
771 B
Go

package daemon
import (
"fmt"
"os"
"os/signal"
"syscall"
"github.com/volker-raschek/flucky/pkg/config"
"github.com/volker-raschek/flucky/pkg/sensor"
"github.com/volker-raschek/flucky/pkg/types"
)
// Start the daemon
func Start(cnf *config.FluckyConfig) error {
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt, os.Kill, syscall.SIGTERM)
humidityChannel := make(chan *types.Humidity)
temperatureChannel := make(chan *types.Temperature)
go sensor.ReadHumiditiesContinuously(humiditySensors, humidityChannel)
go sensor.ReadTemperaturesContinuously(temperatureSensors, temperatureChannel)
for {
select {
case killSignal := <-interrupt:
return fmt.Errorf("Daemon was interruped by system signal %v", killSignal)
}
}
}