From 38d370dcfb072f17b01fc9bf2d4c6c45a0c336e5 Mon Sep 17 00:00:00 2001 From: andreas Date: Tue, 22 Apr 2025 19:35:57 +0200 Subject: [PATCH] #107: correctly handle DBT,DBS,DBK --- doc/Conversions.odt | Bin 26103 -> 26267 bytes doc/Conversions.pdf | Bin 38259 -> 38348 bytes lib/nmea0183ton2k/NMEA0183DataToN2K.cpp | 13 +++++----- lib/nmea2kto0183/N2kDataToNMEA0183.cpp | 32 +++++++++++++++--------- 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/doc/Conversions.odt b/doc/Conversions.odt index 9ca2adbc44e5f7c038bb02cadeb73559c7fe439b..d6c662c23ea119fbb79102c2384a36f4d44909f2 100644 GIT binary patch delta 22680 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

0M`NQNpJNSgwC>+%LI5@7H&qsj` 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 diff --git a/doc/Conversions.pdf b/doc/Conversions.pdf index 3de736be458ce876b404e60dad7c020d55feb8b1..06bf6f2d21a7fb9cae8383cf291c3a0ddac1f1a9 100644 GIT binary patch delta 4969 zcmai0XEa^iqD_txy+;W_3elZj2;peaMF{zV99`5TdOgBHbaC`9dY1^%YxLgb(_6G~ z^bo>zzc=2v+2dkuiEcz zpXbUJYkPuMCgZ%0D6=GcM2+n(UW8LkuL#zPyw-n0+YJB^Rk@Sd@L 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 diff --git a/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp b/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp index cf335df..0560375 100644 --- a/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp +++ b/lib/nmea0183ton2k/NMEA0183DataToN2K.cpp @@ -638,8 +638,8 @@ private: for (int i=0;i< 3;i++){ if (msg.FieldLen(0)>0){ Depth=atof(msg.Field(0)); - char dt=msg.Field(i+1)[0]; - switch(dt){ + char du=msg.Field(i+1)[0]; + switch(du){ case 'f': Depth=Depth/mToFeet; break; @@ -662,8 +662,9 @@ private: //we can only send if we have a valid depth beloww tranducer //to compute the offset if (! boatData->DBT->isValid()) return; - double offset=Depth-boatData->DBT->getData(); - if (offset >= 0 && dt == DBT){ + double dbs=boatData->DBT->getData(); + double offset=Depth-dbs; + if (offset >= 0 && dt == DBK){ logger->logDebug(GwLog::DEBUG, "strange DBK - more depth then transducer %s", msg.line); return; } @@ -675,8 +676,8 @@ private: if (! boatData->DBS->update(Depth,msg.sourceId)) return; } tN2kMsg n2kMsg; - SetN2kWaterDepth(n2kMsg,1,Depth,offset); - send(n2kMsg,msg.sourceId,(n2kMsg.PGN)+String((offset != N2kDoubleNA)?1:0)); + SetN2kWaterDepth(n2kMsg,1,dbs,offset); //on the N2K side we always have depth below transducer + send(n2kMsg,msg.sourceId,(n2kMsg.PGN)+String((offset >=0)?1:0)); } } } diff --git a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp index afafcd6..dbf6af5 100644 --- a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp +++ b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp @@ -267,21 +267,29 @@ private: double DepthBelowTransducer; double Offset; double Range; - double WaterDepth; if (ParseN2kWaterDepth(N2kMsg, SID, DepthBelowTransducer, Offset, Range)) { - - WaterDepth = DepthBelowTransducer + Offset; - updateDouble(boatData->DBS, WaterDepth); - updateDouble(boatData->DBT,DepthBelowTransducer); - tNMEA0183Msg NMEA0183Msg; - if (NMEA0183SetDPT(NMEA0183Msg, DepthBelowTransducer, Offset,talkerId)) + if (updateDouble(boatData->DBT, DepthBelowTransducer)) { - SendMessage(NMEA0183Msg); - } - if (NMEA0183SetDBx(NMEA0183Msg, DepthBelowTransducer, Offset,talkerId)) - { - SendMessage(NMEA0183Msg); + tNMEA0183Msg NMEA0183Msg; + bool offsetValid=true; + if (N2kIsNA(Offset)) { + Offset=NMEA0183DoubleNA; + offsetValid=false; + } + if (NMEA0183SetDPT(NMEA0183Msg, DepthBelowTransducer, Offset, talkerId)) + { + SendMessage(NMEA0183Msg); + } + if (offsetValid) + { + double WaterDepth = DepthBelowTransducer + Offset; + updateDouble(boatData->DBS, WaterDepth); + } + if (NMEA0183SetDBx(NMEA0183Msg, DepthBelowTransducer, Offset, talkerId)) + { + SendMessage(NMEA0183Msg); + } } } }