diff --git a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp index 659fad8..b5bddf8 100644 --- a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp +++ b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp @@ -1213,6 +1213,23 @@ private: finalizeXdr(); } + void Handle130313(const tN2kMsg &msg){ + unsigned char SID=-1; + unsigned char HumidityInstance=0; + tN2kHumiditySource HumiditySource; + double ActualHumidity=N2kDoubleNA; + double SetHumidity=N2kDoubleNA; + if (!ParseN2kPGN130313(msg,SID,HumidityInstance,HumiditySource,ActualHumidity,SetHumidity)){ + LOG_DEBUG(GwLog::DEBUG,"unable to parse PGN %d",msg.PGN); + return; + } + GwXDRFoundMapping mapping=xdrMappings->getMapping(XDRHUMIDITY,(int)HumiditySource,0,HumidityInstance); + if (mapping.empty) return; + LOG_DEBUG(GwLog::DEBUG,"found humidity mapping %s",mapping.definition->toString().c_str()); + addToXdr(buildXdrEntry(mapping,ActualHumidity)); + finalizeXdr(); + } + void Handle130314(const tN2kMsg &msg){ unsigned char SID=-1; unsigned char PressureInstance=0; @@ -1257,6 +1274,7 @@ private: converters.registerConverter(129283UL, &N2kToNMEA0183Functions::HandleXTE); converters.registerConverter(129284UL, &N2kToNMEA0183Functions::HandleNavigation); converters.registerConverter(130312UL, &N2kToNMEA0183Functions::Handle130312); + converters.registerConverter(130313UL, &N2kToNMEA0183Functions::Handle130313); converters.registerConverter(130314UL, &N2kToNMEA0183Functions::Handle130314); #define HANDLE_AIS #ifdef HANDLE_AIS