kopia lustrzana https://github.com/cyoung/stratux
AHRS settings in the UI
rodzic
a6f9aaf9f5
commit
338f1cc934
|
@ -1092,6 +1092,8 @@ type settings struct {
|
||||||
OwnshipModeS string
|
OwnshipModeS string
|
||||||
WatchList string
|
WatchList string
|
||||||
DeveloperMode bool
|
DeveloperMode bool
|
||||||
|
AHRSSmoothingConstant float64
|
||||||
|
AHRSGPSWeight float64
|
||||||
StaticIps []string
|
StaticIps []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -324,6 +324,16 @@ func handleSettingsSetRequest(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
case "WatchList":
|
case "WatchList":
|
||||||
globalSettings.WatchList = val.(string)
|
globalSettings.WatchList = val.(string)
|
||||||
|
case "AHRSSmoothingConstant":
|
||||||
|
log.Printf("AHRS Info: received %s for Smoothing Const\n", val)
|
||||||
|
globalSettings.AHRSSmoothingConstant = val.(float64)
|
||||||
|
SetAHRSConfig(globalSettings.AHRSSmoothingConstant, globalSettings.AHRSGPSWeight)
|
||||||
|
log.Printf("AHRS Info: Smoothing Constant set to %6f\n", globalSettings.AHRSSmoothingConstant)
|
||||||
|
case "AHRSGPSWeight":
|
||||||
|
log.Printf("AHRS Info: received %s for GPS Weight\n", val)
|
||||||
|
globalSettings.AHRSGPSWeight = val.(float64)
|
||||||
|
SetAHRSConfig(globalSettings.AHRSSmoothingConstant, globalSettings.AHRSGPSWeight)
|
||||||
|
log.Printf("AHRS Info: GPS Weight set to %6f\n", globalSettings.AHRSGPSWeight)
|
||||||
case "OwnshipModeS":
|
case "OwnshipModeS":
|
||||||
// Expecting a hex string less than 6 characters (24 bits) long.
|
// Expecting a hex string less than 6 characters (24 bits) long.
|
||||||
if len(val.(string)) > 6 { // Too long.
|
if len(val.(string)) > 6 { // Too long.
|
||||||
|
|
|
@ -149,6 +149,7 @@ func sensorAttitudeSender() {
|
||||||
)
|
)
|
||||||
log.Println("AHRS Info: initializing new Simple AHRS")
|
log.Println("AHRS Info: initializing new Simple AHRS")
|
||||||
s = ahrs.InitializeSimple()
|
s = ahrs.InitializeSimple()
|
||||||
|
SetAHRSConfig(globalSettings.AHRSSmoothingConstant, globalSettings.AHRSGPSWeight)
|
||||||
m = ahrs.NewMeasurement()
|
m = ahrs.NewMeasurement()
|
||||||
cage = make(chan (bool), 1)
|
cage = make(chan (bool), 1)
|
||||||
|
|
||||||
|
@ -355,6 +356,11 @@ func CageAHRS() {
|
||||||
cage <- true
|
cage <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetAHRSConfig TODO westphae remove after debugging
|
||||||
|
func SetAHRSConfig(smoothConst, weight float64) {
|
||||||
|
ahrs.SetConfig(smoothConst, weight)
|
||||||
|
}
|
||||||
|
|
||||||
func updateAHRSStatus() {
|
func updateAHRSStatus() {
|
||||||
var (
|
var (
|
||||||
msg uint8
|
msg uint8
|
||||||
|
|
|
@ -37,6 +37,8 @@ function SettingsCtrl($rootScope, $scope, $state, $location, $window, $http) {
|
||||||
|
|
||||||
$scope.PPM = settings.PPM;
|
$scope.PPM = settings.PPM;
|
||||||
$scope.WatchList = settings.WatchList;
|
$scope.WatchList = settings.WatchList;
|
||||||
|
$scope.AHRSSmoothingConstant = settings.AHRSSmoothingConstant;
|
||||||
|
$scope.AHRSGPSWeight = settings.AHRSGPSWeight;
|
||||||
$scope.OwnshipModeS = settings.OwnshipModeS;
|
$scope.OwnshipModeS = settings.OwnshipModeS;
|
||||||
$scope.DeveloperMode = settings.DeveloperMode;
|
$scope.DeveloperMode = settings.DeveloperMode;
|
||||||
}
|
}
|
||||||
|
@ -114,14 +116,42 @@ function SettingsCtrl($rootScope, $scope, $state, $location, $window, $http) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.updatewatchlist = function () {
|
$scope.updatewatchlist = function () {
|
||||||
if ($scope.WatchList !== settings["WatchList"]) {
|
if ($scope.WatchList !== settings["WatchList"]) {
|
||||||
settings["WatchList"] = "";
|
settings["WatchList"] = "";
|
||||||
if ($scope.WatchList !== undefined) {
|
if ($scope.WatchList !== undefined) {
|
||||||
settings["WatchList"] = $scope.WatchList.toUpperCase();
|
settings["WatchList"] = $scope.WatchList.toUpperCase();
|
||||||
|
}
|
||||||
|
newsettings = {
|
||||||
|
"WatchList": settings["WatchList"]
|
||||||
|
};
|
||||||
|
// console.log(angular.toJson(newsettings));
|
||||||
|
setSettings(angular.toJson(newsettings));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.updateAHRSSmoothingConst = function () {
|
||||||
|
if ($scope.AHRSSmoothingConstant !== settings["AHRSSmoothingConstant"]) {
|
||||||
|
settings["AHRSSmoothingConstant"] = "0.8";
|
||||||
|
if ($scope.AHRSSmoothingConstant!== undefined) {
|
||||||
|
settings["AHRSSmoothingConstant"] = parseFloat($scope.AHRSSmoothingConstant);
|
||||||
|
}
|
||||||
|
newsettings = {
|
||||||
|
"AHRSSmoothingConstant": settings["AHRSSmoothingConstant"]
|
||||||
|
};
|
||||||
|
// console.log(angular.toJson(newsettings));
|
||||||
|
setSettings(angular.toJson(newsettings));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.updateAHRSGPSWeight = function () {
|
||||||
|
if ($scope.AHRSGPSWeight !== settings["AHRSGPSWeight"]) {
|
||||||
|
settings["AHRSGPSWeight"] = "0.05";
|
||||||
|
if ($scope.AHRSGPSWeight!== undefined) {
|
||||||
|
settings["AHRSGPSWeight"] = parseFloat($scope.AHRSGPSWeight);
|
||||||
}
|
}
|
||||||
newsettings = {
|
newsettings = {
|
||||||
"WatchList": settings["WatchList"]
|
"AHRSGPSWeight": settings["AHRSGPSWeight"]
|
||||||
};
|
};
|
||||||
// console.log(angular.toJson(newsettings));
|
// console.log(angular.toJson(newsettings));
|
||||||
setSettings(angular.toJson(newsettings));
|
setSettings(angular.toJson(newsettings));
|
||||||
|
|
|
@ -82,9 +82,25 @@
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<span style="position:relative; overflow: hidden;">
|
<span style="position:relative; overflow: hidden;">
|
||||||
<button class="btn btn-primary btn-block" ui-turn-on="modalCalibrateForward">Set AHRS Sensor Orientation</button>
|
<button class="btn btn-primary btn-block" ui-turn-on="modalCalibrateForward">
|
||||||
|
Set AHRS Sensor Orientation
|
||||||
|
</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group reset-flow">
|
||||||
|
<label class="control-label col-xs-5">AHRS Smoothing Constant</label>
|
||||||
|
<form name="watchForm" ng-submit="updateAHRSSmoothingConst()" novalidate>
|
||||||
|
<input class="col-xs-7" type="string" required ng-model="AHRSSmoothingConstant"
|
||||||
|
placeholder="number 0-1" ng-blur="updateAHRSSmoothingConst()" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="form-group reset-flow">
|
||||||
|
<label class="control-label col-xs-5">AHRS GPS Weight</label>
|
||||||
|
<form name="watchForm" ng-submit="updateAHRSGPSWeight()" novalidate>
|
||||||
|
<input class="col-xs-7" type="string" required ng-model="AHRSGPSWeight"
|
||||||
|
placeholder="number 0-1" ng-blur="updateAHRSGPSWeight()" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Ładowanie…
Reference in New Issue