33 N2kMsg.
AddByte((TimeSource & 0x0f) | 0xf0);
41 if (N2kMsg.
PGN!=126992L)
return false;
60 N2kMsg.
AddByte((Repeat & 0x03)<<6 | (MessageID & 0x3f));
61 N2kMsg.
Add4ByteUInt(0xc0000000 | (SourceID & 0x3fffffff));
62 N2kMsg.
AddByte(0xe0 | (0x1f & AISTransceiverInformation));
69 if (N2kMsg.
PGN!=129802L)
return false;
75 MessageID=(vb & 0x3f);
79 N2kMsg.
GetVarStr(SafetyRelatedTextMaxSize, SafetyRelatedText, Index);
89 uint32_t MobEmitterId,
91 double ActivationTime,
93 uint16_t PositionDate,
107 N2kMsg.
AddByte((MOBStatus & 0x07) | 0xf8);
109 N2kMsg.
AddByte((PositionSource & 0x07) | 0xf8);
114 N2kMsg.
AddByte((COGReference & 0x03) | 0xfc);
118 N2kMsg.
AddByte((MOBEmitterBatteryStatus & 0x07) | 0xf8);
123 uint32_t &MobEmitterId,
125 double &ActivationTime,
127 uint16_t &PositionDate,
128 double &PositionTime,
137 if (N2kMsg.
PGN!=127233L)
return false;
169 double CommandedRudderAngle,
170 double HeadingToSteerCourse,
173 double OffHeadingLimit,
174 double RadiusOfTurnOrder,
175 double RateOfTurnOrder,
176 double OffTrackLimit,
177 double VesselHeading) {
182 (0x03 & RudderLimitExceeded) |
183 (0x03 & OffHeadingLimitExceeded) << 2 |
184 (0x03 & OffTrackLimitExceeded) << 4 |
185 (0x03 & Override) << 6
188 (0x07 & SteeringMode) |
189 (0x07 & TurnMode) << 3 |
190 (0x03 & HeadingReference) << 6
194 (0x07 & CommandedRudderDirection) << 5
216 double &CommandedRudderAngle,
217 double &HeadingToSteerCourse,
220 double &OffHeadingLimit,
221 double &RadiusOfTurnOrder,
222 double &RateOfTurnOrder,
223 double &OffTrackLimit,
224 double &VesselHeading) {
226 if (N2kMsg.
PGN!=127237L)
return false;
230 RudderLimitExceeded = (
tN2kOnOff)(v & 0x03);
231 OffHeadingLimitExceeded = (
tN2kOnOff)((v >> 2) & 0x03);
232 OffTrackLimitExceeded = (
tN2kOnOff)((v >> 4) & 0x03);
259 N2kMsg.
AddByte(0xf8 | (RudderDirectionOrder&0x07));
268 if (N2kMsg.
PGN!=127245L)
return false;
271 Instance=N2kMsg.
GetByte(Index);
292 if (N2kMsg.
PGN!=127250L)
return false;
318 if (N2kMsg.
PGN!=127251L)
return false;
345 N2kMsg.
AddByte(0xf0 | (DelaySource & 0x0f));
350 if (N2kMsg.
PGN!=127252L)
return false;
355 uint8_t v=N2kMsg.
GetByte(Index);
381 if (N2kMsg.
PGN!=127257L)
return false;
405 if (N2kMsg.
PGN!=127258L)
return false;
419 double EngineBoostPressure, int8_t EngineTiltTrim) {
422 N2kMsg.
AddByte(EngineInstance);
425 N2kMsg.
AddByte(EngineTiltTrim);
431 double &EngineBoostPressure, int8_t &EngineTiltTrim) {
432 if (N2kMsg.
PGN!=127488L)
return false;
436 EngineInstance=N2kMsg.
GetByte(Index);
439 EngineTiltTrim=N2kMsg.
GetByte(Index);
446void SetN2kPGN127489(
tN2kMsg &N2kMsg,
unsigned char EngineInstance,
double EngineOilPress,
double EngineOilTemp,
double EngineCoolantTemp,
double AltenatorVoltage,
447 double FuelRate,
double EngineHours,
double EngineCoolantPress,
double EngineFuelPress, int8_t EngineLoad, int8_t EngineTorque,
452 N2kMsg.
AddByte(EngineInstance);
470 double &EngineOilTemp,
double &EngineCoolantTemp,
double &AltenatorVoltage,
471 double &FuelRate,
double &EngineHours,
double &EngineCoolantPress,
double &EngineFuelPress,
472 int8_t &EngineLoad, int8_t &EngineTorque,
474 if (N2kMsg.
PGN != 127489L)
return false;
478 EngineInstance = N2kMsg.
GetByte(Index);
490 EngineLoad=N2kMsg.
GetByte(Index);
491 EngineTorque=N2kMsg.
GetByte(Index);
500 double OilPressure,
double OilTemperature,
unsigned char DiscreteStatus1) {
503 N2kMsg.
AddByte(EngineInstance);
504 N2kMsg.
AddByte((TransmissionGear & 0x03) | 0xfc );
507 N2kMsg.
AddByte(DiscreteStatus1);
512 double &OilPressure,
double &OilTemperature,
unsigned char &DiscreteStatus1) {
513 if (N2kMsg.
PGN!=127493L)
return false;
517 EngineInstance=N2kMsg.
GetByte(Index);
521 DiscreteStatus1=N2kMsg.
GetByte(Index);
529 double FuelRateAverage,
530 double FuelRateEconomy,
double InstantaneousFuelEconomy) {
533 N2kMsg.
AddByte(EngineInstance);
541 double &FuelRateAverage,
542 double &FuelRateEconomy,
double &InstantaneousFuelEconomy) {
543 if (N2kMsg.
PGN!=127497L)
return false;
547 EngineInstance=N2kMsg.
GetByte(Index);
564 return (
tN2kOnOff)((BankStatus >> (2*ItemIndex)) & 0x03);
570 if (ItemIndex>27)
return;
574 BankStatus = (BankStatus & Mask) | ((
tN2kBinaryStatus)ItemStatus << (2*ItemIndex));
581 BankStatus = (BankStatus << 8) | DeviceBankInstance;
596 BankStatus = (BankStatus << 2) | Status4;
597 BankStatus = (BankStatus << 2) | Status3;
598 BankStatus = (BankStatus << 2) | Status2;
599 BankStatus = (BankStatus << 2) | Status1;
610 if (N2kMsg.
PGN!=127501L)
return false;
613 DeviceBankInstance=N2kMsg.
GetByte(Index);
614 unsigned char b=N2kMsg.
GetByte(Index);
625 if (N2kMsg.
PGN!=127501L)
return false;
629 DeviceBankInstance = BankStatus & 0xff;
639 if (N2kMsg.
PGN!=127502L)
return false;
643 TargetBankInstance = BankStatus & 0xff;
654 BankStatus = (BankStatus << 8) | TargetBankInstance;
663 N2kMsg.
AddByte((Instance&0x0f) | ((FluidType&0x0f)<<4));
671 if (N2kMsg.
PGN!=127505L)
return false;
674 unsigned char IFt=N2kMsg.
GetByte(Index);
688 uint8_t StateOfCharge, uint8_t StateOfHealth,
double TimeRemaining,
double RippleVoltage,
double Capacity) {
693 N2kMsg.
AddByte((
unsigned char)DCType);
703 uint8_t &StateOfCharge, uint8_t &StateOfHealth,
double &TimeRemaining,
double &RippleVoltage,
double &Capacity){
704 if (N2kMsg.
PGN!=127506L)
return false;
707 DCInstance=N2kMsg.
GetByte(Index);
709 StateOfCharge=N2kMsg.
GetByte(Index);
710 StateOfHealth=N2kMsg.
GetByte(Index);
735 N2kMsg.
AddByte(BatteryInstance);
736 N2kMsg.
AddByte((ChargerMode & 0x0f)<<4 | (ChargeState & 0x0f));
737 N2kMsg.
AddByte(0x0f<<4 | (EqualizationPending & 0x03) << 2 | (Enabled & 0x03));
743 tN2kOnOff &Enabled,
tN2kOnOff &EqualizationPending,
double &EqualizationTimeRemaining) {
744 if (N2kMsg.
PGN!=127507UL)
return false;
746 Instance=N2kMsg.
GetByte(Index);
747 BatteryInstance=N2kMsg.
GetByte(Index);
754 EqualizationPending=(
tN2kOnOff)((v>>2)&0x03);
764 double BatteryTemperature,
unsigned char SID) {
767 N2kMsg.
AddByte(BatteryInstance);
776 double &BatteryTemperature,
unsigned char &SID) {
777 if (N2kMsg.
PGN!=127508L)
return false;
779 BatteryInstance=N2kMsg.
GetByte(Index);
792 double PeukertExponent, int8_t ChargeEfficiencyFactor) {
796 N2kMsg.
AddByte(0xc0 | ((SupportsEqual & 0x03) << 4) | (BatType & 0x0f));
797 N2kMsg.
AddByte( ((BatChemistry & 0x0f) << 4) | (BatNominalVoltage & 0x0f) );
799 N2kMsg.
AddByte((int8_t)BatTemperatureCoefficient);
801 if (PeukertExponent<0 || PeukertExponent>0.504) { N2kMsg.
AddByte(0xff); }
else { N2kMsg.
Add1ByteUDouble(PeukertExponent,0.002,-1); }
802 N2kMsg.
AddByte((int8_t)ChargeEfficiencyFactor);
808 double &PeukertExponent, int8_t &ChargeEfficiencyFactor) {
809 if (N2kMsg.
PGN!=127513L)
return false;
812 BatInstance = N2kMsg.
GetByte(Index);
816 BatTemperatureCoefficient=N2kMsg.
GetByte(Index);
817 PeukertExponent=N2kMsg.
Get1ByteUDouble(0.002,Index); PeukertExponent+=1;
818 ChargeEfficiencyFactor=N2kMsg.
GetByte(Index);
838 if (N2kMsg.
PGN!=128000L)
return false;
862 if (N2kMsg.
PGN!=128259L)
return false;
886 if (N2kMsg.
PGN!=128267L)
return false;
899void SetN2kPGN128275(
tN2kMsg &N2kMsg, uint16_t DaysSince1970,
double SecondsSinceMidnight, uint32_t Log, uint32_t TripLog) {
908bool ParseN2kPGN128275(
const tN2kMsg &N2kMsg, uint16_t &DaysSince1970,
double &SecondsSinceMidnight, uint32_t &Log, uint32_t &TripLog) {
909 if (N2kMsg.
PGN!=128275L)
return false;
929 unsigned char WindlassIdentifier,
931 unsigned char SpeedControl,
938 double CommandTimeout,
944 N2kMsg.
AddByte(WindlassIdentifier);
945 N2kMsg.
AddByte((
unsigned char) ((0x03 << 6) | ((SpeedControlType & 0x03) << 4) | ((AnchorDockingControl & 0x03) << 2) | (WindlassDirectionControl & 0x03)));
947 N2kMsg.
AddByte((
unsigned char) (((AnchorLight & 0x03) << 6) | ((DeckAndAnchorWash & 0x03) << 4) | ((MechanicalLock & 0x03) << 2) | (PowerEnable & 0x03)));
955 unsigned char &WindlassIdentifier,
957 unsigned char &SpeedControl,
964 double &CommandTimeout,
967 if (N2kMsg.
PGN!=128776L)
return false;
971 WindlassIdentifier = N2kMsg.
GetByte(Index);
976 SpeedControl = N2kMsg.
GetByte(Index);
994 unsigned char WindlassIdentifier,
995 double RodeCounterValue,
996 double WindlassLineSpeed,
1005 N2kMsg.
AddByte(WindlassIdentifier);
1006 N2kMsg.
AddByte((
unsigned char) (0xF0 | ((RodeTypeStatus & 0x03) << 2) | (WindlassMotionStatus & 0x03)));
1009 N2kMsg.
AddByte((WindlassOperatingEvents.
Events << 2) | (AnchorDockingStatus & 0x03));
1015 unsigned char &WindlassIdentifier,
1016 double &RodeCounterValue,
1017 double &WindlassLineSpeed,
1023 if (N2kMsg.
PGN!=128777L)
return false;
1025 unsigned char field;
1027 WindlassIdentifier = N2kMsg.
GetByte(Index);
1028 field = N2kMsg.
GetByte(Index);
1033 field = N2kMsg.
GetByte(Index);
1035 WindlassOperatingEvents.
SetEvents(field >> 2);
1046 unsigned char WindlassIdentifier,
1047 double TotalMotorTime,
1048 double ControllerVoltage,
1049 double MotorCurrent,
1055 N2kMsg.
AddByte(WindlassIdentifier);
1066 unsigned char &WindlassIdentifier,
1067 double &TotalMotorTime,
1068 double &ControllerVoltage,
1069 double &MotorCurrent,
1072 if (N2kMsg.
PGN!=128778L)
return false;
1075 WindlassIdentifier = N2kMsg.
GetByte(Index);
1093 if (N2kMsg.
PGN!=129025L)
return false;
1108 N2kMsg.
AddByte( (((
unsigned char)(ref)) & 0x03) | 0xfc );
1116 if (N2kMsg.
PGN!=129026L)
return false;
1131 double Latitude,
double Longitude,
double Altitude,
1133 unsigned char nSatellites,
double HDOP,
double PDOP,
double GeoidalSeparation,
1134 unsigned char nReferenceStations,
tN2kGNSStype ReferenceStationType, uint16_t ReferenceSationID,
1135 double AgeOfCorrection
1147 N2kMsg.
AddByte( (((
unsigned char) GNSStype) & 0x0f) | (((
unsigned char) GNSSmethod) & 0x0f)<<4 );
1153 if (nReferenceStations!=0xff && nReferenceStations>0) {
1155 N2kMsg.
Add2ByteInt( (((
int)ReferenceStationType) & 0x0f) | ReferenceSationID<<4 );
1157 }
else N2kMsg.
AddByte(nReferenceStations);
1161 double &Latitude,
double &Longitude,
double &Altitude,
1163 uint8_t &nSatellites,
double &HDOP,
double &PDOP,
double &GeoidalSeparation,
1164 uint8_t &nReferenceStations,
tN2kGNSStype &ReferenceStationType, uint16_t &ReferenceSationID,
1165 double &AgeOfCorrection
1167 if (N2kMsg.
PGN!=129029L)
return false;
1180 nSatellites=N2kMsg.
GetByte(Index);
1184 nReferenceStations=N2kMsg.
GetByte(Index);
1185 if (nReferenceStations!=
N2kUInt8NA && nReferenceStations>0) {
1209 if ( N2kMsg.
PGN != 129033L )
return false;
1222 double HDOP,
double VDOP,
double TDOP)
1227 N2kMsg.
AddByte( 0xc0 | ( (ActualMode & 0x07) << 3 ) | (DesiredMode & 0x07) );
1234 double& HDOP,
double& VDOP,
double& TDOP)
1236 if(N2kMsg.
PGN != 129539L)
1239 unsigned char modes;
1243 modes = N2kMsg.
GetByte(Index);
1255#define MaxSatelliteInfoCount 18
1261 N2kMsg.
AddByte(0xfc | (Mode & 0x03) );
1266 if(N2kMsg.
PGN != 129540L)
return false;
1269 uint8_t NumberOfSVs=N2kMsg.
GetByte(Index);
1275 N2kMsg.
SetByte(NumberOfSVs, Index);
1288 if(N2kMsg.
PGN != 129540L)
return false;
1294 NumberOfSVs = N2kMsg.
GetByte(Index);
1300 if(N2kMsg.
PGN != 129540L)
return false;
1303 uint8_t NumberOfSVs=N2kMsg.
GetByte(Index);
1315 SatelliteInfo.
PRN=0xff;
1331 double Latitude,
double Longitude,
bool Accuracy,
bool RAIM,
1337 N2kMsg.
AddByte((Repeat & 0x03)<<6 | (MessageID & 0x3f));
1341 N2kMsg.
AddByte((Seconds & 0x3f)<<2 | (RAIM & 0x01)<<1 | (Accuracy & 0x01));
1345 int32_t CSandTI=0x07ffff | ((AISTransceiverInformation & 0x1f) << 19);
1349 N2kMsg.
AddByte(0xF0 | (NavStatus & 0x0f));
1354 double &Latitude,
double &Longitude,
bool &Accuracy,
bool &RAIM, uint8_t &Seconds,
1355 double &COG,
double &SOG,
double &Heading,
double &ROT,
tN2kAISNavStatus &NavStatus)
1357 if (N2kMsg.
PGN!=129038L)
return false;
1366 vb=N2kMsg.
GetByte(Index); Accuracy=(vb & 0x01); RAIM=(vb>>1 & 0x01); Seconds=(vb>>2 & 0x3f);
1383 double Latitude,
double Longitude,
bool Accuracy,
bool RAIM,
1386 bool State,
unsigned char SID)
1390 N2kMsg.
AddByte((Repeat & 0x03)<<6 | (MessageID & 0x3f));
1394 N2kMsg.
AddByte((Seconds & 0x3f)<<2 | (RAIM & 0x01)<<1 | (Accuracy & 0x01));
1399 N2kMsg.
AddByte(((0x1f & AISTransceiverInformation) << 3) | 0x7);
1402 N2kMsg.
AddByte((Mode & 0x01)<<7 | (Msg22 & 0x01)<<6 | (Band & 0x01)<<5 |
1403 (DSC & 0x01)<<4 | (Display & 0x01)<<3 | (Unit & 0x01)<<2);
1404 N2kMsg.
AddByte(0xfe | (State & 0x01));
1410 double &Latitude,
double &Longitude,
bool &Accuracy,
bool &RAIM,
1412 double &Heading,
tN2kAISUnit &Unit,
bool &Display,
bool &DSC,
bool &Band,
bool &Msg22,
1415 if (N2kMsg.
PGN!=129039L)
return false;
1424 vb=N2kMsg.
GetByte(Index); Accuracy=(vb & 0x01); RAIM=(vb>>1 & 0x01); Seconds=(vb>>2 & 0x3f);
1434 Unit=(
tN2kAISUnit)(vb>>2 & 0x01); Display=(vb>>3 & 0x01); DSC=(vb>>4 & 0x01);
1435 Band=(vb>>5 & 0x01); Msg22=(vb>>6 & 0x01); Mode=(
tN2kAISMode)(vb>>7 & 0x01);
1436 vb=N2kMsg.
GetByte(Index); State=(vb & 0x01);
1467 if (N2kMsg.
PGN!=129041L)
return false;
1488 size_t AtoNNameSize =
sizeof(N2kData.
AtoNName);
1500 N2kMsg.
AddByte((
char)XTEMode | (NavigationTerminated?0x40:0));
1507 if(N2kMsg.
PGN != 129283L)
1515 NavigationTerminated = c & 0x40;
1524 double ETATime, int16_t ETADate,
double BearingOriginToDestinationWaypoint,
double BearingPositionToDestinationWaypoint,
1525 uint32_t OriginWaypointNumber, uint32_t DestinationWaypointNumber,
1526 double DestinationLatitude,
double DestinationLongitude,
double WaypointClosingVelocity) {
1531 N2kMsg.
AddByte((
char)BearingReference | (PerpendicularCrossed?0x04:0) | (ArrivalCircleEntered?0x10:0) | (CalculationType==
N2kdct_RhumbLine?0x40:0));
1545 double& ETATime, int16_t& ETADate,
double& BearingOriginToDestinationWaypoint,
double& BearingPositionToDestinationWaypoint,
1546 uint32_t& OriginWaypointNumber, uint32_t& DestinationWaypointNumber,
1547 double& DestinationLatitude,
double& DestinationLongitude,
double& WaypointClosingVelocity) {
1549 if(N2kMsg.
PGN != 129284L)
1558 PerpendicularCrossed = c & 0x04;
1559 ArrivalCircleEntered = c & 0x10;
1563 BearingOriginToDestinationWaypoint = N2kMsg.
Get2ByteUDouble(0.0001, Index);
1564 BearingPositionToDestinationWaypoint = N2kMsg.
Get2ByteUDouble(0.0001, Index);
1566 DestinationWaypointNumber = N2kMsg.
Get4ByteUInt(Index);
1583 N2kMsg.
AddByte(0xE0 | (SupplementaryData & 0x03)<<3 | (NavDirection & 0x07));
1589 if (N2kMsg.
PGN!=129285L)
return false;
1591 int NumItemsIdx, len;
1594 len = 12 + strlen(Name);
1614 uint32_t IMOnumber,
const char *Callsign,
const char *Name, uint8_t VesselType,
double Length,
1615 double Beam,
double PosRefStbd,
double PosRefBow, uint16_t ETAdate,
double ETAtime,
1621 N2kMsg.
AddByte((Repeat & 0x03)<<6 | (MessageID & 0x3f));
1635 N2kMsg.
AddByte((DTE & 0x01)<<6 | (GNSStype & 0x0f)<<2 | (AISversion & 0x03));
1636 N2kMsg.
AddByte(0xe0 | (AISinfo & 0x1f));
1641 uint32_t &IMOnumber,
char *Callsign,
size_t CallsignBufSize,
char *Name,
size_t NameBufSize,uint8_t &VesselType,
double &Length,
1642 double &Beam,
double &PosRefStbd,
double &PosRefBow, uint16_t &ETAdate,
double &ETAtime,
1646 if (N2kMsg.
PGN!=129794L)
return false;
1654 N2kMsg.
GetStr(CallsignBufSize, Callsign, 7,
'@', Index);
1655 N2kMsg.
GetStr(NameBufSize, Name, 20,
'@', Index);
1656 VesselType=N2kMsg.
GetByte(Index);
1664 N2kMsg.
GetStr(DestinationBufSize, Destination, 20,
'@', Index);
1677 N2kMsg.
AddByte((Repeat & 0x03)<<6 | (MessageID & 0x3f));
1684 if (N2kMsg.
PGN!=129809L)
return false;
1691 N2kMsg.
GetStr(NameBufSize, Name, 20,
'@', Index);
1699 uint8_t VesselType,
const char *Vendor,
const char *Callsign,
double Length,
double Beam,
1700 double PosRefStbd,
double PosRefBow, uint32_t MothershipID)
1704 N2kMsg.
AddByte((Repeat & 0x03)<<6 | (MessageID & 0x3f));
1718 uint8_t &VesselType,
char *Vendor,
size_t VendorBufSize,
char *Callsign,
size_t CallsignBufSize,
double &Length,
double &Beam,
1719 double &PosRefStbd,
double &PosRefBow, uint32_t &MothershipID)
1721 if (N2kMsg.
PGN!=129810L)
return false;
1728 VesselType=N2kMsg.
GetByte(Index);
1729 N2kMsg.
GetStr(VendorBufSize, Vendor, 7,
'@', Index);
1730 N2kMsg.
GetStr(CallsignBufSize, Callsign, 7,
'@', Index);
1754 if (N2kMsg.
PGN!=130074L)
return false;
1757 int NumItemsIdx, len;
1760 if (strlen(Name) > 0)
1761 len = 12 + strlen(Name);
1772 if (strlen(Name) == 0) {
1776 for (i=0; i<strlen(Name); i++)
1794 N2kMsg.
AddByte((
unsigned char)WindReference);
1800 if (N2kMsg.
PGN!=130306L)
return false;
1813 double OutsideAmbientAirTemperature,
double AtmosphericPressure) {
1824 double &OutsideAmbientAirTemperature,
double &AtmosphericPressure) {
1825 if (N2kMsg.
PGN!=130310L)
return false;
1843 N2kMsg.
AddByte(((HumiditySource) & 0x03)<<6 | (TempSource & 0x3f));
1851 if (N2kMsg.
PGN!=130311L)
return false;
1867 double ActualTemperature,
double SetTemperature) {
1871 N2kMsg.
AddByte((
unsigned char)TempInstance);
1872 N2kMsg.
AddByte((
unsigned char)TempSource);
1879 double &ActualTemperature,
double &SetTemperature) {
1880 if (N2kMsg.
PGN!=130312L)
return false;
1883 TempInstance=N2kMsg.
GetByte(Index);
1899 N2kMsg.
AddByte((
unsigned char) HumidityInstance);
1900 N2kMsg.
AddByte((
unsigned char) HumiditySource);
1908 if (N2kMsg.
PGN != 130313L)
return false;
1911 HumidityInstance=N2kMsg.
GetByte(Index);
1926 N2kMsg.
AddByte((
unsigned char) PressureInstance);
1927 N2kMsg.
AddByte((
unsigned char) PressureSource);
1934 if (N2kMsg.
PGN != 130314L)
return false;
1937 PressureInstance=N2kMsg.
GetByte(Index);
1951 N2kMsg.
AddByte((
unsigned char) PressureInstance);
1952 N2kMsg.
AddByte((
unsigned char) PressureSource);
1961 double ActualTemperature,
double SetTemperature) {
1965 N2kMsg.
AddByte((
unsigned char)TempInstance);
1966 N2kMsg.
AddByte((
unsigned char)TempSource);
1972 double &ActualTemperature,
double &SetTemperature) {
1973 if (N2kMsg.
PGN!=130316L)
return false;
1976 TempInstance=N2kMsg.
GetByte(Index);
1989 N2kMsg.
AddByte( (((
unsigned char) N2kData.
Mode) & 0x0f) | 0xf0 );
2006 if (N2kMsg.
PGN!=130323L)
return false;
2023 size_t StationIDSize =
sizeof(N2kData.
StationID);
2024 size_t StationNameSize =
sizeof(N2kData.
StationName);
2045 if (N2kMsg.
PGN!=130576L)
return false;
2047 PortTrimTab=N2kMsg.
GetByte(Index);
2048 StbdTrimTab=N2kMsg.
GetByte(Index);
2062 double SpeedThroughWater,
2071 (0x03 & CogReference) << 4 |
2090 double &SpeedThroughWater,
2094 if (N2kMsg.
PGN!=130577L)
return false;
void SetN2kPGN127506(tN2kMsg &N2kMsg, unsigned char SID, unsigned char DCInstance, tN2kDCType DCType, uint8_t StateOfCharge, uint8_t StateOfHealth, double TimeRemaining, double RippleVoltage, double Capacity)
bool ParseN2kPGN127506(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &DCInstance, tN2kDCType &DCType, uint8_t &StateOfCharge, uint8_t &StateOfHealth, double &TimeRemaining, double &RippleVoltage, double &Capacity)
void N2kSetStatusBinaryOnStatus(tN2kBinaryStatus &BankStatus, tN2kOnOff ItemStatus, uint8_t ItemIndex)
Set single status to full binary bank status.
bool ParseN2kPGN129029(const tN2kMsg &N2kMsg, unsigned char &SID, uint16_t &DaysSince1970, double &SecondsSinceMidnight, double &Latitude, double &Longitude, double &Altitude, tN2kGNSStype &GNSStype, tN2kGNSSmethod &GNSSmethod, uint8_t &nSatellites, double &HDOP, double &PDOP, double &GeoidalSeparation, uint8_t &nReferenceStations, tN2kGNSStype &ReferenceStationType, uint16_t &ReferenceSationID, double &AgeOfCorrection)
bool ParseN2kPGN129810(const tN2kMsg &N2kMsg, uint8_t &MessageID, tN2kAISRepeat &Repeat, uint32_t &UserID, uint8_t &VesselType, char *Vendor, size_t VendorBufSize, char *Callsign, size_t CallsignBufSize, double &Length, double &Beam, double &PosRefStbd, double &PosRefBow, uint32_t &MothershipID)
tN2kOnOff N2kGetStatusOnBinaryStatus(tN2kBinaryStatus BankStatus, uint8_t ItemIndex)
Get single status to full binary bank status.
#define MaxSatelliteInfoCount
This File contains all SetXXX functions which will be needed to transfer data with a specific PGN.
void N2kResetBinaryStatus(tN2kBinaryStatus &BankStatus)
Reset all single binary status values to not available.
uint64_t tN2kBinaryStatus
64bit Binary Status value of a full bank status, that can handle up to 28 item states in one value.
const double N2kDoubleNA
Constant "Not Available" for a double value.
const int16_t N2kInt16NA
Constant "Not Available" for a signed 16bit int value.
const uint16_t N2kUInt16NA
Constant "Not Available" for a unsigned 16bit int value.
const uint8_t N2kUInt8NA
Constant "Not Available" for a unsigned 8bit int value.
@ N2kdct_GreatCircle
great circle calculation
@ N2kdct_RhumbLine
rhumb line calculation
@ N2khr_magnetic
heading magnetic compass direction
@ N2khr_true
heading true (eg. GNSS) direction
@ N2kOnOff_Unavailable
Unavailable.
@ N2kGNSSt_GPS
only GPS satellite network
@ N2kDD124_Unavailable
no selection, unavailable
This class contains all the data of an NMEA2000 message.
void Add2ByteUDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 2 bytes.
void Add2ByteUInt(uint16_t v)
Add unsigned integer value to the buffer using 2 bytes The value will be added to the end (indicated ...
double Get3ByteDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 3 bytes out of Data The fixed point integer mechanism is used.
double Get4ByteDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 4 bytes out of Data The fixed point integer mechanism is used.
bool GetVarStr(size_t &StrBufSize, char *StrBuf, int &Index) const
Get a string out of Data This method determines the length of the string by it self,...
void Add4ByteUDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 4 bytes.
void Add2ByteInt(int16_t v)
Add integer value to the buffer using 2 bytes The value will be added to the end (indicated by DataLe...
void Add4ByteDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 4 bytes.
void Add3ByteDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 3 bytes.
void AddByte(unsigned char v)
Add byte value to the buffer The byte will be added to the end (indicated by DataLen) of the byte arr...
void Add2ByteDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 2 bytes.
void Add1ByteUDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 1 byte.
bool Set2ByteUInt(uint16_t v, int &Index)
Set a 2byte unsigned integer in Data.
void AddUInt64(uint64_t v)
Add unsigned integer value to the buffer using 8 bytes The value will be added to the end (indicated ...
uint16_t Get2ByteUInt(int &Index, uint16_t def=0xffff) const
Get an unsigned integer from 2 bytes out of Data.
double Get2ByteDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 2 bytes out of Data The fixed point integer mechanism is used.
void Add8ByteDouble(double v, double precision, double UndefVal=N2kDoubleNA)
Add double value to the buffer using 8 bytes.
static const int MaxDataLen
Maximum number of bytes that can be stored in the data buffer With fast packet the first frame can ha...
double Get2ByteUDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 2 bytes out of Data The fixed point integer mechanism is used.
void AddVarStr(const char *str, bool UsePgm=false)
Add string value to the buffer This method determines the length of the string by it self using strle...
unsigned char Priority
Priority of the NMEA2000 message.
bool SetByte(uint8_t v, int &Index)
Set a byte in Data.
double Get1ByteUDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 1 bytes out of Data The fixed point integer mechanism is used.
void Add3ByteInt(int32_t v)
Add integer value to the buffer using 3 bytes The value will be added to the end (indicated by DataLe...
void Add4ByteUInt(uint32_t v)
Add unsigned integer value to the buffer using 4 bytes The value will be added to the end (indicated ...
void SetPGN(unsigned long _PGN)
Set the Parameter Group Number of the message *.
unsigned char GetByte(int &Index) const
Get the value from a byte out of Data.
uint64_t GetUInt64(int &Index, uint64_t def=0xffffffffffffffffULL) const
Get an unsigned integer from 8 bytes out of Data.
int16_t Get2ByteInt(int &Index, int16_t def=0x7fff) const
Get an integer from 2 bytes out of Data.
bool GetStr(char *StrBuf, size_t Length, int &Index) const
Get a string out of Data.
void AddAISStr(const char *str, int len)
Add string value to the buffer after filtering characters as defined in ITU-R M.1371-1 The string wil...
double Get4ByteUDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 4 bytes out of Data The fixed point integer mechanism is used.
double Get8ByteDouble(double precision, int &Index, double def=N2kDoubleNA) const
Get a double from 8 bytes out of Data The fixed point integer mechanism is used.
uint32_t Get4ByteUInt(int &Index, uint32_t def=0xffffffff) const
Get an unsigned integer from 4 bytes out of Data.
int DataLen
Number of bytes already stored in tN2kMsg::Data of this message.
unsigned long PGN
Parameter Group Number (PGN) of the NMEA2000 message.
bool ParseN2kPGN127505(const tN2kMsg &N2kMsg, unsigned char &Instance, tN2kFluidType &FluidType, double &Level, double &Capacity)
Parsing the content of message PGN 127505 "Fluid level".
bool ParseN2kPGN129802(const tN2kMsg &N2kMsg, uint8_t &MessageID, tN2kAISRepeat &Repeat, uint32_t &SourceID, tN2kAISTransceiverInformation &AISTransceiverInformation, char *SafetyRelatedText, size_t &SafetyRelatedTextMaxSize)
Parsing the Content of a PGN129802 Message - "AIS Safety Related Broadcast Message".
bool ParseN2kPGN129025(const tN2kMsg &N2kMsg, double &Latitude, double &Longitude)
Parsing the content of PGN 129025 "Position, Rapid Update".
bool ParseN2kPGN128776(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &WindlassIdentifier, tN2kWindlassDirectionControl &WindlassDirectionControl, unsigned char &SpeedControl, tN2kSpeedType &SpeedControlType, tN2kGenericStatusPair &AnchorDockingControl, tN2kGenericStatusPair &PowerEnable, tN2kGenericStatusPair &MechanicalLock, tN2kGenericStatusPair &DeckAndAnchorWash, tN2kGenericStatusPair &AnchorLight, double &CommandTimeout, tN2kWindlassControlEvents &WindlassControlEvents)
Parsing the content of message PGN 128776 "Anchor Windlass Control Status".
bool ParseN2kPGN129039(const tN2kMsg &N2kMsg, uint8_t &MessageID, tN2kAISRepeat &Repeat, uint32_t &UserID, double &Latitude, double &Longitude, bool &Accuracy, bool &RAIM, uint8_t &Seconds, double &COG, double &SOG, tN2kAISTransceiverInformation &AISTransceiverInformation, double &Heading, tN2kAISUnit &Unit, bool &Display, bool &DSC, bool &Band, bool &Msg22, tN2kAISMode &Mode, bool &State)
Parsing the content of message PGN 129039 "AIS position reports for Class B".
bool ParseN2kPGN128777(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &WindlassIdentifier, double &RodeCounterValue, double &WindlassLineSpeed, tN2kWindlassMotionStates &WindlassMotionStatus, tN2kRodeTypeStates &RodeTypeStatus, tN2kAnchorDockingStates &AnchorDockingStatus, tN2kWindlassOperatingEvents &WindlassOperatingEvents)
Parsing the content of message PGN 128777 "Anchor Windlass Operating Status".
bool ParseN2kPGN128267(const tN2kMsg &N2kMsg, unsigned char &SID, double &DepthBelowTransducer, double &Offset, double &Range)
Parsing the content of message PGN 128267 "Water depth".
bool ParseN2kPGN130311(const tN2kMsg &N2kMsg, unsigned char &SID, tN2kTempSource &TempSource, double &Temperature, tN2kHumiditySource &HumiditySource, double &Humidity, double &AtmosphericPressure)
Parsing the content of message PGN 130311 "Environmental Parameters - DEPRECATED".
bool ParseN2kPGN127251(const tN2kMsg &N2kMsg, unsigned char &SID, double &RateOfTurn)
Parsing the content of Message PGN127251 "Rate of Turn".
bool ParseN2kPGN130576(const tN2kMsg &N2kMsg, int8_t &PortTrimTab, int8_t &StbdTrimTab)
Parsing the content of message PGN 130576 "Trim Tab Status".
bool ParseN2kPGN130306(const tN2kMsg &N2kMsg, unsigned char &SID, double &WindSpeed, double &WindAngle, tN2kWindReference &WindReference)
Parsing the content of message PGN 130306 "Wind Data".
bool ParseN2kPGN127488(const tN2kMsg &N2kMsg, unsigned char &EngineInstance, double &EngineSpeed, double &EngineBoostPressure, int8_t &EngineTiltTrim)
Parsing the content of Message PGN 127488 "Engine parameters rapid".
bool ParseN2kPGN127513(const tN2kMsg &N2kMsg, unsigned char &BatInstance, tN2kBatType &BatType, tN2kBatEqSupport &SupportsEqual, tN2kBatNomVolt &BatNominalVoltage, tN2kBatChem &BatChemistry, double &BatCapacity, int8_t &BatTemperatureCoefficient, double &PeukertExponent, int8_t &ChargeEfficiencyFactor)
Parsing the content of message PGN 127513 "Battery Configuration Status".
bool ParseN2kPGN129794(const tN2kMsg &N2kMsg, uint8_t &MessageID, tN2kAISRepeat &Repeat, uint32_t &UserID, uint32_t &IMOnumber, char *Callsign, size_t CallsignBufSize, char *Name, size_t NameBufSize, uint8_t &VesselType, double &Length, double &Beam, double &PosRefStbd, double &PosRefBow, uint16_t &ETAdate, double &ETAtime, double &Draught, char *Destination, size_t DestinationBufSize, tN2kAISVersion &AISversion, tN2kGNSStype &GNSStype, tN2kAISDTE &DTE, tN2kAISTransceiverInformation &AISinfo)
Parsing the content of message PGN 129794 "AIS static data class A".
bool ParseN2kPgn129539(const tN2kMsg &N2kMsg, unsigned char &SID, tN2kGNSSDOPmode &DesiredMode, tN2kGNSSDOPmode &ActualMode, double &HDOP, double &VDOP, double &TDOP)
Parsing the content of message PGN 129539 "GNSS DOP data".
bool ParseN2kPGN127237(const tN2kMsg &N2kMsg, tN2kOnOff &RudderLimitExceeded, tN2kOnOff &OffHeadingLimitExceeded, tN2kOnOff &OffTrackLimitExceeded, tN2kOnOff &Override, tN2kSteeringMode &SteeringMode, tN2kTurnMode &TurnMode, tN2kHeadingReference &HeadingReference, tN2kRudderDirectionOrder &CommandedRudderDirection, double &CommandedRudderAngle, double &HeadingToSteerCourse, double &Track, double &RudderLimit, double &OffHeadingLimit, double &RadiusOfTurnOrder, double &RateOfTurnOrder, double &OffTrackLimit, double &VesselHeading)
Parsing the Content of Message PGN127237 "Heading/Track control".
bool ParseN2kPGN130577(const tN2kMsg &N2kMsg, tN2kDataMode &DataMode, tN2kHeadingReference &CogReference, unsigned char &SID, double &COG, double &SOG, double &Heading, double &SpeedThroughWater, double &Set, double &Drift)
Parsing the content of message PGN 130577 "Direction Data".
bool ParseN2kPGN129033(const tN2kMsg &N2kMsg, uint16_t &DaysSince1970, double &SecondsSinceMidnight, int16_t &LocalOffset)
Parsing the content of message PGN 129033 "Date,Time & Local offset".
bool ParseN2kPGN127250(const tN2kMsg &N2kMsg, unsigned char &SID, double &Heading, double &Deviation, double &Variation, tN2kHeadingReference &ref)
Parsing Content of Message PGN 127250 "Vessel Heading".
bool ParseN2kPGN127258(const tN2kMsg &N2kMsg, unsigned char &SID, tN2kMagneticVariation &Source, uint16_t &DaysSince1970, double &Variation)
Parsing the content of Message PGN 127258 "Magnetic Variation".
bool ParseN2kPGN129540(const tN2kMsg &N2kMsg, unsigned char &SID, tN2kRangeResidualMode &Mode, uint8_t &NumberOfSVs)
Parsing the content of message PGN 129540 "GNSS Satellites in View".
bool ParseN2kPGN127245(const tN2kMsg &N2kMsg, double &RudderPosition, unsigned char &Instance, tN2kRudderDirectionOrder &RudderDirectionOrder, double &AngleOrder)
Parsing the content of Message PGN127245 "Rudder".
bool ParseN2kPGN129026(const tN2kMsg &N2kMsg, unsigned char &SID, tN2kHeadingReference &ref, double &COG, double &SOG)
Parsing the content of PGN 129026 "COG SOG rapid update".
bool ParseN2kPGN130323(const tN2kMsg &N2kMsg, tN2kMeteorlogicalStationData &N2kData)
Parsing the content of message PGN 130323 "Meterological Station Data".
bool ParseN2kPGN128778(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &WindlassIdentifier, double &TotalMotorTime, double &ControllerVoltage, double &MotorCurrent, tN2kWindlassMonitoringEvents &WindlassMonitoringEvents)
Parsing the content of message PGN128778 "Anchor Windlass Monitoring Status".
bool ParseN2kPGN127493(const tN2kMsg &N2kMsg, unsigned char &EngineInstance, tN2kTransmissionGear &TransmissionGear, double &OilPressure, double &OilTemperature, unsigned char &DiscreteStatus1)
Parsing the content of Message PGN 127493 "Transmission parameters, dynamic".
bool ParseN2kPGN129283(const tN2kMsg &N2kMsg, unsigned char &SID, tN2kXTEMode &XTEMode, bool &NavigationTerminated, double &XTE)
Parsing the content of Message PGN 129283 Message "Cross Track Error".
bool ParseN2kPGN127233(const tN2kMsg &N2kMsg, unsigned char &SID, uint32_t &MobEmitterId, tN2kMOBStatus &MOBStatus, double &ActivationTime, tN2kMOBPositionSource &PositionSource, uint16_t &PositionDate, double &PositionTime, double &Latitude, double &Longitude, tN2kHeadingReference &COGReference, double &COG, double &SOG, uint32_t &MMSI, tN2kMOBEmitterBatteryStatus &MOBEmitterBatteryStatus)
Parsing the Content of Message PGN127233 "Man Overboard Notification".
bool ParseN2kPGN128275(const tN2kMsg &N2kMsg, uint16_t &DaysSince1970, double &SecondsSinceMidnight, uint32_t &Log, uint32_t &TripLog)
Parsing the content of message PGN 128275 "Distance log".
bool ParseN2kPGN127489(const tN2kMsg &N2kMsg, unsigned char &EngineInstance, double &EngineOilPress, double &EngineOilTemp, double &EngineCoolantTemp, double &AltenatorVoltage, double &FuelRate, double &EngineHours, double &EngineCoolantPress, double &EngineFuelPress, int8_t &EngineLoad, int8_t &EngineTorque, tN2kEngineDiscreteStatus1 &Status1, tN2kEngineDiscreteStatus2 &Status2)
Parsing the content of Message PGN 127489 "Engine parameters dynamic".
bool ParseN2kPGN126992(const tN2kMsg &N2kMsg, unsigned char &SID, uint16_t &SystemDate, double &SystemTime, tN2kTimeSource &TimeSource)
Parsing the Content of a PGN126992 Message - "System date/time".
bool ParseN2kPGN130314(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &PressureInstance, tN2kPressureSource &PressureSource, double &ActualPressure)
Parsing the content of message PGN 130314 "Actual Pressure".
bool ParseN2kPGN130310(const tN2kMsg &N2kMsg, unsigned char &SID, double &WaterTemperature, double &OutsideAmbientAirTemperature, double &AtmosphericPressure)
Parsing the content of message PGN 130310 "Environmental Parameters - DEPRECATED".
bool ParseN2kPGN127507(const tN2kMsg &N2kMsg, unsigned char &Instance, unsigned char &BatteryInstance, tN2kChargeState &ChargeState, tN2kChargerMode &ChargerMode, tN2kOnOff &Enabled, tN2kOnOff &EqualizationPending, double &EqualizationTimeRemaining)
Parsing the content of message PGN 127507 "DC Charger Status".
bool ParseN2kPGN130316(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &TempInstance, tN2kTempSource &TempSource, double &ActualTemperature, double &SetTemperature)
Parsing the content of message PGN 130316 "Temperature, Extended Range".
bool ParseN2kPGN129284(const tN2kMsg &N2kMsg, unsigned char &SID, double &DistanceToWaypoint, tN2kHeadingReference &BearingReference, bool &PerpendicularCrossed, bool &ArrivalCircleEntered, tN2kDistanceCalculationType &CalculationType, double &ETATime, int16_t &ETADate, double &BearingOriginToDestinationWaypoint, double &BearingPositionToDestinationWaypoint, uint32_t &OriginWaypointNumber, uint32_t &DestinationWaypointNumber, double &DestinationLatitude, double &DestinationLongitude, double &WaypointClosingVelocity)
Parsing the content of message PGN 129284 "Navigation Data".
bool ParseN2kPGN127497(const tN2kMsg &N2kMsg, unsigned char &EngineInstance, double &TripFuelUsed, double &FuelRateAverage, double &FuelRateEconomy, double &InstantaneousFuelEconomy)
Parsing the content of Message PGN 127497 "Trip Parameters, Engine".
bool ParseN2kPGN128259(const tN2kMsg &N2kMsg, unsigned char &SID, double &WaterReferenced, double &GroundReferenced, tN2kSpeedWaterReferenceType &SWRT)
Parsing the content of message PGN 128259 "Boat Speed, Water Referenced".
bool ParseN2kPGN127508(const tN2kMsg &N2kMsg, unsigned char &BatteryInstance, double &BatteryVoltage, double &BatteryCurrent, double &BatteryTemperature, unsigned char &SID)
Parsing the content of message PGN 127508 "Battery Status".
bool ParseN2kPGN127502(const tN2kMsg &N2kMsg, unsigned char &TargetBankInstance, tN2kBinaryStatus &BankStatus)
Parse the content of a PGN 127502 (Switch Bank Control) message.
bool ParseN2kPGN130313(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &HumidityInstance, tN2kHumiditySource &HumiditySource, double &ActualHumidity, double &SetHumidity)
Parsing the content of message PGN 130313 "Humidity".
bool ParseN2kPGN127501(const tN2kMsg &N2kMsg, unsigned char &DeviceBankInstance, tN2kOnOff &Status1, tN2kOnOff &Status2, tN2kOnOff &Status3, tN2kOnOff &Status4)
Parsing the content of Message PGN 127501 Message "Universal Binary Status Report".
bool ParseN2kPGN129041(const tN2kMsg &N2kMsg, tN2kAISAtoNReportData &N2kData)
Parsing the content of message PGN 129041 "AIS Aids to Navigation (AtoN) Report".
bool ParseN2kPGN130312(const tN2kMsg &N2kMsg, unsigned char &SID, unsigned char &TempInstance, tN2kTempSource &TempSource, double &ActualTemperature, double &SetTemperature)
Parsing the content of message PGN 130312 "Temperature - DEPRECATED".
bool ParseN2kPGN129038(const tN2kMsg &N2kMsg, uint8_t &MessageID, tN2kAISRepeat &Repeat, uint32_t &UserID, double &Latitude, double &Longitude, bool &Accuracy, bool &RAIM, uint8_t &Seconds, double &COG, double &SOG, double &Heading, double &ROT, tN2kAISNavStatus &NavStatus)
Parsing the content of message PGN 129038 "AIS position reports for Class A".
bool ParseN2kPGN128000(const tN2kMsg &N2kMsg, unsigned char &SID, double &Leeway)
Parsing the content of Message PGN 128000 "Nautical Leeway Angle".
bool ParseN2kPGN127252(const tN2kMsg &N2kMsg, unsigned char &SID, double &Heave, double &Delay, tN2kDelaySource &DelaySource)
Parsing the content of Message PGN127252 "Heave".
bool ParseN2kPGN129809(const tN2kMsg &N2kMsg, uint8_t &MessageID, tN2kAISRepeat &Repeat, uint32_t &UserID, char *Name, size_t NameBufSize)
Parsing the content of message PGN 129809 "AIS static data class B part A".
bool ParseN2kPGN127257(const tN2kMsg &N2kMsg, unsigned char &SID, double &Yaw, double &Pitch, double &Roll)
Parsing the content of Message PGN 127257 "Attitude".
void SetN2kPGN129284(tN2kMsg &N2kMsg, unsigned char SID, double DistanceToWaypoint, tN2kHeadingReference BearingReference, bool PerpendicularCrossed, bool ArrivalCircleEntered, tN2kDistanceCalculationType CalculationType, double ETATime, int16_t ETADate, double BearingOriginToDestinationWaypoint, double BearingPositionToDestinationWaypoint, uint32_t OriginWaypointNumber, uint32_t DestinationWaypointNumber, double DestinationLatitude, double DestinationLongitude, double WaypointClosingVelocity)
Setting up PGN 129284 Message "Navigation Data".
void SetN2kPGN127245(tN2kMsg &N2kMsg, double RudderPosition, unsigned char Instance, tN2kRudderDirectionOrder RudderDirectionOrder, double AngleOrder)
Setting up PGN127245 Message "Rudder".
void SetN2kPGN129540(tN2kMsg &N2kMsg, unsigned char SID, tN2kRangeResidualMode Mode)
Setting up PGN 129540 Message "GNSS Satellites in View".
void SetN2kPGN128776(tN2kMsg &N2kMsg, unsigned char SID, unsigned char WindlassIdentifier, tN2kWindlassDirectionControl WindlassDirectionControl, unsigned char SpeedControl, tN2kSpeedType SpeedControlType, tN2kGenericStatusPair AnchorDockingControl, tN2kGenericStatusPair PowerEnable, tN2kGenericStatusPair MechanicalLock, tN2kGenericStatusPair DeckAndAnchorWash, tN2kGenericStatusPair AnchorLight, double CommandTimeout, const tN2kWindlassControlEvents &WindlassControlEvents)
Setting up PGN 128776 Message "Anchor Windlass Control Status".
void SetN2kPGN130314(tN2kMsg &N2kMsg, unsigned char SID, unsigned char PressureInstance, tN2kPressureSource PressureSource, double ActualPressure)
Setting up PGN 130314 Message "Actual Pressure".
void SetN2kPGN127502(tN2kMsg &N2kMsg, unsigned char TargetBankInstance, tN2kBinaryStatus BankStatus)
Set up PGN 127502 "Switch Bank Control" message.
void SetN2kPGN129809(tN2kMsg &N2kMsg, uint8_t MessageID, tN2kAISRepeat Repeat, uint32_t UserID, const char *Name)
Setting up PGN 129809 Message "AIS static data class B part A".
void SetN2kPGN129029(tN2kMsg &N2kMsg, unsigned char SID, uint16_t DaysSince1970, double SecondsSinceMidnight, double Latitude, double Longitude, double Altitude, tN2kGNSStype GNSStype, tN2kGNSSmethod GNSSmethod, unsigned char nSatellites, double HDOP, double PDOP, double GeoidalSeparation, unsigned char nReferenceStations, tN2kGNSStype ReferenceStationType, uint16_t ReferenceSationID, double AgeOfCorrection)
Setting up PGN 129029 Message "GNSS Position Data".
void SetN2kPGN127252(tN2kMsg &N2kMsg, unsigned char SID, double Heave, double Delay, tN2kDelaySource DelaySource)
Setting up PGN 127252 Message "Heave".
void SetN2kPGN130311(tN2kMsg &N2kMsg, unsigned char SID, tN2kTempSource TempSource, double Temperature, tN2kHumiditySource HumiditySource, double Humidity, double AtmosphericPressure)
Setting up PGN 130311 Message "Environmental Parameters - DEPRECATED".
bool AppendN2kPGN129285(tN2kMsg &N2kMsg, uint16_t ID, const char *Name, double Latitude, double Longitude)
Append another Waypoint to PGN 129285 "Route/WP information".
void SetN2kPGN130576(tN2kMsg &N2kMsg, int8_t PortTrimTab, int8_t StbdTrimTab)
Setting up PGN 130576 Message "Trim Tab Status".
void SetN2kPGN126992(tN2kMsg &N2kMsg, unsigned char SID, uint16_t SystemDate, double SystemTime, tN2kTimeSource TimeSource)
Setting up PGN126992 Message "System date/time".
void SetN2kPGN127497(tN2kMsg &N2kMsg, unsigned char EngineInstance, double TripFuelUsed, double FuelRateAverage, double FuelRateEconomy, double InstantaneousFuelEconomy)
Setting up PGN 127497 Message "Trip Parameters, Engine".
void SetN2kPGN127489(tN2kMsg &N2kMsg, unsigned char EngineInstance, double EngineOilPress, double EngineOilTemp, double EngineCoolantTemp, double AltenatorVoltage, double FuelRate, double EngineHours, double EngineCoolantPress, double EngineFuelPress, int8_t EngineLoad, int8_t EngineTorque, tN2kEngineDiscreteStatus1 Status1, tN2kEngineDiscreteStatus2 Status2)
Setting up PGN 127489 Message "Engine parameters dynamic".
void SetN2kPGN128778(tN2kMsg &N2kMsg, unsigned char SID, unsigned char WindlassIdentifier, double TotalMotorTime, double ControllerVoltage, double MotorCurrent, const tN2kWindlassMonitoringEvents &WindlassMonitoringEvents)
Setting up PGN 128778Message "Anchor Windlass Monitoring Status".
void SetN2kPGN129039(tN2kMsg &N2kMsg, uint8_t MessageID, tN2kAISRepeat Repeat, uint32_t UserID, double Latitude, double Longitude, bool Accuracy, bool RAIM, uint8_t Seconds, double COG, double SOG, tN2kAISTransceiverInformation AISTransceiverInformation, double Heading, tN2kAISUnit Unit, bool Display, bool DSC, bool Band, bool Msg22, tN2kAISMode Mode, bool State, unsigned char SID)
Setting up PGN 129039 Message "AIS position reports for Class B".
void SetN2kPGN128259(tN2kMsg &N2kMsg, unsigned char SID, double WaterReferenced, double GroundReferenced, tN2kSpeedWaterReferenceType SWRT)
Setting up PGN 128259 Message "Boat Speed, Water Referenced".
void SetN2kPGN129539(tN2kMsg &N2kMsg, unsigned char SID, tN2kGNSSDOPmode DesiredMode, tN2kGNSSDOPmode ActualMode, double HDOP, double VDOP, double TDOP)
Setting up PGN 129539 Message "GNSS DOP data".
void SetN2kPGN128777(tN2kMsg &N2kMsg, unsigned char SID, unsigned char WindlassIdentifier, double RodeCounterValue, double WindlassLineSpeed, tN2kWindlassMotionStates WindlassMotionStatus, tN2kRodeTypeStates RodeTypeStatus, tN2kAnchorDockingStates AnchorDockingStatus, const tN2kWindlassOperatingEvents &WindlassOperatingEvents)
Setting up PGN 128777 Message "Anchor Windlass Operating Status".
void SetN2kPGN130306(tN2kMsg &N2kMsg, unsigned char SID, double WindSpeed, double WindAngle, tN2kWindReference WindReference)
Setting up PGN 130306 Message "Wind Data".
void SetN2kPGN127488(tN2kMsg &N2kMsg, unsigned char EngineInstance, double EngineSpeed, double EngineBoostPressure, int8_t EngineTiltTrim)
Setting up PGN 127488 Message "Engine parameters rapid".
void SetN2kPGN127493(tN2kMsg &N2kMsg, unsigned char EngineInstance, tN2kTransmissionGear TransmissionGear, double OilPressure, double OilTemperature, unsigned char DiscreteStatus1)
Setting up PGN 127493 Message "Transmission parameters, dynamic".
void SetN2kPGN127507(tN2kMsg &N2kMsg, unsigned char Instance, unsigned char BatteryInstance, tN2kChargeState ChargeState, tN2kChargerMode ChargerMode, tN2kOnOff Enabled, tN2kOnOff EqualizationPending, double EqualizationTimeRemaining)
Setting up PGN 127507 Message "DC Charger Status".
void SetN2kPGN128275(tN2kMsg &N2kMsg, uint16_t DaysSince1970, double SecondsSinceMidnight, uint32_t Log, uint32_t TripLog)
Setting up PGN 128275 Message "Distance log".
void SetN2kPGN127257(tN2kMsg &N2kMsg, unsigned char SID, double Yaw, double Pitch, double Roll)
Setting up PGN 127257 Message "Attitude".
void SetN2kPGN127501(tN2kMsg &N2kMsg, unsigned char DeviceBankInstance, tN2kBinaryStatus BankStatus)
Setting up PGN 127501 Message "Universal Binary Status Report".
void SetN2kPGN127250(tN2kMsg &N2kMsg, unsigned char SID, double Heading, double Deviation, double Variation, tN2kHeadingReference ref)
Setting up PGN127250 Message "Vessel Heading".
void SetN2kPGN127508(tN2kMsg &N2kMsg, unsigned char BatteryInstance, double BatteryVoltage, double BatteryCurrent, double BatteryTemperature, unsigned char SID)
Setting up PGN 127508 Message "Battery Status".
void SetN2kPGN130310(tN2kMsg &N2kMsg, unsigned char SID, double WaterTemperature, double OutsideAmbientAirTemperature, double AtmosphericPressure)
Setting up PGN 130310 Message " Environmental Parameters - DEPRECATED".
void SetN2kPGN127513(tN2kMsg &N2kMsg, unsigned char BatInstance, tN2kBatType BatType, tN2kBatEqSupport SupportsEqual, tN2kBatNomVolt BatNominalVoltage, tN2kBatChem BatChemistry, double BatCapacity, int8_t BatTemperatureCoefficient, double PeukertExponent, int8_t ChargeEfficiencyFactor)
Setting up PGN 127513 Message "Battery Configuration Status".
bool AppendN2kPGN129540(tN2kMsg &N2kMsg, const tSatelliteInfo &SatelliteInfo)
Append a new satellite info to PGN 129540 Message "GNSS Satellites in View".
void SetN2kPGN129026(tN2kMsg &N2kMsg, unsigned char SID, tN2kHeadingReference ref, double COG, double SOG)
Setting up PGN 129026 Message "COG SOG rapid update".
void SetN2kPGN130323(tN2kMsg &N2kMsg, const tN2kMeteorlogicalStationData &N2kData)
Setting up PGN 130323 Message "Meterological Station Data".
void SetN2kPGN129285(tN2kMsg &N2kMsg, uint16_t Start, uint16_t Database, uint16_t Route, tN2kNavigationDirection NavDirection, const char *RouteName, tN2kGenericStatusPair SupplementaryData)
Setting up PGN 129285 Message "Route/WP information".
void SetN2kPGN129794(tN2kMsg &N2kMsg, uint8_t MessageID, tN2kAISRepeat Repeat, uint32_t UserID, uint32_t IMOnumber, const char *Callsign, const char *Name, uint8_t VesselType, double Length, double Beam, double PosRefStbd, double PosRefBow, uint16_t ETAdate, double ETAtime, double Draught, const char *Destination, tN2kAISVersion AISversion, tN2kGNSStype GNSStype, tN2kAISDTE DTE, tN2kAISTransceiverInformation AISinfo)
Setting up PGN 129794 Message "AIS static data class A".
void SetN2kPGN127251(tN2kMsg &N2kMsg, unsigned char SID, double RateOfTurn)
Setting up PGN 127251 Message "Rate of Turn".
void SetN2kPGN129802(tN2kMsg &N2kMsg, uint8_t MessageID, tN2kAISRepeat Repeat, uint32_t SourceID, tN2kAISTransceiverInformation AISTransceiverInformation, char *SafetyRelatedText)
Setting up PGN129802 Message "AIS Safety Related Broadcast Message".
void SetN2kPGN127233(tN2kMsg &N2kMsg, unsigned char SID, uint32_t MobEmitterId, tN2kMOBStatus MOBStatus, double ActivationTime, tN2kMOBPositionSource PositionSource, uint16_t PositionDate, double PositionTime, double Latitude, double Longitude, tN2kHeadingReference COGReference, double COG, double SOG, uint32_t MMSI, tN2kMOBEmitterBatteryStatus MOBEmitterBatteryStatus)
Setting up PGN127233 Message "Man Overboard Notification".
void SetN2kPGN129033(tN2kMsg &N2kMsg, uint16_t DaysSince1970, double SecondsSinceMidnight, int16_t LocalOffset)
Setting up PGN 129033 Message "Date,Time & Local offset".
void SetN2kPGN129810(tN2kMsg &N2kMsg, uint8_t MessageID, tN2kAISRepeat Repeat, uint32_t UserID, uint8_t VesselType, const char *Vendor, const char *Callsign, double Length, double Beam, double PosRefStbd, double PosRefBow, uint32_t MothershipID)
Setting up PGN 129810 Message "AIS static data class B part B".
void SetN2kPGN130316(tN2kMsg &N2kMsg, unsigned char SID, unsigned char TempInstance, tN2kTempSource TempSource, double ActualTemperature, double SetTemperature)
Setting up PGN 130316 Message "Temperature, Extended Range".
void SetN2kPGN127237(tN2kMsg &N2kMsg, tN2kOnOff RudderLimitExceeded, tN2kOnOff OffHeadingLimitExceeded, tN2kOnOff OffTrackLimitExceeded, tN2kOnOff Override, tN2kSteeringMode SteeringMode, tN2kTurnMode TurnMode, tN2kHeadingReference HeadingReference, tN2kRudderDirectionOrder CommandedRudderDirection, double CommandedRudderAngle, double HeadingToSteerCourse, double Track, double RudderLimit, double OffHeadingLimit, double RadiusOfTurnOrder, double RateOfTurnOrder, double OffTrackLimit, double VesselHeading)
Setting up PGN127237 Message "Heading/Track control".
void SetN2kPGN129041(tN2kMsg &N2kMsg, const tN2kAISAtoNReportData &N2kData)
Setting up PGN 129041 Message "AIS Aids to Navigation (AtoN) Report".
void SetN2kPGN129038(tN2kMsg &N2kMsg, uint8_t MessageID, tN2kAISRepeat Repeat, uint32_t UserID, double Latitude, double Longitude, bool Accuracy, bool RAIM, uint8_t Seconds, double COG, double SOG, tN2kAISTransceiverInformation AISTransceiverInformation, double Heading, double ROT, tN2kAISNavStatus NavStatus)
Setting up PGN 129038 Message "AIS position reports for Class A".
void SetN2kPGN129283(tN2kMsg &N2kMsg, unsigned char SID, tN2kXTEMode XTEMode, bool NavigationTerminated, double XTE)
Setting up PGN 129283 Message "Cross Track Error".
void SetN2kPGN130313(tN2kMsg &N2kMsg, unsigned char SID, unsigned char HumidityInstance, tN2kHumiditySource HumiditySource, double ActualHumidity, double SetHumidity)
Setting up PGN 130313 Message "Humidity".
void SetN2kPGN127505(tN2kMsg &N2kMsg, unsigned char Instance, tN2kFluidType FluidType, double Level, double Capacity)
Setting up PGN 127505 Message "Fluid level".
bool AppendN2kPGN130074(tN2kMsg &N2kMsg, uint16_t ID, char *Name, double Latitude, double Longitude)
Append a Waypoint to PGN 130074 Message " Route and WP Service - WP List - WP Name & Position...
void SetN2kPGN128267(tN2kMsg &N2kMsg, unsigned char SID, double DepthBelowTransducer, double Offset, double Range)
Setting up PGN 128267 Message "Water depth".
void SetN2kPGN130577(tN2kMsg &N2kMsg, tN2kDataMode DataMode, tN2kHeadingReference CogReference, unsigned char SID, double COG, double SOG, double Heading, double SpeedThroughWater, double Set, double Drift)
Setting up PGN 130577 Message "Direction Data".
void SetN2kPGN129025(tN2kMsg &N2kMsg, double Latitude, double Longitude)
Setting up PGN 129025 Message "Position, Rapid Update".
void SetN2kPGN130315(tN2kMsg &N2kMsg, unsigned char SID, unsigned char PressureInstance, tN2kPressureSource PressureSource, double SetPressure)
Setting up PGN 130315 Message "Set Pressure".
void SetN2kPGN127258(tN2kMsg &N2kMsg, unsigned char SID, tN2kMagneticVariation Source, uint16_t DaysSince1970, double Variation)
Setting up PGN 127258 Message "Magnetic Variation".
void SetN2kPGN130312(tN2kMsg &N2kMsg, unsigned char SID, unsigned char TempInstance, tN2kTempSource TempSource, double ActualTemperature, double SetTemperature)
Setting up PGN 130312 Message "Temperature - DEPRECATED".
void SetN2kPGN128000(tN2kMsg &N2kMsg, unsigned char SID, double Leeway)
Setting up PGN 128000 Message "Nautical Leeway Angle".
void SetN2kPGN130074(tN2kMsg &N2kMsg, uint16_t Start, uint16_t NumWaypoints, uint16_t Database)
Setting up PGN 130074 Message " Route and WP Service - WP List - WP Name & Position".
tN2kDistanceCalculationType
Enumeration of distance calculation types for navigation according to PGN129284.
tN2kDD481
DD481 - Rode Type States according to PGN 128777.
tN2kChargerMode
Enumeration of charger modes according to PGN 127507.
tN2kHeadingReference
Enumeration of the heading type according to PGN129233, PGN129237 , PGN129250, PGN129026 and PGN12928...
tN2kAISMode
Enumeration of AIS mode type according to PGN 129039.
tN2kAISDTE
Enumeration of Data Terminal Equipment according to PNG 129794.
tN2kBatNomVolt
Enumeration of nominal battery voltage according to PGN 127513.
tN2kNavigationDirection
Enumeration of the navigation direction according to PGN129285.
tN2kTimeSource
Enumeration of sources for the system time according to PGN126992.
tN2kChargeState
Enumeration of state of the battery charger operation according to PGN127507.
tN2kMagneticVariation
Enumeration of magnetic variation according to PGN 127258.
tN2kDD305 tN2kAISAtoNType
Alias easier for humans to read for tN2kDD305.
tN2kRudderDirectionOrder
Enumeration of Rudder Direction Order according to PGN127237, 127245.
tN2kDD482
DD482 - Anchor Docking States according to PGN 128777.
tN2kDD480 tN2kWindlassMotionStates
Alias easier for humans to read for tN2kDD480.
tN2kMOBPositionSource
Enumeration of ManOverBoard position source according to PGN127233.
tN2kGNSSmethod
Enumeration of GNSS working methods according to PGN129029.
tN2kTransmissionGear
Enumeration of transmission state according to PGN 127493.
tN2kDD025 tN2kDataMode
Alias easier for humans to read for tN2kDD025.
tN2kDCType
Enumeration of DC power sources according to PGN 127506.
tN2kDD072
DD072 - Range Residual Mode.
tN2kDD025
DD025 - Mode, Data.
tN2kMOBEmitterBatteryStatus
Enumeration of MOB emitter battery status according to PGN127233.
tN2kTurnMode
Enumeration of tunr control modes according to PGN127237.
tN2kOnOff
Enumeration of On/Off status at a NMEA 2000 network.
tN2kDD488 tN2kSpeedType
Alias easier for humans to read for tN2kDD488.
tN2kDD482 tN2kAnchorDockingStates
Alias easier for humans to read for tN2kDD482.
tN2kDD124 tN2kPRNUsageStatus
Alias easier for humans to read for tN2kDD124.
tN2kWindReference
Enumeration of wind reference types according to PGN130306.
tN2kSteeringMode
Enumeration of the steering mode according to PGN127237.
tN2kAISUnit
Enumeration of AIS unit (transmission) type according to PGN 129039.
tN2kDD374
Measurement delay source.
tN2kTempSource
Enumeration of sources for a temperature value according to PGN130311, PGN130312 and PGN130316.
tN2kMOBStatus
Enumeration of ManOverBoard state according to PGN127233.
tN2kGNSSDOPmode
Enumeration of GNSS DOP Mode according to PGN129539.
tN2kDD002
DD002 - Generic Status Pair.
tN2kDD484 tN2kWindlassDirectionControl
Alias easier for humans to read for tN2kDD484.
tN2kBatChem
Enumeration of battery chemistries according to PGN 127513.
tN2kBatType
Enumeration of Battery types according to PGN 127513.
tN2kGNSStype
Enumeration of the GPS system which is in use according to PGN129029, PGN129041 and PGN129794.
tN2kAISNavStatus
Enumeration of navigational status of an ship sending out an AIS signal according to PGN 129038.
tN2kDD002 tN2kGenericStatusPair
Alias easier for humans to read for tN2kDD002.
tN2kSpeedWaterReferenceType
Enumeration of speed thru water sensors types according to PGN128259.
tN2kDD481 tN2kRodeTypeStates
Alias easier for humans to read for tN2kDD481.
tN2kDD488
DD488 - Speed Control Type according to PGN 128776.
tN2kBatEqSupport
Enumeration of Supports Equalization according to PGN 127513.
tN2kHumiditySource
Enumeration of sources for a humidity value according to PGN130311 and PGN130313.
tN2kDD480
DD480 - Windlass Motion States according to PGN 128777.
tN2kDD072 tN2kRangeResidualMode
Alias easier for humans to read for tN2kDD072.
tN2kAISTransceiverInformation
Enumeration of 129039, 129041, 129802.
tN2kAISRepeat
Enumeration of AIS repeat indicator according to PGN129802, PGN129809, PGN129810, PGN129038,...
tN2kPressureSource
Enumeration of sources for a pressure value according to PGN130314 and PGN130315.
tN2kFluidType
Enumeration of fluid types according to PGN127505.
tN2kDD484
DD484 - Windlass Direction Control according to PGN 128776.
tN2kXTEMode
Enumeration of Cross Track Error modes according to PGN129283.
tN2kDD374 tN2kDelaySource
Alias easier for humans to read for tN2kDD374.
tN2kAISVersion
Enumeration of AIS version which is used in PGN 129794.
Dedicated structure to handle AIS Aids to Navigation (AtoN) Report.
tN2kGNSStype GNSSType
Type of electronic position fixing device See tN2kGNSStype.
bool OffPositionIndicator
Off Position Indicator For floating AtoN, only.
double Length
AtoN Structure Length/Diameter in meters.
double PositionReferenceStarboard
Position Reference Point from Starboard Structure Edge/Radius.
double Beam
AtoN Structure Beam/Diameter in meters.
double PositionReferenceTrueNorth
Position Reference Point from True North facing Structure Edge/Radius.
char AtoNName[34+1]
Name of AtoN Object.
tN2kAISAtoNType AtoNType
Aid to Navigation (AtoN) Type, see tN2kAISAtoNType.
double Latitude
latitude of position [degree]
bool VirtualAtoNFlag
Virtual AtoN flag.
uint8_t AtoNStatus
AtoN Status byte Reserved for the indication of the AtoN status 00000000 = default.
uint32_t UserID
MMSI number.
bool AssignedModeFlag
Assigned Mode Flag.
uint8_t Seconds
TimeStamp UTC second when the report was generated.
bool RAIM
Receiver autonomous integrity monitoring (RAIM) flag of electronic position fixing device.
tN2kAISRepeat Repeat
Repeat indicator, Used by the repeater to indicate how many times a message has been repeated....
tN2kAISTransceiverInformation AISTransceiverInformation
AIS Transceiver Information see tN2kAISTransceiverInformation.
double Longitude
longitude of position [degree]
uint8_t MessageID
Message Type ID according to e ITU-R M.1371.
bool Accuracy
position accuracy
Dedicated structure to handle Data of a meterological station.
double AtmosphericPressure
Atmospheric pressure in Pascals. Use mBarToPascal, if you like to use mBar.
double WindDirection
Measured wind direction in radians. If you have value in degrees, use DegToRad() in call.
double OutsideAmbientAirTemperature
Outside ambient temperature in K. Use CToKelvin, if you want to use °C.
double WindSpeed
Measured wind speed in m/s.
double Longitude
The longitude of the current waypoint [degree].
char StationID[15+1]
Identifier of the transmitting weather station. (15 bytes max)
double WindGusts
Measured wind gusts speed in m/s.
double Latitude
The latitude of the current waypoint [degree].
char StationName[50+1]
Friendly name of the transmitting weather station. ( 50 bytes max)
tN2kWindReference WindReference
Wind reference, see definition tN2kWindReference.
double SystemTime
seconds since midnight
uint16_t SystemDate
Days since 1970-01-01.
Dedicated structure to handle GNSS satellite information.
double Azimuth
Azimuth of the satellite.
tN2kPRNUsageStatus UsageStatus
Usage Status, see tN2kPRNUsageStatus.
double RangeResiduals
Range Residual.
unsigned char PRN
PRN number [ 01 .. 32] of the satellite.
double SNR
SignalToNoiseRatio of the satellite.
double Elevation
Elevation of the satellite.
DD206 - Engine Discrete Warning Status.
uint16_t Status
2byte status with all individual status bits included
DD223 - Engine Discrete Warning Status.
uint16_t Status
2byte status with all individual status bits included
DD477 - Windlass Monitoring Events according to PGN 128778.
void SetEvents(unsigned char _Events)
unsigned char Events
1byte of all Windlass Monitoring Events, 0x00 would be NoErrors present
DD478 - Windlass Control Events according to PGN 128776.
unsigned char Events
1byte of all Windlass Control Events, 0x00 would be NoErrors present
void SetEvents(unsigned char _Events)
DD483 - Windlass Operating Events according to PGN 128777.
void SetEvents(unsigned char _Events)
unsigned char Events
1byte of all Windlass Operating Events, 0x00 would be NoErrors present