From 1d1e855820683fb8f2ebe98ae160969662c4cb3e Mon Sep 17 00:00:00 2001
From: Kevin Lyda <kevin@ie.suberic.net>
Date: Wed, 1 Feb 2017 21:36:13 +0000
Subject: [PATCH] Work on GetConfiguration.

---
 cmd/gqgmc/main.go        | 20 ++++++++++++++------
 devices/geiger/geiger.go |  2 +-
 devices/geiger/gqgmc.go  | 11 ++++++-----
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/cmd/gqgmc/main.go b/cmd/gqgmc/main.go
index 9ae1acb..e22f9eb 100644
--- a/cmd/gqgmc/main.go
+++ b/cmd/gqgmc/main.go
@@ -36,20 +36,23 @@ func main() {
 	t, err = gc.GetTime()
 	if err != nil {
 		fmt.Printf("Failed: '%s'\n", err)
+	} else {
+		fmt.Printf("Time: %s\n", t)
 	}
-	fmt.Printf("Time: %s\n", t)
 
 	cpm, err = gc.GetCPM()
 	if err != nil {
 		fmt.Printf("CPM failed: '%s'\n", err)
+	} else {
+		fmt.Printf("CPM: %d\n", cpm)
 	}
-	fmt.Printf("CPM: %d\n", cpm)
 
 	cps, err = gc.GetCPS()
 	if err != nil {
 		fmt.Printf("CPS failed: '%s'\n", err)
+	} else {
+		fmt.Printf("CPS: %d\n", cps)
 	}
-	fmt.Printf("CPS: %d\n", cps)
 
 	fmt.Printf("Version: %s\n", gc.Version())
 	fmt.Printf("Model: %s\n", gc.Model())
@@ -58,15 +61,20 @@ func main() {
 	volts, err = gc.Volts()
 	if err != nil {
 		fmt.Printf("Volts failed: '%s'\n", err)
+	} else {
+		fmt.Printf("Volts: %d\n", volts)
 	}
-	fmt.Printf("Volts: %d\n", volts)
 
 	temp, err = gc.GetTemp()
 	if err != nil {
 		fmt.Printf("Temp failed: '%s'\n", err)
+	} else {
+		fmt.Printf("Temp: %g\n", temp)
 	}
-	fmt.Printf("Temp: %g\n", temp)
 
-	gc.GetConfiguration()
+	err = gc.GetConfiguration()
+	if err != nil {
+		fmt.Printf("Failed to get config: '%s'\n", err)
+	}
 
 }
diff --git a/devices/geiger/geiger.go b/devices/geiger/geiger.go
index 27e2e2e..60d1e60 100644
--- a/devices/geiger/geiger.go
+++ b/devices/geiger/geiger.go
@@ -32,7 +32,7 @@ type Counter interface {
 	TurnOffCPS() error
 	GetAutoCPS() (uint16, error)
 	TurnOffPower()
-	GetConfiguration()
+	GetConfiguration() error
 	SetConfiguration()
 	SetTime(time.Time)
 	GetTime() (time.Time, error)
diff --git a/devices/geiger/gqgmc.go b/devices/geiger/gqgmc.go
index 11c365c..717f118 100644
--- a/devices/geiger/gqgmc.go
+++ b/devices/geiger/gqgmc.go
@@ -235,19 +235,20 @@ func (gc *GQGMCCounter) TurnOffPower() {
 }
 
 // GetConfiguration reads configuration data
-func (gc *GQGMCCounter) GetConfiguration() {
+func (gc *GQGMCCounter) GetConfiguration() error {
 	if !gc.supportedModels(mod280n300) {
-		return
+		return errors.New("Unsupported Model")
 	}
 	if gc.versionLT("Re 2.10") {
-		return
+		return errors.New("Unsupported version")
 	}
 
 	cfg, err := gc.communicate(cmdGetCfg, 256)
 	if err != nil {
-		return
+		return err
 	}
-	fmt.Printf("%+v\n", cfg)
+	fmt.Printf("Configuration: %+v\n", cfg)
+	return nil
 }
 
 // SetConfiguration writes configuration data
-- 
GitLab