package main import ( "os" "github.com/codegangsta/cli" log "github.com/sirupsen/logrus" "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.4" 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.Float64Flag{ Name: "max-power", Value: 0, Usage: "Define a manual maximum power (format nn.n)", }, cli.Float64Flag{ Name: "min-power", Value: 0, Usage: "Define a manual minimum power (format nn.n)", }, cli.BoolFlag{ Name: "verbose", Usage: "Enable more verbose output", }, cli.BoolFlag{ Name: "no-annotations", Usage: "Disabled annotations such as time and frequency scales", }, cli.StringFlag{ Name: "palette", Usage: "Select the palette for output image. [spectrum,yellow]", Value: "spectrum", }, } app.Run(os.Args) }