Increasing calibration points to 10

This commit is contained in:
Magnus Persson 2022-04-24 18:15:37 +02:00
parent 5b267210d2
commit c685c18b57
5 changed files with 56 additions and 1 deletions

View File

@ -142,6 +142,18 @@
<div class="col-sm-4"><input type="number" min="0" max="26" step="0.0001" class="form-control" name="g8" id="g8"></div> <div class="col-sm-4"><input type="number" min="0" max="26" step="0.0001" class="form-control" name="g8" id="g8"></div>
</div> </div>
<div class="row mb-3">
<label for="angle9" class="col-sm-1 col-form-label">9.</label>
<div class="col-sm-4"><input type="number" min="0" max="90" step="0.001" class="form-control" name="a9" id="a9"></div>
<div class="col-sm-4"><input type="number" min="0" max="26" step="0.0001" class="form-control" name="g9" id="g9"></div>
</div>
<div class="row mb-3">
<label for="angle10" class="col-sm-1 col-form-label">10.</label>
<div class="col-sm-4"><input type="number" min="0" max="90" step="0.001" class="form-control" name="a10" id="a10"></div>
<div class="col-sm-4"><input type="number" min="0" max="26" step="0.0001" class="form-control" name="g10" id="g10"></div>
</div>
<div class="row mb-3"> <div class="row mb-3">
<div class="col-sm-8 offset-sm-1"><button type="submit" class="btn btn-primary" id="calculate-btn">Save & Calculate</button></div> <div class="col-sm-8 offset-sm-1"><button type="submit" class="btn btn-primary" id="calculate-btn">Save & Calculate</button></div>
</div> </div>
@ -240,6 +252,8 @@
g6.onchange = setGravityDecimal g6.onchange = setGravityDecimal
g7.onchange = setGravityDecimal g7.onchange = setGravityDecimal
g8.onchange = setGravityDecimal g8.onchange = setGravityDecimal
g9.onchange = setGravityDecimal
g10.onchange = setGravityDecimal
a1.onchange = setAngleDecimal a1.onchange = setAngleDecimal
a2.onchange = setAngleDecimal a2.onchange = setAngleDecimal
@ -249,6 +263,8 @@
a6.onchange = setAngleDecimal a6.onchange = setAngleDecimal
a7.onchange = setAngleDecimal a7.onchange = setAngleDecimal
a8.onchange = setAngleDecimal a8.onchange = setAngleDecimal
a9.onchange = setAngleDecimal
a10.onchange = setAngleDecimal
window.onload = getConfig; window.onload = getConfig;
setButtonDisabled( true ); setButtonDisabled( true );
@ -319,6 +335,8 @@
populateChartForm( $("#a6").val(), $("#g6").val() ); populateChartForm( $("#a6").val(), $("#g6").val() );
populateChartForm( $("#a7").val(), $("#g7").val() ); populateChartForm( $("#a7").val(), $("#g7").val() );
populateChartForm( $("#a8").val(), $("#g8").val() ); populateChartForm( $("#a8").val(), $("#g8").val() );
populateChartForm( $("#a9").val(), $("#g9").val() );
populateChartForm( $("#a10").val(), $("#g10").val() );
if( myChart ) if( myChart )
myChart.destroy(); myChart.destroy();
@ -355,6 +373,11 @@
$("#g3").val( parseFloat(cfg["g3"]).toFixed(1) ); $("#g3").val( parseFloat(cfg["g3"]).toFixed(1) );
$("#g4").val( parseFloat(cfg["g4"]).toFixed(1) ); $("#g4").val( parseFloat(cfg["g4"]).toFixed(1) );
$("#g5").val( parseFloat(cfg["g5"]).toFixed(1) ); $("#g5").val( parseFloat(cfg["g5"]).toFixed(1) );
$("#g6").val( parseFloat(cfg["g6"]).toFixed(1) );
$("#g7").val( parseFloat(cfg["g7"]).toFixed(1) );
$("#g8").val( parseFloat(cfg["g8"]).toFixed(1) );
$("#g9").val( parseFloat(cfg["g9"]).toFixed(1) );
$("#g10").val( parseFloat(cfg["g10"]).toFixed(1) );
} else { } else {
$("#gravity-header").text("Gravity (SG):"); $("#gravity-header").text("Gravity (SG):");
$("#g1").val( parseFloat(cfg["g1"]).toFixed(4) ); $("#g1").val( parseFloat(cfg["g1"]).toFixed(4) );
@ -365,6 +388,8 @@
$("#g6").val( parseFloat(cfg["g6"]).toFixed(4) ); $("#g6").val( parseFloat(cfg["g6"]).toFixed(4) );
$("#g7").val( parseFloat(cfg["g7"]).toFixed(4) ); $("#g7").val( parseFloat(cfg["g7"]).toFixed(4) );
$("#g8").val( parseFloat(cfg["g8"]).toFixed(4) ); $("#g8").val( parseFloat(cfg["g8"]).toFixed(4) );
$("#g9").val( parseFloat(cfg["g9"]).toFixed(4) );
$("#g10").val( parseFloat(cfg["g10"]).toFixed(4) );
} }
$("#a1").val( parseFloat(cfg["a1"]).toFixed(2) ); $("#a1").val( parseFloat(cfg["a1"]).toFixed(2) );
@ -375,6 +400,8 @@
$("#a6").val( parseFloat(cfg["a6"]).toFixed(2) ); $("#a6").val( parseFloat(cfg["a6"]).toFixed(2) );
$("#a7").val( parseFloat(cfg["a7"]).toFixed(2) ); $("#a7").val( parseFloat(cfg["a7"]).toFixed(2) );
$("#a8").val( parseFloat(cfg["a8"]).toFixed(2) ); $("#a8").val( parseFloat(cfg["a8"]).toFixed(2) );
$("#a9").val( parseFloat(cfg["a9"]).toFixed(2) );
$("#a10").val( parseFloat(cfg["a10"]).toFixed(2) );
if( cfg["error"]!="" ) { if( cfg["error"]!="" ) {
showError(cfg["error"]); showError(cfg["error"]);

View File

@ -105,12 +105,22 @@ void Config::createJson(DynamicJsonDocument& doc) {
cal2["a3"] = reduceFloatPrecision(_formulaData.a[2], 2); cal2["a3"] = reduceFloatPrecision(_formulaData.a[2], 2);
cal2["a4"] = reduceFloatPrecision(_formulaData.a[3], 2); cal2["a4"] = reduceFloatPrecision(_formulaData.a[3], 2);
cal2["a5"] = reduceFloatPrecision(_formulaData.a[4], 2); cal2["a5"] = reduceFloatPrecision(_formulaData.a[4], 2);
cal2["a6"] = reduceFloatPrecision(_formulaData.a[5], 2);
cal2["a7"] = reduceFloatPrecision(_formulaData.a[6], 2);
cal2["a8"] = reduceFloatPrecision(_formulaData.a[7], 2);
cal2["a9"] = reduceFloatPrecision(_formulaData.a[8], 2);
cal2["a10"] = reduceFloatPrecision(_formulaData.a[9], 2);
cal2["g1"] = reduceFloatPrecision(_formulaData.g[0], 4); cal2["g1"] = reduceFloatPrecision(_formulaData.g[0], 4);
cal2["g2"] = reduceFloatPrecision(_formulaData.g[1], 4); cal2["g2"] = reduceFloatPrecision(_formulaData.g[1], 4);
cal2["g3"] = reduceFloatPrecision(_formulaData.g[2], 4); cal2["g3"] = reduceFloatPrecision(_formulaData.g[2], 4);
cal2["g4"] = reduceFloatPrecision(_formulaData.g[3], 4); cal2["g4"] = reduceFloatPrecision(_formulaData.g[3], 4);
cal2["g5"] = reduceFloatPrecision(_formulaData.g[4], 4); cal2["g5"] = reduceFloatPrecision(_formulaData.g[4], 4);
cal2["g6"] = reduceFloatPrecision(_formulaData.g[5], 4);
cal2["g7"] = reduceFloatPrecision(_formulaData.g[6], 4);
cal2["g8"] = reduceFloatPrecision(_formulaData.g[7], 4);
cal2["g9"] = reduceFloatPrecision(_formulaData.g[8], 4);
cal2["g10"] = reduceFloatPrecision(_formulaData.g[9], 4);
} }
// //
@ -283,6 +293,10 @@ bool Config::loadFile() {
_formulaData.a[6] = doc[PARAM_FORMULA_DATA]["a7"].as<double>(); _formulaData.a[6] = doc[PARAM_FORMULA_DATA]["a7"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a8"].isNull()) if (!doc[PARAM_FORMULA_DATA]["a8"].isNull())
_formulaData.a[7] = doc[PARAM_FORMULA_DATA]["a8"].as<double>(); _formulaData.a[7] = doc[PARAM_FORMULA_DATA]["a8"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a9"].isNull())
_formulaData.a[8] = doc[PARAM_FORMULA_DATA]["a9"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a10"].isNull())
_formulaData.a[9] = doc[PARAM_FORMULA_DATA]["a10"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g1"].isNull()) if (!doc[PARAM_FORMULA_DATA]["g1"].isNull())
_formulaData.g[0] = doc[PARAM_FORMULA_DATA]["g1"].as<double>(); _formulaData.g[0] = doc[PARAM_FORMULA_DATA]["g1"].as<double>();
@ -300,6 +314,10 @@ bool Config::loadFile() {
_formulaData.g[6] = doc[PARAM_FORMULA_DATA]["g7"].as<double>(); _formulaData.g[6] = doc[PARAM_FORMULA_DATA]["g7"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g8"].isNull()) if (!doc[PARAM_FORMULA_DATA]["g8"].isNull())
_formulaData.g[7] = doc[PARAM_FORMULA_DATA]["g8"].as<double>(); _formulaData.g[7] = doc[PARAM_FORMULA_DATA]["g8"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g9"].isNull())
_formulaData.g[8] = doc[PARAM_FORMULA_DATA]["g9"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g10"].isNull())
_formulaData.g[9] = doc[PARAM_FORMULA_DATA]["g10"].as<double>();
/*if( doc[PARAM_CONFIG_VER].isNull() ) { /*if( doc[PARAM_CONFIG_VER].isNull() ) {
// If this parameter is missing we need to reset the gyrocalibaration due to // If this parameter is missing we need to reset the gyrocalibaration due to

View File

@ -47,7 +47,7 @@ struct RawGyroData {
}; };
// Used for holding formulaData (used for calculating formula on device) // Used for holding formulaData (used for calculating formula on device)
#define FORMULA_DATA_SIZE 8 #define FORMULA_DATA_SIZE 10
struct RawFormulaData { struct RawFormulaData {
double a[FORMULA_DATA_SIZE]; double a[FORMULA_DATA_SIZE];

View File

@ -732,6 +732,8 @@ void WebServerHandler::webHandleFormulaRead() {
doc["a6"] = reduceFloatPrecision(fd.a[5], 2); doc["a6"] = reduceFloatPrecision(fd.a[5], 2);
doc["a7"] = reduceFloatPrecision(fd.a[6], 2); doc["a7"] = reduceFloatPrecision(fd.a[6], 2);
doc["a8"] = reduceFloatPrecision(fd.a[7], 2); doc["a8"] = reduceFloatPrecision(fd.a[7], 2);
doc["a9"] = reduceFloatPrecision(fd.a[8], 2);
doc["a10"] = reduceFloatPrecision(fd.a[9], 2);
if (myConfig.isGravityPlato()) { if (myConfig.isGravityPlato()) {
doc["g1"] = reduceFloatPrecision(convertToPlato(fd.g[0]), 1); doc["g1"] = reduceFloatPrecision(convertToPlato(fd.g[0]), 1);
@ -742,6 +744,8 @@ void WebServerHandler::webHandleFormulaRead() {
doc["g6"] = reduceFloatPrecision(convertToPlato(fd.g[5]), 1); doc["g6"] = reduceFloatPrecision(convertToPlato(fd.g[5]), 1);
doc["g7"] = reduceFloatPrecision(convertToPlato(fd.g[6]), 1); doc["g7"] = reduceFloatPrecision(convertToPlato(fd.g[6]), 1);
doc["g8"] = reduceFloatPrecision(convertToPlato(fd.g[7]), 1); doc["g8"] = reduceFloatPrecision(convertToPlato(fd.g[7]), 1);
doc["g9"] = reduceFloatPrecision(convertToPlato(fd.g[8]), 1);
doc["g10"] = reduceFloatPrecision(convertToPlato(fd.g[9]), 1);
} else { } else {
doc["g1"] = reduceFloatPrecision(fd.g[0], 4); doc["g1"] = reduceFloatPrecision(fd.g[0], 4);
doc["g2"] = reduceFloatPrecision(fd.g[1], 4); doc["g2"] = reduceFloatPrecision(fd.g[1], 4);
@ -751,6 +755,8 @@ void WebServerHandler::webHandleFormulaRead() {
doc["g6"] = reduceFloatPrecision(fd.g[5], 4); doc["g6"] = reduceFloatPrecision(fd.g[5], 4);
doc["g7"] = reduceFloatPrecision(fd.g[6], 4); doc["g7"] = reduceFloatPrecision(fd.g[6], 4);
doc["g8"] = reduceFloatPrecision(fd.g[7], 4); doc["g8"] = reduceFloatPrecision(fd.g[7], 4);
doc["g9"] = reduceFloatPrecision(fd.g[8], 4);
doc["g10"] = reduceFloatPrecision(fd.g[9], 4);
} }
#if LOG_LEVEL == 6 && !defined(WEB_DISABLE_LOGGING) #if LOG_LEVEL == 6 && !defined(WEB_DISABLE_LOGGING)

View File

@ -9,6 +9,8 @@
"a6": 30, "a6": 30,
"a7": 30, "a7": 30,
"a8": 30, "a8": 30,
"a9": 30,
"a10": 30,
"g1": 1.000, "g1": 1.000,
"g3": 1.010, "g3": 1.010,
"g2": 1.025, "g2": 1.025,
@ -17,5 +19,7 @@
"g6": 1.005, "g6": 1.005,
"g7": 1.005, "g7": 1.005,
"g8": 1.005, "g8": 1.005,
"g9": 1.005,
"g10": 1.005,
"error": "" "error": ""
} }