diff --git a/lib/obp60task/BoatDataCalibration.cpp b/lib/obp60task/BoatDataCalibration.cpp index 3a817c2..ca12163 100644 --- a/lib/obp60task/BoatDataCalibration.cpp +++ b/lib/obp60task/BoatDataCalibration.cpp @@ -22,10 +22,10 @@ void CalibrationDataList::readConfig(GwConfigHandler* config, GwLog* logger) String instance = "calInstance" + String(i+1); String offset = "calOffset" + String(i+1); String slope = "calSlope" + String(i+1); - calibrationData.list[i] = { "", 0.0f, 1.0f, 0.0f, false }; + calibrationData.list[i] = { "---", 0.0f, 1.0f, 0.0f, false }; - calibrationData.list[i].instance = config->getString(instance, ""); - if (calibrationData.list[i].instance == "") { + calibrationData.list[i].instance = config->getString(instance, "---"); + if (calibrationData.list[i].instance == "---") { LOG_DEBUG(GwLog::LOG, "no calibration data for instance no. %d", i+1); continue; } @@ -45,7 +45,8 @@ void CalibrationDataList::readConfig(GwConfigHandler* config, GwLog* logger) calibrationData.list[i].offset *= 0.5; // Convert Bft to m/s (approx) -> to be improved } - } else if (calibrationData.list[i].instance == "AWA" || calibrationData.list[i].instance == "TWA" ||calibrationData.list[i].instance == "TWD" || calibrationData.list[i].instance == "HDM") { + } else if (calibrationData.list[i].instance == "AWA" || calibrationData.list[i].instance == "TWA" ||calibrationData.list[i].instance == "TWD" || calibrationData.list[i].instance == "HDM" || + calibrationData.list[i].instance == "PRPOS" || calibrationData.list[i].instance == "RPOS") { calibrationData.list[i].offset *= M_PI / 180; // Convert deg to rad } else if (calibrationData.list[i].instance == "DBT") { diff --git a/lib/obp60task/PageRudderPosition.cpp b/lib/obp60task/PageRudderPosition.cpp index 6883ca2..967f605 100644 --- a/lib/obp60task/PageRudderPosition.cpp +++ b/lib/obp60task/PageRudderPosition.cpp @@ -2,6 +2,7 @@ #include "Pagedata.h" #include "OBP60Extensions.h" +#include "BoatDataCalibration.h" class PageRudderPosition : public Page { @@ -40,6 +41,7 @@ public: GwApi::BoatValue *bvalue1 = pageData.values[0]; // First element in list String name1 = bvalue1->getName().c_str(); // Value name name1 = name1.substring(0, 6); // String length limit for value name + calibrationData.calibrateInstance(name1, bvalue1, logger); // Check if boat data value is to be calibrated value1 = bvalue1->value; // Raw value without unit convertion bool valid1 = bvalue1->valid; // Valid information String svalue1 = formatValue(bvalue1, *commonData).svalue; // Formatted value as string including unit conversion and switching decimal places diff --git a/lib/obp60task/config.json b/lib/obp60task/config.json index 5c1c298..b5db57d 100644 --- a/lib/obp60task/config.json +++ b/lib/obp60task/config.json @@ -690,13 +690,16 @@ "name": "calInstance1", "label": "Calibration Data Instance 1", "type": "list", - "default": "", + "default": "---", "description": "Data instance for calibration", "list": [ + "---", "AWA", "AWS", "DBT", "HDM", + "PRPOS", + "RPOS", "STW", "TWA", "TWS", @@ -734,13 +737,16 @@ "name": "calInstance2", "label": "Calibration Data Instance 2", "type": "list", - "default": "", + "default": "---", "description": "Data instance for calibration", "list": [ + "---", "AWA", "AWS", "DBT", "HDM", + "PRPOS", + "RPOS", "STW", "TWA", "TWS", @@ -778,13 +784,16 @@ "name": "calInstance3", "label": "Calibration Data Instance 3", "type": "list", - "default": "", + "default": "---", "description": "Data instance for calibration", "list": [ + "---", "AWA", "AWS", "DBT", "HDM", + "PRPOS", + "RPOS", "STW", "TWA", "TWS",