Merge pull request #6 from free-x/feature/env2

[WIP] N2K Meteogramms
This commit is contained in:
Andreas Vogel 2021-11-22 10:22:23 +00:00 committed by GitHub
commit 769cf33e67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 1 deletions

View File

@ -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

View File

@ -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

View File

@ -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