#49: better handling of VHW - optionally send 127250 for both mag/true, always send 128259 also if no heading is available
This commit is contained in:
parent
ef2a79fc8b
commit
2e58716716
|
@ -526,7 +526,7 @@ private:
|
||||||
boatData->VAR->getDataWithDefault(N2kDoubleNA),
|
boatData->VAR->getDataWithDefault(N2kDoubleNA),
|
||||||
boatData->DEV->getDataWithDefault(N2kDoubleNA)
|
boatData->DEV->getDataWithDefault(N2kDoubleNA)
|
||||||
);
|
);
|
||||||
send(n2kMsg,msg.sourceId);
|
send(n2kMsg,msg.sourceId,"127250M");
|
||||||
}
|
}
|
||||||
|
|
||||||
void convertHDT(const SNMEA0183Msg &msg){
|
void convertHDT(const SNMEA0183Msg &msg){
|
||||||
|
@ -570,7 +570,7 @@ private:
|
||||||
UD(DEV);
|
UD(DEV);
|
||||||
tN2kMsg n2kMsg;
|
tN2kMsg n2kMsg;
|
||||||
SetN2kMagneticHeading(n2kMsg,1,MHDG,DEV,VAR);
|
SetN2kMagneticHeading(n2kMsg,1,MHDG,DEV,VAR);
|
||||||
send(n2kMsg,msg.sourceId);
|
send(n2kMsg,msg.sourceId,"127250M");
|
||||||
}
|
}
|
||||||
|
|
||||||
void convertDPT(const SNMEA0183Msg &msg){
|
void convertDPT(const SNMEA0183Msg &msg){
|
||||||
|
@ -692,10 +692,19 @@ private:
|
||||||
LOG_DEBUG(GwLog::DEBUG, "failed to parse VHW %s", msg.line);
|
LOG_DEBUG(GwLog::DEBUG, "failed to parse VHW %s", msg.line);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (! updateDouble(boatData->STW,STW,msg.sourceId)) return;
|
|
||||||
if (! updateDouble(boatData->HDG,TrueHeading,msg.sourceId)) return;
|
|
||||||
if (MagneticHeading == NMEA0183DoubleNA) MagneticHeading=N2kDoubleNA;
|
|
||||||
tN2kMsg n2kMsg;
|
tN2kMsg n2kMsg;
|
||||||
|
if (updateDouble(boatData->HDG,TrueHeading,msg.sourceId)){
|
||||||
|
SetN2kTrueHeading(n2kMsg,1,TrueHeading);
|
||||||
|
send(n2kMsg,msg.sourceId);
|
||||||
|
}
|
||||||
|
if(updateDouble(boatData->MHDG,MagneticHeading,msg.sourceId)){
|
||||||
|
SetN2kMagneticHeading(n2kMsg,1,MagneticHeading,
|
||||||
|
boatData->DEV->getDataWithDefault(N2kDoubleNA),
|
||||||
|
boatData->VAR->getDataWithDefault(N2kDoubleNA)
|
||||||
|
);
|
||||||
|
send(n2kMsg,msg.sourceId,"127250M"); //ensure both mag and true are sent
|
||||||
|
}
|
||||||
|
if (! updateDouble(boatData->STW,STW,msg.sourceId)) return;
|
||||||
SetN2kBoatSpeed(n2kMsg,1,STW);
|
SetN2kBoatSpeed(n2kMsg,1,STW);
|
||||||
send(n2kMsg,msg.sourceId);
|
send(n2kMsg,msg.sourceId);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue