commit
c55bcc1f94
|
@ -493,6 +493,11 @@ double formatKnots(double cv)
|
||||||
return cv * 3600.0 / 1852.0;
|
return cv * 3600.0 / 1852.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double formatKmh(double cv)
|
||||||
|
{
|
||||||
|
return cv *3600.0 / 1000.0;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t mtr2nm(uint32_t m)
|
uint32_t mtr2nm(uint32_t m)
|
||||||
{
|
{
|
||||||
return m / 1852;
|
return m / 1852;
|
||||||
|
@ -523,4 +528,4 @@ public:
|
||||||
};
|
};
|
||||||
static XWriter xwriter;
|
static XWriter xwriter;
|
||||||
ARDUINOJSON_NAMESPACE::TextFormatter<XWriter> testWriter(xwriter);
|
ARDUINOJSON_NAMESPACE::TextFormatter<XWriter> testWriter(xwriter);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -129,6 +129,7 @@ double formatCourse(double cv);
|
||||||
double formatDegToRad(double deg);
|
double formatDegToRad(double deg);
|
||||||
double formatWind(double cv);
|
double formatWind(double cv);
|
||||||
double formatKnots(double cv);
|
double formatKnots(double cv);
|
||||||
|
double formatKmh(double cv);
|
||||||
uint32_t mtr2nm(uint32_t m);
|
uint32_t mtr2nm(uint32_t m);
|
||||||
double mtr2nm(double m);
|
double mtr2nm(double m);
|
||||||
|
|
||||||
|
@ -251,4 +252,4 @@ class GwBoatData{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -528,6 +528,31 @@ private:
|
||||||
{
|
{
|
||||||
SendMessage(NMEA0183Msg);
|
SendMessage(NMEA0183Msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (shouldSend && NMEA0183Reference == NMEA0183Wind_Apparent)
|
||||||
|
{
|
||||||
|
double wa = formatCourse(WindAngle);
|
||||||
|
if (!NMEA0183Msg.Init("VWR", talkerId))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddDoubleField(( wa > 180 ) ? 360-wa : wa))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddStrField(( wa >= 0 && wa <= 180) ? 'R' : 'L'))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddDoubleField(formatKnots(WindSpeed)))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddStrField("N"))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddDoubleField(WindSpeed))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddStrField("M"))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddDoubleField(formatKmh(WindSpeed)))
|
||||||
|
return;
|
||||||
|
if (!NMEA0183Msg.AddStrField("K"))
|
||||||
|
return;
|
||||||
|
|
||||||
|
SendMessage(NMEA0183Msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if (WindReference == N2kWind_Apparent && boatData->SOG->isValid())
|
/* if (WindReference == N2kWind_Apparent && boatData->SOG->isValid())
|
||||||
|
|
Loading…
Reference in New Issue