1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-14 06:23:07 +01:00

dynamic adding of xdr boat data for implemented n2k conversions

This commit is contained in:
wellenvogel
2021-11-24 18:52:33 +01:00
parent 166d8d826b
commit fb13a70ce6
7 changed files with 54 additions and 13 deletions

View File

@@ -105,6 +105,10 @@ private:
return false;
return item->update(value,sourceId);
}
bool updateDouble(GwXDRFoundMapping * mapping, double &value){
if (mapping->empty) return false;
return boatData->update(value,sourceId,mapping);
}
unsigned long LastPosSend;
unsigned long NextRMCSend;
@@ -1187,7 +1191,7 @@ private:
return;
}
GwXDRFoundMapping mapping=xdrMappings->getMapping(XDRTEMP,(int)TemperatureSource,0,TemperatureInstance);
if (mapping.empty) return;
if (! updateDouble(&mapping,Temperature)) return;
LOG_DEBUG(GwLog::DEBUG+1,"found temperature mapping %s",mapping.definition->toString().c_str());
addToXdr(mapping.buildXdrEntry(Temperature));
finalizeXdr();
@@ -1204,7 +1208,7 @@ private:
return;
}
GwXDRFoundMapping mapping=xdrMappings->getMapping(XDRHUMIDITY,(int)HumiditySource,0,HumidityInstance);
if (mapping.empty) return;
if (! updateDouble(&mapping,ActualHumidity)) return;
LOG_DEBUG(GwLog::DEBUG+1,"found humidity mapping %s",mapping.definition->toString().c_str());
addToXdr(mapping.buildXdrEntry(ActualHumidity));
finalizeXdr();
@@ -1221,8 +1225,7 @@ private:
return;
}
GwXDRFoundMapping mapping=xdrMappings->getMapping(XDRPRESSURE,(int)PressureSource,0,PressureInstance);
if (mapping.empty) return;
if (! boatData->update(ActualPressure,sourceId,&mapping)) return;
if (! updateDouble(&mapping,ActualPressure)) return;
LOG_DEBUG(GwLog::DEBUG+1,"found pressure mapping %s",mapping.definition->toString().c_str());
addToXdr(mapping.buildXdrEntry(ActualPressure));
finalizeXdr();