Files
rtl-gopow/gopow.go
2016-01-24 15:17:27 +01:00

93 lines
1.7 KiB
Go

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.3"
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",
},
}
app.Run(os.Args)
}