Add UI switch to record AHRS logs.

pull/578/head
Eric Westphal 2017-03-05 18:34:25 -05:00
rodzic 1344515c93
commit f1ff15031f
5 zmienionych plików z 24 dodań i 6 usunięć

Wyświetl plik

@ -1040,6 +1040,7 @@ type settings struct {
DisplayTrafficSource bool
DEBUG bool
ReplayLog bool
AHRSLog bool
IMUMapping [2]int // Map from aircraft axis to sensor axis: accelerometer
PPM int
OwnshipModeS string
@ -1110,6 +1111,7 @@ func defaultSettings() {
globalSettings.DEBUG = false
globalSettings.DisplayTrafficSource = false
globalSettings.ReplayLog = false //TODO: 'true' for debug builds.
globalSettings.AHRSLog = false
globalSettings.IMUMapping = [2]int{-1, -3} // OpenFlightBox AHRS normal mapping
globalSettings.OwnshipModeS = "F00000"
globalSettings.DeveloperMode = false

Wyświetl plik

@ -293,6 +293,8 @@ func handleSettingsSetRequest(w http.ResponseWriter, r *http.Request) {
if v != globalSettings.ReplayLog { // Don't mark the files unless there is a change.
globalSettings.ReplayLog = v
}
case "AHRSLog":
globalSettings.AHRSLog = val.(bool)
case "IMUMapping":
if globalSettings.IMUMapping != val.([2]int) {
globalSettings.IMUMapping = val.([2]int)

Wyświetl plik

@ -161,6 +161,7 @@ func sensorAttitudeSender() {
headingMag, slipSkid, turnRate, gLoad float64
errHeadingMag, errSlipSkid, errTurnRate, errGLoad error
failnum uint8
analysisLogger *ahrs.AHRSLogger
)
log.Println("AHRS Info: initializing new simple AHRS")
s = ahrs.InitializeSimple()
@ -168,9 +169,6 @@ func sensorAttitudeSender() {
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())
@ -274,8 +272,17 @@ func sensorAttitudeSender() {
s.Compute(m)
// Log it to csv for analysis
if analysisFilename != "" {
analysisLogger.Log()
if globalSettings.AHRSLog {
if analysisLogger == nil {
analysisFilename := fmt.Sprintf("/var/log/sensors_%s.csv", time.Now().Format("20060102_150405"))
analysisLogger = ahrs.NewAHRSLogger(analysisFilename, s.GetLogMap())
}
if analysisLogger != nil {
analysisLogger.Log()
}
} else {
analysisLogger = nil
}
// Debugging server:

Wyświetl plik

@ -7,7 +7,7 @@ function SettingsCtrl($rootScope, $scope, $state, $location, $window, $http) {
$scope.$parent.helppage = 'plates/settings-help.html';
var toggles = ['UAT_Enabled', 'ES_Enabled', 'Ping_Enabled', 'GPS_Enabled', 'IMU_Sensor_Enabled',
'BMP_Sensor_Enabled', 'DisplayTrafficSource', 'DEBUG', 'ReplayLog'];
'BMP_Sensor_Enabled', 'DisplayTrafficSource', 'DEBUG', 'ReplayLog', 'AHRSLog'];
var settings = {};
for (i = 0; i < toggles.length; i++) {
settings[toggles[i]] = undefined;
@ -32,6 +32,7 @@ function SettingsCtrl($rootScope, $scope, $state, $location, $window, $http) {
$scope.DisplayTrafficSource = settings.DisplayTrafficSource;
$scope.DEBUG = settings.DEBUG;
$scope.ReplayLog = settings.ReplayLog;
$scope.AHRSLog = settings.AHRSLog;
$scope.PPM = settings.PPM;
$scope.WatchList = settings.WatchList;
$scope.OwnshipModeS = settings.OwnshipModeS;

Wyświetl plik

@ -66,6 +66,12 @@
<ui-switch ng-model='ReplayLog' settings-change></ui-switch>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-7">Record AHRS Logs</label>
<div class="col-xs-5">
<ui-switch ng-model='AHRSLog' settings-change></ui-switch>
</div>
</div>
</div>
</div>
</div>