Added save for additional formula points

This commit is contained in:
Magnus Persson
2022-04-11 09:27:40 +02:00
parent e9742888f8
commit 5b267210d2
2 changed files with 45 additions and 6 deletions

View File

@ -277,6 +277,12 @@ bool Config::loadFile() {
_formulaData.a[3] = doc[PARAM_FORMULA_DATA]["a4"].as<double>(); _formulaData.a[3] = doc[PARAM_FORMULA_DATA]["a4"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a5"].isNull()) if (!doc[PARAM_FORMULA_DATA]["a5"].isNull())
_formulaData.a[4] = doc[PARAM_FORMULA_DATA]["a5"].as<double>(); _formulaData.a[4] = doc[PARAM_FORMULA_DATA]["a5"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a6"].isNull())
_formulaData.a[5] = doc[PARAM_FORMULA_DATA]["a6"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a7"].isNull())
_formulaData.a[6] = doc[PARAM_FORMULA_DATA]["a7"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["a8"].isNull())
_formulaData.a[7] = doc[PARAM_FORMULA_DATA]["a8"].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>();
@ -288,6 +294,12 @@ bool Config::loadFile() {
_formulaData.g[3] = doc[PARAM_FORMULA_DATA]["g4"].as<double>(); _formulaData.g[3] = doc[PARAM_FORMULA_DATA]["g4"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g5"].isNull()) if (!doc[PARAM_FORMULA_DATA]["g5"].isNull())
_formulaData.g[4] = doc[PARAM_FORMULA_DATA]["g5"].as<double>(); _formulaData.g[4] = doc[PARAM_FORMULA_DATA]["g5"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g6"].isNull())
_formulaData.g[5] = doc[PARAM_FORMULA_DATA]["g6"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g7"].isNull())
_formulaData.g[6] = doc[PARAM_FORMULA_DATA]["g7"].as<double>();
if (!doc[PARAM_FORMULA_DATA]["g8"].isNull())
_formulaData.g[7] = doc[PARAM_FORMULA_DATA]["g8"].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

@ -62,11 +62,19 @@ Other parameters are the same as in the configuration guide.
"a3":35, "a3":35,
"a4":40, "a4":40,
"a5":45, "a5":45,
"a5":0,
"a6":0,
"a7":0,
"a8":0,
"g1":1, "g1":1,
"g2":1.01, "g2":1.01,
"g3":1.02, "g3":1.02,
"g4":1.03, "g4":1.03,
"g5":1.04 "g4":1.04,
"g5":1,
"g6":1,
"g7":1,
"g8":1
}, },
"angle": 90.93, "angle": 90.93,
"gravity": 1.105, "gravity": 1.105,
@ -119,8 +127,8 @@ GET: /api/config/formula
Retrive the data used for formula calculation data via an HTTP GET command. Payload is in JSON format. Retrive the data used for formula calculation data via an HTTP GET command. Payload is in JSON format.
* ``a1``-``a4`` are the angles/tilt readings (up to 5 are currently supported) * ``a1``-``a8`` are the angles/tilt readings (up to 8 are currently supported)
* ``g1``-``g4`` are the corresponding gravity reaadings in SG or Plato depending on the device-format. * ``g1``-``g8`` are the corresponding gravity reaadings in SG or Plato depending on the device-format.
.. code-block:: json .. code-block:: json
@ -131,11 +139,18 @@ Retrive the data used for formula calculation data via an HTTP GET command. Payl
"a3": 58, "a3": 58,
"a4": 0, "a4": 0,
"a5": 0, "a5": 0,
"a6": 0,
"a7": 0,
"a8": 0,
"g1": 1.000, "g1": 1.000,
"g2": 1.053, "g2": 1.053,
"g3": 1.062, "g3": 1.062,
"g4": 1, "g4": 1,
"g5": 1, "g5": 1,
"g6": 1,
"g7": 1,
"g8": 1,
"error": "Potential error message",
"gravity-format": "G", "gravity-format": "G",
"gravity-formula": "0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436" "gravity-formula": "0.0*tilt^3+0.0*tilt^2+0.0017978*tilt+0.9436"
} }
@ -280,8 +295,8 @@ POST: /api/config/formula
Used to update formula calculation data via an HTTP POST command. Payload is in JSON format. Used to update formula calculation data via an HTTP POST command. Payload is in JSON format.
* ``a1``-``a4`` are the angles/tilt readings (up to 5 are currently supported) * ``a1``-``a8`` are the angles/tilt readings (up to 5 are currently supported)
* ``g1``-``g4`` are the corresponding gravity reaadings (in SG) * ``g1``-``g8`` are the corresponding gravity reaadings (in SG)
Payload should be in standard format used for posting a form. Such as as: `id=value&mdns=value` etc. Key value pairs are shown below. Payload should be in standard format used for posting a form. Such as as: `id=value&mdns=value` etc. Key value pairs are shown below.
@ -293,11 +308,17 @@ Payload should be in standard format used for posting a form. Such as as: `id=va
a3=58 a3=58
a4=0 a4=0
a5=0 a5=0
a6=0
a7=0
a8=0
g1=1.000 g1=1.000
g2=1.053 g2=1.053
g3=1.062 g3=1.062
g4=1 g4=1
g5=1 g5=1
g6=1
g7=1
g8=1
Calling the API's from Python Calling the API's from Python
@ -380,10 +401,16 @@ The requests package converts the json to standard form post format.
"a3": 58, "a3": 58,
"a4": 0, "a4": 0,
"a5": 0, "a5": 0,
"a6": 0,
"a7": 0,
"a8": 0,
"g1": 1.000, "g1": 1.000,
"g2": 1.053, "g2": 1.053,
"g3": 1.062, "g3": 1.062,
"g4": 1, "g4": 1,
"g5": 1 "g5": 1,
"g6": 1,
"g7": 1,
"g8": 1
} }
set_config( url, json ) set_config( url, json )