package main import ( "os" log "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" "github.com/dhogborg/rtl-gopow/internal/gopow" ) func main() { app := cli.NewApp() app.Name = "RTL GoPow" app.Usage = "Render a rtl_power CSV output as waterfall image" app.Version = "0.0.1" app.Author = "github.com/dhogborg" app.Email = "d@hogborg.se" app.Action = func(c *cli.Context) { if c.Bool("verbose") == true { log.SetLevel(log.DebugLevel) } else { log.SetLevel(log.InfoLevel) } pow, err := gopow.NewGoPow(c) if err != nil { log.WithFields(log.Fields{ "error": err.Error(), }).Fatal("load failed") return } err = pow.Render() if err != nil { log.WithFields(log.Fields{ "error": err.Error(), }).Fatal("render failed") return } err = pow.Write() if err != nil { log.WithFields(log.Fields{ "error": err.Error(), }).Fatal("write failed") return } } app.Flags = []cli.Flag{ cli.StringFlag{ Name: "input,i", Value: "", Usage: "CSV input file generated by rtl_power [required]", }, cli.StringFlag{ Name: "output,o", Value: "", Usage: "Output file, default same as input file with new extension", }, cli.StringFlag{ Name: "format,f", Value: "png", Usage: "Output file format, default png [png,jpeg]", }, cli.BoolFlag{ Name: "verbose", Usage: "Enable more verbose output", }, cli.BoolFlag{ Name: "no-annotations", Usage: "Disabled annotations such as time and frequency scales", }, } app.Run(os.Args) }