From b8a07953ddf4261e8761545daabd782979671e71 Mon Sep 17 00:00:00 2001 From: William Petit Date: Sun, 18 Aug 2019 20:32:19 +0200 Subject: [PATCH] Add new command to do a basic JSON dump of a Reachview module configuration --- cmd/configdump/main.go | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 cmd/configdump/main.go diff --git a/cmd/configdump/main.go b/cmd/configdump/main.go new file mode 100644 index 0000000..08304aa --- /dev/null +++ b/cmd/configdump/main.go @@ -0,0 +1,64 @@ +package main + +import ( + "context" + "encoding/json" + "flag" + "fmt" + "log" + "time" + + "forge.cadoles.com/Pyxis/orion/emlid" + "forge.cadoles.com/Pyxis/orion/emlid/reachview" +) + +var ( + host = "192.168.42.1" +) + +func init() { + flag.StringVar(&host, "host", host, "ReachRS module host") +} + +func main() { + + flag.Parse() + + c := connect() + defer c.Close() + + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) + defer cancel() + + config, err := c.Configuration(ctx) + if err != nil { + log.Fatal(err) + } + + data, err := json.MarshalIndent(config, "", " ") + if err != nil { + log.Fatal(err) + } + + fmt.Println(string(data)) + + log.Println("done") + +} + +func connect() *reachview.Client { + + c := reachview.NewClient( + emlid.WithEndpoint(host, 80), + ) + + log.Printf("connecting to module '%s'", host) + if err := c.Connect(); err != nil { + log.Fatal(err) + } + + log.Println("connected") + + return c + +}