Community
cancel
Showing results for 
Search instead for 
Did you mean: 
CMalu
New Contributor I
1,038 Views

GPS Neo M8N and Galileo 2

Hello,

I'm trying to get my GPS module with a Neo M8N working on the Galileo 2. This appears to be difficult. First I tried TinyGPS++. Out of the box it didn't compile, I found the issues regarding the intel board and changed TinyGPS++. Unfortunately I found that TinyGPS++ doesn't work with the M8N as the NMEA message contains some Neo specific parts. Also I discovered that NeoGPS should have more possibilities for fast GPS tracking. Thus, I tried to run NeoGPS. It's working fine with my Uno, but with the Intel board, I get many errors (non-detailed output (!!!)):

Arduino: 1.6.13 (Mac OS X), TD: 1.35, Board: "Intel® Galileo Gen2"

WARNING: library NeoGPS claims to run on [avr architecture(s) and may be incompatible with your current board which runs on samd architecture(s).

In file included from /Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:34:0,

from /Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/NMEAGPS.h:29,

from /Users/christofmaluck/Documents/Arduino/GPS_Intel2/GPS_Intel2.ino:2:

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:33:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:33:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:55:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:55:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:56:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:56:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:57:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:57:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:58:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:58:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In constructor 'NeoGPS::Location_t::Location_t(float, float)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:40:20: error: 'LOC_SCALE' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In member function 'float NeoGPS::Location_t::latF() const':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:45:58: error: 'LOC_SCALE' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In member function 'void NeoGPS::Location_t::latF(float)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:46:44: error: 'LOC_SCALE' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In member function 'float NeoGPS::Location_t::lonF() const':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:50:58: error: 'LOC_SCALE' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In member function 'void NeoGPS::Location_t::lonF(float)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:51:44: error: 'LOC_SCALE' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In static member function 'static float NeoGPS::Location_t::DistanceKm(const NeoGPS::Location_t&, const NeoGPS::Location_t&)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:65:44: error: 'EARTH_RADIUS_KM' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In static member function 'static float NeoGPS::Location_t::DistanceMiles(const NeoGPS::Location_t&, const NeoGPS::Location_t&)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:72:44: error: 'EARTH_RADIUS_KM' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:72:62: error: 'MI_PER_KM' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In static member function 'static float NeoGPS::Location_t::EquirectDistanceKm(const NeoGPS::Location_t&, const NeoGPS::Location_t&)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:88:52: error: 'EARTH_RADIUS_KM' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In static member function 'static float NeoGPS::Location_t::EquirectDistanceMiles(const NeoGPS::Location_t&, const NeoGPS::Location_t&)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:95:52: error: 'EARTH_RADIUS_KM' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:95:70: error: 'MI_PER_KM' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h: In static member function 'static float NeoGPS::Location_t::BearingToDegrees(const NeoGPS::Location_t&, const NeoGPS::Location_t&)':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/Location.h:108:38: error: 'DEG_PER_RAD' was not declared in this scope

In file included from /Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/NMEAGPS.h:29:0,

from /Users/christofmaluck/Documents/Arduino/GPS_Intel2/GPS_Intel2.ino:2:

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h: At global scope:

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:137:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:137:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:140:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:140:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:143:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:143:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h: In member function 'float gps_fix::speed_kph() const':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:138:52: error: 'KM_PER_NMI' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h: In member function 'uint32_t gps_fix::speed_metersph() const':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:141:59: error: 'M_PER_NMI' was not declared in this scope

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h: In member function 'float gps_fix::speed_mph() const':

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/GPSfix.h:144:49: error: 'MI_PER_NMI' was not declared in this scope

In file included from /Users/christofmaluck/Documents/Arduino/GPS_Intel2/GPS_Intel2.ino:2:0:

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/NMEAGPS.h: At global scope:

/Users/christofmaluck/Documents/Arduino/libraries/NeoGPS/src/NMEAGPS.h:96:5: error: 'constexpr' does not name a type

/Users/christofmaluck/Documents/Arduino/libraries/Neo...

0 Kudos
3 Replies
idata
Community Manager
88 Views

Hi Christof,

Thanks for contacting us!

We're really sorry to hear about the issues you are having. Some libraries are written specifically for the Arduino board, and they are based on their MCU architecture and it won't compile on the Galileo because the architecture is different. Some libraries can be edited in order to use with the Galileo, but in some cases it is not possible. Library modifications are out of our support scope, however, I'd like to share the http://www.intel.com/content/dam/support/us/en/documents/Galileo-Edison_ShieldTestReport_330937-002.... Intel® Galileo Board, Intel® Galileo Gen 2 Board, and Intel® Edison Board – Shield Testing Report, there you will find results of other GPS modules tested with the Galileo board, also, this other link to build a library: http://www.cs.dartmouth.edu/~campbell/cs50/buildlib.html How to Build Your Own C Library, maybe it could help.

Regards,

-Yermi A.

CMalu
New Contributor I
88 Views

Dear YermiA,

thanks for the answer. I have to admit that I'm a little disappointed (again). I found that many errors disappear if I add the compiler option for C++11 to the Intel platform.txt. This makes me wondering why this hasn't been set from the beginning as for the Ardunio it is the default.

I won't select sensors based on the Intel database, but on technical specification. In the Intel database, there are many old GPS modules, no newer one.

Fortunately, I got it working with several modifications in the library.... we can close this one.

IS_
Beginner
88 Views

I have the same problem with Siemens IoT2020 which is been displayed as Galileo2 in Arduino. I cannot find any working GPS library for Galileo!

Christof can you please share your modified library with me?

Reply