diff --git a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp index bf934c8..99c2615 100644 --- a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp +++ b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp @@ -1190,6 +1190,40 @@ private: SendMessage(nmeaMsg); } + void Handle130312(const tN2kMsg &msg){ + unsigned char SID=-1; + unsigned char TemperatureInstance=0; + tN2kTempSource TemperatureSource; + double Temperature=N2kDoubleNA; + double setTemperature=N2kDoubleNA; + if (!ParseN2kPGN130312(msg,SID,TemperatureInstance,TemperatureSource,Temperature,setTemperature)){ + LOG_DEBUG(GwLog::DEBUG,"unable to parse PGN %d",msg.PGN); + return; + } + GwXDRFoundMapping mapping=xdrMappings->getMapping(XDRTEMP,(int)TemperatureSource,0,TemperatureInstance); + if (mapping.empty) return; + LOG_DEBUG(GwLog::DEBUG,"found temperature mapping %s",mapping.definition->toString().c_str()); + addToXdr(buildXdrEntry(mapping,Temperature)); + 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; @@ -1233,6 +1267,8 @@ private: converters.registerConverter(127251UL, &N2kToNMEA0183Functions::HandleROT); 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 diff --git a/platformio.ini b/platformio.ini index 02ff4d0..f3f6732 100644 --- a/platformio.ini +++ b/platformio.ini @@ -29,6 +29,7 @@ extra_scripts = pre:extra_script.py post:post.py build_flags = -Igenerated +monitor_speed = 115200 [env:m5stack-atom] board = m5stack-atom diff --git a/src/main.cpp b/src/main.cpp index 071d610..e514809 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -543,7 +543,7 @@ void setup() { NMEA2000.SetN2kCANReceiveFrameBufSize(250); NMEA2000.SetN2kCANSendFrameBufSize(250); - esp_efuse_read_mac(chipid); + esp_efuse_mac_get_default(chipid); for (int i = 0; i < 6; i++) id += (chipid[i] << (7 * i)); // Set product information