AK-Homberger / NMEA2000-AIS-Gateway

An ESP32 based gateway to read NMEA0183 AIS messages and transform them to NMEA2000 PGNs.
GNU General Public License v3.0
30 stars 4 forks source link

error message in Arduino IDE #2

Closed hans-martijn closed 1 year ago

hans-martijn commented 1 year ago

Dear mr Homberger,

I get the following error in the Arduino IDE:

In file included from /Users/hans/Documents/Arduino/NMEA2000-AIS-Gateway-main/MyAISToN2k/MyAISToN2k.ino:32:0: /Users/hans/Documents/Arduino/NMEA2000-AIS-Gateway-main/MyAISToN2k/NMEA0183AIStoNMEA2000.h: In member function 'virtual void MyAisDecoder::onType5(unsigned int, unsigned int, unsigned int, const string&, const string&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const string&, unsigned int, unsigned int, bool)': /Users/hans/Documents/Arduino/NMEA2000-AIS-Gateway-main/MyAISToN2k/NMEA0183AIStoNMEA2000.h:156:49: error: 'tN2kAISTranceiverInfo' was not declared in this scope (tN2kAISDTE) _dte, (tN2kAISTranceiverInfo) _ais_version); ^

exit status 1

Compilation error: 'tN2kAISTranceiverInfo' was not declared in this scope

I tried the Arduino IDE because the device didn't work, so I tried to rewrite it to the ESP32.

Thanks in advance, Hans Visscher

AK-Homberger commented 1 year ago

Hi, it looks like changes in NMEA2000 library in the file "N2kTypes.h" (https://github.com/ttlappalainen/NMEA2000/blob/master/src/N2kTypes.h) For me it looks lie the type name changed to "tN2kAISTransceiverInformation". I'm currently not able to check/verify if that solves the problem. Can you please report, if the new name solves the issue.

Regards, Andreas

hans-martijn commented 1 year ago

Hi Andreas,

That worked partially; now I do get other errors. I didn't expect you to react so swiftly, so thank you for doing so (I am in the same timezone, so you are probably working now).

The new errors are these: /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In function tNMEA2000_esp32::CANGetFrame(unsigned long&, unsigned char&, unsigned char*)': /Users/hans/Documents/Arduino/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp:99: multiple definition oftNMEA2000_esp32::CANGetFrame(unsigned long&, unsigned char&, unsigned char)' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:/Users/hans/Documents/Arduino/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp:99: first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In function tNMEA2000_esp32::tNMEA2000_esp32(gpio_num_t, gpio_num_t)': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp32C2E10gpio_num_tS0_+0x0): multiple definition oftNMEA2000_esp32::tNMEA2000_esp32(gpio_num_t, gpio_num_t)' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp32C2E10gpio_numtS0+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In function tNMEA2000_esp32::tNMEA2000_esp32(gpio_num_t, gpio_num_t)': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp32C2E10gpio_num_tS0_+0x0): multiple definition oftNMEA2000_esp32::tNMEA2000_esp32(gpio_num_t, gpio_num_t)' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp32C2E10gpio_numtS0+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In function `ESP32Can1Interrupt(void)': NMEA2000_esp32.cpp:(.text._Z18ESP32Can1InterruptPv+0x0): multiple definition of ESP32Can1Interrupt(void*)' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._Z18ESP32Can1InterruptPv+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In functiontNMEA2000_esp32::CAN_init()': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp328CAN_initEv+0x0): multiple definition of tNMEA2000_esp32::CAN_init()' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp328CAN_initEv+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o:(.bss._ZN15tNMEA2000_esp328CanInUseE+0x0): multiple definition oftNMEA2000_esp32::CanInUse' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:(.bss._ZN15tNMEA2000_esp328CanInUseE+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o:(.bss.pNMEA2000_esp32+0x0): multiple definition of pNMEA2000_esp32' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:(.bss.pNMEA2000_esp32+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In functiontNMEA2000_esp32::CANOpen()': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp327CANOpenEv+0x0): multiple definition of tNMEA2000_esp32::CANOpen()' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp327CANOpenEv+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In functiontNMEA2000_esp32::CAN_read_frame()': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp3214CAN_read_frameEv+0x0): multiple definition of tNMEA2000_esp32::CAN_read_frame()' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp3214CAN_read_frameEv+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In functiontNMEA2000_esp32::CAN_send_frame(tNMEA2000_esp32::tCANFrame&)': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp3214CAN_send_frameERNS_9tCANFrameE+0x0): multiple definition of tNMEA2000_esp32::CAN_send_frame(tNMEA2000_esp32::tCANFrame&)' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp3214CAN_send_frameERNS_9tCANFrameE+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In functiontNMEA2000_esp32::CANSendFrame(unsigned long, unsigned char, unsigned char const, bool)': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp3212CANSendFrameEmhPKhb+0x0): multiple definition of `tNMEA2000_esp32::CANSendFrame(unsigned long, unsigned char, unsigned char const, bool)' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp3212CANSendFrameEmhPKhb+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In function tNMEA2000_esp32::InterruptHandler()': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp3216InterruptHandlerEv+0x0): multiple definition oftNMEA2000_esp32::InterruptHandler()' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp3216InterruptHandlerEv+0x0): first defined here /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32.cpp.o: In function tNMEA2000_esp32::InitCANFrameBuffers()': NMEA2000_esp32.cpp:(.text._ZN15tNMEA2000_esp3219InitCANFrameBuffersEv+0x0): multiple definition oftNMEA2000_esp32::InitCANFrameBuffers()' /private/var/folders/_7/p4lvh1nd6dd5_t8wlqrfhg140000gn/T/arduino-sketch-D23214BF1CB273BFB17CC59200ABB655/libraries/NMEA2000_esp32-master/NMEA2000_esp32 2.cpp.o:NMEA2000_esp32 2.cpp:(.text._ZN15tNMEA2000_esp3219InitCANFrameBuffersEv+0x0): first defined here collect2: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

