diff --git a/lib/boatData/GwBoatData.h b/lib/boatData/GwBoatData.h index fd57a87..b4df0ec 100644 --- a/lib/boatData/GwBoatData.h +++ b/lib/boatData/GwBoatData.h @@ -177,8 +177,8 @@ class GwBoatData{ GWBOATDATA(double,COG,4000,formatCourse) // course over ground GWBOATDATA(double,SOG,4000,formatKnots) // speed over ground - GWBOATDATA(double,HDG,4000,formatCourse) // true heading - GWBOATDATA(double,MHDG,4000,formatCourse) // magnetic heading + GWBOATDATA(double,HDT,4000,formatCourse) // true heading + GWBOATDATA(double,HDM,4000,formatCourse) // magnetic heading GWBOATDATA(double,STW,4000,formatKnots) // water speed GWBOATDATA(double,VAR,4000,formatCourse) // variation GWBOATDATA(double,DEV,4000,formatCourse) // deviation diff --git a/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp b/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp index 8477ab8..7868eaf 100644 --- a/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp +++ b/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp @@ -500,8 +500,8 @@ private: shouldSend = updateDouble(boatData->TWD, WindDirection, msg.sourceId) && updateDouble(boatData->TWS, WindSpeed, msg.sourceId); if (WindSpeed != NMEA0183DoubleNA) boatData->MaxTws->updateMax(WindSpeed); - if(shouldSend && boatData->HDG->isValid()) { - double twa = WindDirection-boatData->HDG->getData(); + if(shouldSend && boatData->HDT->isValid()) { + double twa = WindDirection-boatData->HDT->getData(); if(twa<0) { twa+=2*M_PI; } updateDouble(boatData->TWA, twa, msg.sourceId); SetN2kWindSpeed(n2kMsg, 1, WindSpeed, twa, N2kWind_True_water); @@ -511,15 +511,15 @@ private: } void convertHDM(const SNMEA0183Msg &msg){ - double MHDG=NMEA0183DoubleNA; - if (!NMEA0183ParseHDM_nc(msg, MHDG)) + double HDM=NMEA0183DoubleNA; + if (!NMEA0183ParseHDM_nc(msg, HDM)) { LOG_DEBUG(GwLog::DEBUG, "failed to parse HDM %s", msg.line); return; } - if (! UD(MHDG)) return; + if (! UD(HDM)) return; tN2kMsg n2kMsg; - SetN2kMagneticHeading(n2kMsg,1,MHDG, + SetN2kMagneticHeading(n2kMsg,1,HDM, boatData->VAR->getDataWithDefault(N2kDoubleNA), boatData->DEV->getDataWithDefault(N2kDoubleNA) ); @@ -527,28 +527,29 @@ private: } void convertHDT(const SNMEA0183Msg &msg){ - double HDG=NMEA0183DoubleNA; - if (!NMEA0183ParseHDT_nc(msg, HDG)) + double HDT=NMEA0183DoubleNA; + if (!NMEA0183ParseHDT_nc(msg, HDT)) { LOG_DEBUG(GwLog::DEBUG, "failed to parse HDT %s", msg.line); return; } - if (! UD(HDG)) return; + if (! UD(HDT)) return; tN2kMsg n2kMsg; - SetN2kTrueHeading(n2kMsg,1,HDG); + SetN2kTrueHeading(n2kMsg,1,HDT); send(n2kMsg,msg.sourceId); } + void convertHDG(const SNMEA0183Msg &msg){ - double MHDG=NMEA0183DoubleNA; - double VAR=NMEA0183DoubleNA; + double HDM=NMEA0183DoubleNA; double DEV=NMEA0183DoubleNA; + double VAR=NMEA0183DoubleNA; if (msg.FieldCount() < 5) { LOG_DEBUG(GwLog::DEBUG, "failed to parse HDG %s", msg.line); return; } if (msg.FieldLen(0)>0){ - MHDG=formatDegToRad(atof(msg.Field(0))); + HDM=formatDegToRad(atof(msg.Field(0))); } else{ return; @@ -562,11 +563,11 @@ private: if (msg.Field(4)[0] == 'W') VAR=-VAR; } - if (! UD(MHDG)) return; + if (! UD(HDM)) return; UD(VAR); UD(DEV); tN2kMsg n2kMsg; - SetN2kMagneticHeading(n2kMsg,1,MHDG,DEV,VAR); + SetN2kMagneticHeading(n2kMsg,1,HDM,DEV,VAR); send(n2kMsg,msg.sourceId,"127250M"); } @@ -702,11 +703,11 @@ private: return; } tN2kMsg n2kMsg; - if (updateDouble(boatData->HDG,TrueHeading,msg.sourceId)){ + if (updateDouble(boatData->HDT,TrueHeading,msg.sourceId)){ SetN2kTrueHeading(n2kMsg,1,TrueHeading); send(n2kMsg,msg.sourceId); } - if(updateDouble(boatData->MHDG,MagneticHeading,msg.sourceId)){ + if(updateDouble(boatData->HDM,MagneticHeading,msg.sourceId)){ SetN2kMagneticHeading(n2kMsg,1,MagneticHeading, boatData->DEV->getDataWithDefault(N2kDoubleNA), boatData->VAR->getDataWithDefault(N2kDoubleNA) diff --git a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp index b08ac7d..390d7f1 100644 --- a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp +++ b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp @@ -185,13 +185,13 @@ private: if (N2kIsNA(Variation)){ //no variation if (ref == N2khr_magnetic){ - updateDouble(boatData->MHDG,Heading); + updateDouble(boatData->HDM,Heading); if (NMEA0183SetHDM(NMEA0183Msg,Heading,talkerId)){ SendMessage(NMEA0183Msg); } } if (ref == N2khr_true){ - updateDouble(boatData->HDG,Heading); + updateDouble(boatData->HDT,Heading); if (NMEA0183SetHDT(NMEA0183Msg,Heading,talkerId)){ SendMessage(NMEA0183Msg); } @@ -206,8 +206,8 @@ private: if (ref == N2khr_true){ MagneticHeading=Heading-Variation; } - updateDouble(boatData->MHDG,MagneticHeading); - updateDouble(boatData->HDG,Heading); + updateDouble(boatData->HDM,MagneticHeading); + updateDouble(boatData->HDT,Heading); if (!N2kIsNA(MagneticHeading)){ if (NMEA0183SetHDG(NMEA0183Msg, MagneticHeading,_Deviation, Variation,talkerId)) @@ -252,8 +252,8 @@ private: tNMEA0183Msg NMEA0183Msg; updateDouble(boatData->STW, WaterReferenced); unsigned long now = millis(); - double MagneticHeading = (boatData->HDG->isValid(now) && boatData->VAR->isValid(now)) ? boatData->HDG->getData() + boatData->VAR->getData() : NMEA0183DoubleNA; - if (NMEA0183SetVHW(NMEA0183Msg, boatData->HDG->getDataWithDefault(NMEA0183DoubleNA), MagneticHeading, WaterReferenced,talkerId)) + double MagneticHeading = (boatData->HDT->isValid(now) && boatData->VAR->isValid(now)) ? boatData->HDT->getData() + boatData->VAR->getData() : NMEA0183DoubleNA; + if (NMEA0183SetVHW(NMEA0183Msg, boatData->HDT->getDataWithDefault(NMEA0183DoubleNA), MagneticHeading, WaterReferenced,talkerId)) { SendMessage(NMEA0183Msg); } @@ -492,8 +492,8 @@ private: updateDouble(boatData->TWS, WindSpeed); setMax(boatData->MaxTws, boatData->TWS); shouldSend = true; - if (boatData->HDG->isValid()) { - double twd = WindAngle+boatData->HDG->getData(); + if (boatData->HDT->isValid()) { + double twd = WindAngle+boatData->HDT->getData(); if (twd>2*M_PI) { twd-=2*M_PI; } updateDouble(boatData->TWD, twd); }