package cli import ( "fmt" "io" "text/tabwriter" "git.cryptic.systems/volker.raschek/flucky/pkg/types" ) func PrintMeasuredValues(measuredValues []*types.MeasuredValue, w io.Writer) error { // declar tabwriter tw := tabwriter.NewWriter(w, 0, 0, 3, ' ', 0) fmt.Fprint(tw, "timestamp\ttype\tvalue\n") for i := range measuredValues { fmt.Fprintf(tw, "%v\t%v\t%v\n", measuredValues[i].Date.String(), measuredValues[i].ValueType, measuredValues[i].Value) } err := tw.Flush() if err != nil { return err } return nil } // PrintSensors displays a list with all configured sensors func PrintSensors(sensors []*types.Sensor, w io.Writer) error { // declar tabwriter tw := tabwriter.NewWriter(w, 0, 0, 3, ' ', 0) fmt.Fprint(tw, "name\tlocation\ttype\twire-id\ti2c-bus\ti2c-address\tgpio\ttick-duration\tenabled\n") for _, sensor := range sensors { fmt.Fprintf(tw, "%v\t%v\t%v\t", sensor.Name, sensor.Location, sensor.Model) if sensor.WireID != nil { fmt.Fprintf(tw, "%v\t", *sensor.WireID) } else { fmt.Fprintf(tw, "\t") } if sensor.I2CBus != nil { fmt.Fprintf(tw, "%v\t", *sensor.I2CBus) } else { fmt.Fprintf(tw, "\t") } if sensor.I2CAddress != nil { fmt.Fprintf(tw, "%#v\t", *sensor.I2CAddress) } else { fmt.Fprintf(tw, "\t") } fmt.Fprintf(tw, "%v\t", sensor.GPIONumber) fmt.Fprintf(tw, "%v\t%v\n", sensor.TickDuration, sensor.Enabled) } err := tw.Flush() if err != nil { return err } return nil }