Kind regards (Herzligen Grüßen), Hans

AK-Homberger commented 1 year ago

What ESP32 board version you are using in the IDE? Can you try version 1.0.6. That was the vesion used during development of the code.

hans-martijn commented 1 year ago

Hallo Andreas,

I am using esp32 by Espresso Systems version 1.0.6, so that should be the right one I guess. I also bought the ESP32 you linked, but from amazon.nl (which actually is a Dutch translation of amazon.de). It is the ESP32 WROOM-32 from AZDelivery.

AK-Homberger commented 1 year ago

I added the used NMEA 2000 library version used for the code. You can Try it with this version. As board you should use "ESP32 Dev Module".

hans-martijn commented 1 year ago

I knew, I looked it up at AZ-Delivery. Strangely enough, I get another error:

/Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMsg 2.cpp:25:22: fatal error: N2kTimer.h: No such file or directory compilation terminated.

exit status 1

Compilation error: exit status 1

I checked, and indeed there is no such file. Then I copied that from the current library, but that didn't solve things much:

/Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:338:36: error: 'tN2kDelaySource' has not been declared double Delay, tN2kDelaySource DelaySource) { ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:349:97: error: 'tN2kDelaySource' has not been declared bool ParseN2kPGN127252(const tN2kMsg &N2kMsg, unsigned char &SID, double &Heave, double &Delay, tN2kDelaySource &DelaySource) { ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: In function 'bool ParseN2kPGN127252(const tN2kMsg&, unsigned char&, double&, double&, int&)': /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:356:17: error: 'tN2kDelaySource' was not declared in this scope DelaySource=(tN2kDelaySource)(v & 0x0f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: At global scope: /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1439:45: error: 'tN2kAISAtoNReportData' does not name a type void SetN2kPGN129041(tN2kMsg &N2kMsg, const tN2kAISAtoNReportData &N2kData) { ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: In function 'void SetN2kPGN129041(tN2kMsg&, const int&)': /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1442:29: error: request for member 'Repeat' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.Repeat & 0x03) << 6 | (N2kData.MessageID & 0x3f)); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1442:60: error: request for member 'MessageID' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.Repeat & 0x03) << 6 | (N2kData.MessageID & 0x3f)); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1443:33: error: request for member 'UserID' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add4ByteUInt(N2kData.UserID); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1444:35: error: request for member 'Longitude' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add4ByteDouble(N2kData.Longitude, 1e-07); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1445:35: error: request for member 'Latitude' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add4ByteDouble(N2kData.Latitude, 1e-07); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1446:29: error: request for member 'Seconds' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.Seconds & 0x3f)<<2 | (N2kData.RAIM & 0x01)<<1 | (N2kData.Accuracy & 0x01)); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1446:59: error: request for member 'RAIM' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.Seconds & 0x3f)<<2 | (N2kData.RAIM & 0x01)<<1 | (N2kData.Accuracy & 0x01)); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1446:86: error: request for member 'Accuracy' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.Seconds & 0x3f)<<2 | (N2kData.RAIM & 0x01)<<1 | (N2kData.Accuracy & 0x01)); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1447:36: error: request for member 'Length' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.Length, 0.1); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1448:36: error: request for member 'Beam' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.Beam, 0.1); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1449:36: error: request for member 'PositionReferenceStarboard' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.PositionReferenceStarboard, 0.1); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1450:36: error: request for member 'PositionReferenceTrueNorth' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.PositionReferenceTrueNorth, 0.1); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1451:29: error: request for member 'AssignedModeFlag' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.AssignedModeFlag & 0x01) << 7 ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1452:32: error: request for member 'VirtualAtoNFlag' in 'N2kData', which is of non-class type 'const int' | (N2kData.VirtualAtoNFlag & 0x01) << 6 ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1453:32: error: request for member 'OffPositionIndicator' in 'N2kData', which is of non-class type 'const int' | (N2kData.OffPositionIndicator & 0x01) << 5 ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1454:32: error: request for member 'AtoNType' in 'N2kData', which is of non-class type 'const int' | (N2kData.AtoNType & 0x1f)); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1455:29: error: request for member 'GNSSType' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.GNSSType & 0x0F) << 1 | 0xe0); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1456:28: error: request for member 'AtoNStatus' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte(N2kData.AtoNStatus); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1457:29: error: request for member 'AISTransceiverInformation' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte((N2kData.AISTransceiverInformation & 0x1f) | 0xe0); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1458:37: error: request for member 'AtoNName' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddVarStr((char)N2kData.AtoNName); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: At global scope: /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1462:47: error: 'tN2kAISAtoNReportData' has not been declared bool ParseN2kPGN129041(const tN2kMsg &N2kMsg, tN2kAISAtoNReportData &N2kData) { ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: In function 'bool ParseN2kPGN129041(const tN2kMsg&, int&)': /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1467:39: error: request for member 'MessageID' in 'N2kData', which is of non-class type 'int' vb=N2kMsg.GetByte(Index); N2kData.MessageID=(vb & 0x3f); N2kData.Repeat=(tN2kAISRepeat)(vb>>6 & 0x03); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1467:70: error: request for member 'Repeat' in 'N2kData', which is of non-class type 'int' vb=N2kMsg.GetByte(Index); N2kData.MessageID=(vb & 0x3f); N2kData.Repeat=(tN2kAISRepeat)(vb>>6 & 0x03); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1468:13: error: request for member 'UserID' in 'N2kData', which is of non-class type 'int' N2kData.UserID=N2kMsg.Get4ByteUInt(Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1469:13: error: request for member 'Longitude' in 'N2kData', which is of non-class type 'int' N2kData.Longitude=N2kMsg.Get4ByteDouble(1e-07, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1470:13: error: request for member 'Latitude' in 'N2kData', which is of non-class type 'int' N2kData.Latitude=N2kMsg.Get4ByteDouble(1e-07, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1471:39: error: request for member 'Accuracy' in 'N2kData', which is of non-class type 'int' vb=N2kMsg.GetByte(Index); N2kData.Accuracy=(vb & 0x01); N2kData.RAIM=(vb>>1 & 0x01); N2kData.Seconds=(vb>>2 & 0x3f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1471:69: error: request for member 'RAIM' in 'N2kData', which is of non-class type 'int' vb=N2kMsg.GetByte(Index); N2kData.Accuracy=(vb & 0x01); N2kData.RAIM=(vb>>1 & 0x01); N2kData.Seconds=(vb>>2 & 0x3f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1471:98: error: request for member 'Seconds' in 'N2kData', which is of non-class type 'int' vb=N2kMsg.GetByte(Index); N2kData.Accuracy=(vb & 0x01); N2kData.RAIM=(vb>>1 & 0x01); N2kData.Seconds=(vb>>2 & 0x3f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1472:13: error: request for member 'Length' in 'N2kData', which is of non-class type 'int' N2kData.Length=N2kMsg.Get2ByteDouble(0.1, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1473:13: error: request for member 'Beam' in 'N2kData', which is of non-class type 'int' N2kData.Beam=N2kMsg.Get2ByteDouble(0.1, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1474:13: error: request for member 'PositionReferenceStarboard' in 'N2kData', which is of non-class type 'int' N2kData.PositionReferenceStarboard=N2kMsg.Get2ByteDouble(0.1, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1475:13: error: request for member 'PositionReferenceTrueNorth' in 'N2kData', which is of non-class type 'int' N2kData.PositionReferenceTrueNorth=N2kMsg.Get2ByteDouble(0.1, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1477:13: error: request for member 'AtoNType' in 'N2kData', which is of non-class type 'int' N2kData.AtoNType=(tN2kAISAtoNType)(vb & 0x1f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1477:23: error: 'tN2kAISAtoNType' was not declared in this scope N2kData.AtoNType=(tN2kAISAtoNType)(vb & 0x1f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1478:13: error: request for member 'OffPositionIndicator' in 'N2kData', which is of non-class type 'int' N2kData.OffPositionIndicator=(vb >> 5 & 0x01); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1479:13: error: request for member 'VirtualAtoNFlag' in 'N2kData', which is of non-class type 'int' N2kData.VirtualAtoNFlag=(vb >> 6 & 0x01); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1480:13: error: request for member 'AssignedModeFlag' in 'N2kData', which is of non-class type 'int' N2kData.AssignedModeFlag=(vb >> 7 & 0x01); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1481:13: error: request for member 'GNSSType' in 'N2kData', which is of non-class type 'int' N2kData.GNSSType = (tN2kGNSStype)((N2kMsg.GetByte(Index) >> 1) & 0x0f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1482:13: error: request for member 'AtoNStatus' in 'N2kData', which is of non-class type 'int' N2kData.AtoNStatus=N2kMsg.GetByte(Index);
^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1483:13: error: request for member 'AISTransceiverInformation' in 'N2kData', which is of non-class type 'int' N2kData.AISTransceiverInformation = (tN2kAISTransceiverInformation)(N2kMsg.GetByte(Index) & 0x1f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1484:42: error: request for member 'AtoNName' in 'N2kData', which is of non-class type 'int' size_t AtoNNameSize = sizeof(N2kData.AtoNName); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1485:51: error: request for member 'AtoNName' in 'N2kData', which is of non-class type 'int' N2kMsg.GetVarStr(AtoNNameSize, (char
)N2kData.AtoNName, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: At global scope: /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1982:45: error: 'tN2kMeteorlogicalStationData' does not name a type void SetN2kPGN130323(tN2kMsg &N2kMsg, const tN2kMeteorlogicalStationData &N2kData) { ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: In function 'void SetN2kPGN130323(tN2kMsg&, const int&)': /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1985:47: error: request for member 'Mode' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte( (((unsigned char) N2kData.Mode) & 0x0f) | 0xf0 ); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1986:33: error: request for member 'SystemDate' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUInt(N2kData.SystemDate); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1987:36: error: request for member 'SystemTime' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add4ByteUDouble(N2kData.SystemTime,0.0001); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1988:35: error: request for member 'Latitude' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add4ByteDouble(N2kData.Latitude,1e-7); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1989:35: error: request for member 'Longitude' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add4ByteDouble(N2kData.Longitude,1e-7); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1990:36: error: request for member 'WindSpeed' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.WindSpeed,0.01); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1991:36: error: request for member 'WindDirection' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.WindDirection,0.0001); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1992:46: error: request for member 'WindReference' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddByte( (((unsigned char)N2kData.WindReference) & 0x07) | 0xf8 ); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1993:36: error: request for member 'WindGusts' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.WindGusts,0.01); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1994:36: error: request for member 'AtmosphericPressure' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.AtmosphericPressure,100); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1995:36: error: request for member 'OutsideAmbientAirTemperature' in 'N2kData', which is of non-class type 'const int' N2kMsg.Add2ByteUDouble(N2kData.OutsideAmbientAirTemperature,0.01); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1996:37: error: request for member 'StationID' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddVarStr((char)N2kData.StationID); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:1997:37: error: request for member 'StationName' in 'N2kData', which is of non-class type 'const int' N2kMsg.AddVarStr((char)N2kData.StationName); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: At global scope: /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2001:47: error: 'tN2kMeteorlogicalStationData' has not been declared bool ParseN2kPGN130323(const tN2kMsg &N2kMsg, tN2kMeteorlogicalStationData &N2kData) { ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp: In function 'bool ParseN2kPGN130323(const tN2kMsg&, int&)': /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2007:13: error: request for member 'Mode' in 'N2kData', which is of non-class type 'int' N2kData.Mode=(tN2kAISMode)(vb & 0x0f); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2008:13: error: request for member 'SystemDate' in 'N2kData', which is of non-class type 'int' N2kData.SystemDate = N2kMsg.Get2ByteUInt(Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2009:13: error: request for member 'SystemTime' in 'N2kData', which is of non-class type 'int' N2kData.SystemTime = N2kMsg.Get4ByteUDouble(0.0001,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2010:13: error: request for member 'Latitude' in 'N2kData', which is of non-class type 'int' N2kData.Latitude = N2kMsg.Get4ByteDouble(1e-7,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2011:13: error: request for member 'Longitude' in 'N2kData', which is of non-class type 'int' N2kData.Longitude = N2kMsg.Get4ByteDouble(1e-7,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2012:13: error: request for member 'WindSpeed' in 'N2kData', which is of non-class type 'int' N2kData.WindSpeed = N2kMsg.Get2ByteUDouble(0.01,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2013:13: error: request for member 'WindDirection' in 'N2kData', which is of non-class type 'int' N2kData.WindDirection = N2kMsg.Get2ByteUDouble(0.0001,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2015:13: error: request for member 'WindReference' in 'N2kData', which is of non-class type 'int' N2kData.WindReference = (tN2kWindReference)(vb & 0x07); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2016:13: error: request for member 'WindGusts' in 'N2kData', which is of non-class type 'int' N2kData.WindGusts = N2kMsg.Get2ByteUDouble(0.01,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2017:13: error: request for member 'AtmosphericPressure' in 'N2kData', which is of non-class type 'int' N2kData.AtmosphericPressure = N2kMsg.Get2ByteUDouble(100,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2018:13: error: request for member 'OutsideAmbientAirTemperature' in 'N2kData', which is of non-class type 'int' N2kData.OutsideAmbientAirTemperature=N2kMsg.Get2ByteUDouble(0.01,Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2019:43: error: request for member 'StationID' in 'N2kData', which is of non-class type 'int' size_t StationIDSize = sizeof(N2kData.StationID); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2020:45: error: request for member 'StationName' in 'N2kData', which is of non-class type 'int' size_t StationNameSize = sizeof(N2kData.StationName); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2021:52: error: request for member 'StationID' in 'N2kData', which is of non-class type 'int' N2kMsg.GetVarStr(StationIDSize, (char)N2kData.StationID, Index); ^ /Users/hans/Documents/Arduino/libraries/NMEA2000-master/src/N2kMessages 2.cpp:2022:54: error: request for member 'StationName' in 'N2kData', which is of non-class type 'int' N2kMsg.GetVarStr(StationNameSize, (char)N2kData.StationName, Index); ^

exit status 1

Compilation error: exit status 1

I reburned the image again using NodeMCU Pyflasher, which didn't give any errors, but that image didn't work the last time (I got nothing from the device at all). I'll try it again on my boat later this week.

AK-Homberger commented 1 year ago

You can't mix files from different library versions. Did you replace all three folders in the Arduino library folder with the versions from the ZIP-files in the repository? Then there should be no warning.

hans-martijn commented 1 year ago

Hallo Andreas,

I threw everything away (from my Mac) and reinstalled it, then I had to install python 2 (which probably was the culprit from the beginning) and now it works. Thanks for all your help!!!