From c34592e3473046e07c581712cb617465f8e49e79 Mon Sep 17 00:00:00 2001 From: Eric Westphal Date: Sun, 5 Mar 2017 09:16:50 -0500 Subject: [PATCH] Refactor ahrs.InitializeSimple to separate logging from initialization. --- main/sensors.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/main/sensors.go b/main/sensors.go index df745a6e..00c891fc 100644 --- a/main/sensors.go +++ b/main/sensors.go @@ -163,11 +163,14 @@ func sensorAttitudeSender() { failnum uint8 ) log.Println("AHRS Info: initializing new simple AHRS") - s = ahrs.InitializeSimple(fmt.Sprintf("/var/log/sensors_%s.csv", time.Now().Format("20060102_150405"))) - defer s.Stop() + s = ahrs.InitializeSimple() m = ahrs.NewMeasurement() cage = make(chan(bool)) + // Set up loggers for analysis + analysisFilename := fmt.Sprintf("/var/log/sensors_%s.csv", time.Now().Format("20060102_150405")) + analysisLogger := ahrs.NewAHRSLogger(analysisFilename, s.GetLogMap()) + ahrswebListener, err := ahrsweb.NewKalmanListener() if err != nil { log.Printf("AHRS Error: couldn't start ahrswebListener: %s\n", err.Error()) @@ -270,6 +273,11 @@ func sensorAttitudeSender() { // Run the AHRS calcs s.Compute(m) + // Log it to csv for analysis + if analysisFilename != "" { + analysisLogger.Log() + } + // Debugging server: if ahrswebListener != nil { if err = ahrswebListener.Send(s.GetState(), m); err != nil { @@ -317,7 +325,6 @@ func sensorAttitudeSender() { // makeFFAHRSSimReport() // simultaneous use of GDL90 and FFSIM not supported in FF 7.5.1 or later. Function definition will be kept for AHRS debugging and future workarounds. } else { s.Reset() - mySituation.LastAttitudeTime = time.Time{} } makeAHRSGDL90Report() // Send whether or not valid - the function will invalidate the values as appropriate