diff --git a/lib/log/GWLog.cpp b/lib/log/GWLog.cpp index e6e6501..2f97cbe 100644 --- a/lib/log/GWLog.cpp +++ b/lib/log/GWLog.cpp @@ -44,6 +44,9 @@ void GwLog::logDebug(int level,const char *fmt,...){ return; } writer->write(prefix.c_str()); + char buf[20]; + snprintf(buf,20,"%lu:",millis()); + writer->write(buf); writer->write(buffer); writer->write("\n"); xSemaphoreGive(locker); diff --git a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp index c911dd8..3d30a71 100644 --- a/lib/nmea2kto0183/N2kDataToNMEA0183.cpp +++ b/lib/nmea2kto0183/N2kDataToNMEA0183.cpp @@ -32,9 +32,9 @@ -N2kDataToNMEA0183::N2kDataToNMEA0183(GwLog * logger, GwBoatData *boatData, tNMEA2000 *NMEA2000, +N2kDataToNMEA0183::N2kDataToNMEA0183(GwLog * logger, GwBoatData *boatData, tSendNMEA0183MessageCallback callback, int id,String talkerId) -: tNMEA2000::tMsgHandler(0,NMEA2000){ + { SendNMEA0183MessageCallback=0; this->SendNMEA0183MessageCallback=callback; strncpy(this->talkerId,talkerId.c_str(),2); @@ -146,7 +146,7 @@ private: LOG_DEBUG(GwLog::DEBUG+1,"no handler for %ld",N2kMsg.PGN); } else{ - //LOG_DEBUG(GwLog::DEBUG+1,"handled %ld",N2kMsg.PGN); + LOG_DEBUG(GwLog::DEBUG+1,"handled %ld",N2kMsg.PGN); } } virtual void toJson(JsonDocument &json) @@ -1252,9 +1252,9 @@ private: public: N2kToNMEA0183Functions(GwLog *logger, GwBoatData *boatData, - tNMEA2000 *NMEA2000, tSendNMEA0183MessageCallback callback, int sourceId, + tSendNMEA0183MessageCallback callback, int sourceId, String talkerId, GwXDRMappings *xdrMappings) - : N2kDataToNMEA0183(logger, boatData, NMEA2000, callback,sourceId,talkerId) + : N2kDataToNMEA0183(logger, boatData, callback,sourceId,talkerId) { LastPosSend = 0; lastLoopTime = 0; @@ -1277,9 +1277,9 @@ private: }; -N2kDataToNMEA0183* N2kDataToNMEA0183::create(GwLog *logger, GwBoatData *boatData, tNMEA2000 *NMEA2000, +N2kDataToNMEA0183* N2kDataToNMEA0183::create(GwLog *logger, GwBoatData *boatData, tSendNMEA0183MessageCallback callback, int sourceId,String talkerId, GwXDRMappings *xdrMappings){ LOG_DEBUG(GwLog::LOG,"creating N2kToNMEA0183"); - return new N2kToNMEA0183Functions(logger,boatData,NMEA2000,callback, sourceId,talkerId,xdrMappings); + return new N2kToNMEA0183Functions(logger,boatData,callback, sourceId,talkerId,xdrMappings); } //***************************************************************************** diff --git a/lib/nmea2kto0183/N2kDataToNMEA0183.h b/lib/nmea2kto0183/N2kDataToNMEA0183.h index a1f3ba0..d95e8a3 100644 --- a/lib/nmea2kto0183/N2kDataToNMEA0183.h +++ b/lib/nmea2kto0183/N2kDataToNMEA0183.h @@ -31,7 +31,7 @@ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include //------------------------------------------------------------------------------ -class N2kDataToNMEA0183 : public tNMEA2000::tMsgHandler +class N2kDataToNMEA0183 { public: using tSendNMEA0183MessageCallback = void (*)(const tNMEA0183Msg &NMEA0183Msg, int id); @@ -43,11 +43,11 @@ protected: char talkerId[3]; tSendNMEA0183MessageCallback SendNMEA0183MessageCallback; void SendMessage(const tNMEA0183Msg &NMEA0183Msg); - N2kDataToNMEA0183(GwLog *logger, GwBoatData *boatData, tNMEA2000 *NMEA2000, + N2kDataToNMEA0183(GwLog *logger, GwBoatData *boatData, tSendNMEA0183MessageCallback callback, int sourceId,String talkerId); public: - static N2kDataToNMEA0183* create(GwLog *logger, GwBoatData *boatData, tNMEA2000 *NMEA2000, tSendNMEA0183MessageCallback callback, + static N2kDataToNMEA0183* create(GwLog *logger, GwBoatData *boatData, tSendNMEA0183MessageCallback callback, int sourceId,String talkerId, GwXDRMappings *xdrMappings); virtual void HandleMsg(const tN2kMsg &N2kMsg) = 0; virtual void loop(); diff --git a/src/main.cpp b/src/main.cpp index 5aed3c5..071d610 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -529,7 +529,7 @@ void setup() { xdrMappings.begin(); logger.flush(); - nmea0183Converter= N2kDataToNMEA0183::create(&logger, &boatData,&NMEA2000, + nmea0183Converter= N2kDataToNMEA0183::create(&logger, &boatData, SendNMEA0183Message, N2K_CHANNEL_ID,config.getString(config.talkerId,String("GP")),&xdrMappings); toN2KConverter= NMEA0183DataToN2K::create(&logger,&boatData,[](const tN2kMsg &msg)->bool{ @@ -591,7 +591,9 @@ void setup() { if ( N2kToSeasmart(n2kMsg, millis(), buf, MAX_NMEA2000_MESSAGE_SEASMART_SIZE) == 0 ) return; socketServer.sendToClients(buf,N2K_CHANNEL_ID); } + logger.logDebug(GwLog::DEBUG+1,"handling pgn %d",n2kMsg.PGN); nmea0183Converter->HandleMsg(n2kMsg); + logger.logDebug(GwLog::DEBUG+1,"done pgn %d",n2kMsg.PGN); }); NMEA2000.Open(); logger.logDebug(GwLog::LOG,"starting addon tasks");