Hello,I have gps module NEO-6M ,I can't configure it by Ucenter ,it is possible to configure it by arduino without using Ucenter? :o
If yes ,can you give me a simple example to change baude rate?
How Do You intend to run Your NEO-6M? What do You want it to do? Alone it will do nothing.
I want to configure it to work in my quadcopter
Ooops. Lots of more technical stuff involved….. What is it You want to do to "configure" the NEO-6M? It delivers data without any setup. How is it connected? What controller do You use?...
You need to tell a lot more for such a large project if You will get any help. Code, wiring diagram, system build up...
I use Multiwii 2.4 as firmware and the configuration file is attached ,I want just know if it is possible to configure the GPS module by arduino without using Ucenter . if yes, I need just simple code to test, please.
u-blox-config.ublox.txt (4.33 KB)
youceforo:
Hello,I have gps module NEO-6M ,I can't configure it by Ucenter ,it is possible to configure it by arduino without using Ucenter? :o
All the Arduino can do is send the same configuration messages that Ucenter uses.
So if you cannot configure it in Ucenter, I cannot see how it would work with an Arduino.
Dig in the documentation of the NEO-6M. My project asks the NEO-6M to supply an extra parameter and it works. What is it You want to do that standard configuration doesn't support already?
youceforo:
Hello,I have gps module NEO-6M ,I can't configure it by Ucenter ,it is possible to configure it by arduino without using Ucenter? :o
If yes ,can you give me a simple example to change baude rate?
Yes, and with the right packets, it's relatively easy. Take a look at my Neo-6M library here. It automatically reconfigures the GPS to output a single NMEA sentence type at 10Hz refresh rate at 115200 baud.
Here are some example packet anatomies:
// <<---------------------------------------------------------------------------//CFG-MSG packets:
// <<---------------------------------------------------------------------------//off packets
byte turn_Off_GPGGA[NMEA_LEN] = {//---------------------------------------------//GPGGA off
0xB5, // Header char 1
0x62, // Header char 2
0x06, // class
0x01, // id
0x08, // length char 1
0x00, // length char 2
0xF0, // payload (NMEA sentence ID char 1)
0x00, // payload (NMEA sentence ID char 2)
0x00, // payload I/O Target 0 - DDC - (1 - enable sentence, 0 - disable)
0x00, // payload I/O Target 1 - Serial Port 1 - (1 - enable sentence, 0 - disable)
0x00, // payload I/O Target 2 - Serial Port 2 - (1 - enable sentence, 0 - disable)
0x00, // payload I/O Target 3 - USB - (1 - enable sentence, 0 - disable)
0x00, // payload I/O Target 4 - SPI - (1 - enable sentence, 0 - disable)
0x00, // payload I/O Target 5 - Reserved - (1 - enable sentence, 0 - disable)
0xFF, // CK_A
0x23 // CK_B
};
// <<---------------------------------------------------------------------------//on packets
byte turn_On_GPGGA[NMEA_LEN] = {//---------------------------------------------//GPGGA on
0xB5, // Header char 1
0x62, // Header char 2
0x06, // class
0x01, // id
0x08, // length char 1
0x00, // length char 2
0xF0, // payload (NMEA sentence ID char 1)
0x00, // payload (NMEA sentence ID char 2)
0x01, // payload I/O Target 0 - DDC - (1 - enable sentence, 0 - disable)
0x01, // payload I/O Target 1 - Serial Port 1 - (1 - enable sentence, 0 - disable)
0x01, // payload I/O Target 2 - Serial Port 2 - (1 - enable sentence, 0 - disable)
0x01, // payload I/O Target 3 - USB - (1 - enable sentence, 0 - disable)
0x01, // payload I/O Target 4 - SPI - (1 - enable sentence, 0 - disable)
0x01, // payload I/O Target 5 - Reserved - (1 - enable sentence, 0 - disable)
0x05, // CK_A
0x38 // CK_B
};
// <<---------------------------------------------------------------------------//CFG-MSG packets
// <<---------------------------------------------------------------------------//CFG-RATE packets:
byte updateFreq[FREQ_LEN] = {
0xB5, // sync char 1
0x62, // sync char 2
0x06, // class
0x08, // id
0x06, // length
0x00, // length
0x64, // payload
0x00, // payload
0x01, // payload
0x00, // payload
0x01, // payload
0x00, // payload
0x7A, // CK_A
0x12, // CK_B
};
// <<---------------------------------------------------------------------------//CFG-RATE packets
// <<---------------------------------------------------------------------------//CFG-PRT packets:
byte changeBaud[BAUD_LEN] = {
0xB5, // sync char 1
0x62, // sync char 2
0x06, // class
0x00, // id
0x14, // length
0x00, // length
0x01, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0xD0, // payload
0x08, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0xC2, // payload
0x01, // payload
0x00, // payload
0x07, // payload
0x00, // payload
0x03, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0xC0, // CK_A
0x7E, // CK_B
};
// <<---------------------------------------------------------------------------//CFG-PRT packets
Oh, quick thing: Neo-6M GPS modules DO NOT SAVE CONFIG SETTINGS.
You will have to reconfigure the GPS after every power cycle.
A lot of the UBLOX 6M modules have both battery backup RAM and I2C EEPROM fitted.
Once the configuration is setup as you desire you can use Ucenter to save the current config to either BBR or I2C EEPROM. The GPS will then recover the config when power is applied.
Power_Broker ;
can you send me a simple example to change the GPS baude rate ,please?
I want just to confirm if my Gps module is fake (because it connect correctly to Ucenter but I can't change and save the configuration.) :-[
youceforo:
I want just to confirm if my Gps module is fake (because it connect correctly to Ucenter but I can't change the configuration.) :-[
That is one of the symptoms of a fake Ublox, you cannot change the configuration in Ucenter.
srnet:
That is one of the symptoms of a fake Ublox, you cannot change the configuration in Ucenter.
is there any solution?
like configuration by arduino or flash the eeprom ?!!!
youceforo:
is there any solution?like configuration by arduino or flash the eeprom ?!!!
No idea, I have come across the problem, Ublox 6Ms that wont accept config changes, either in Ucenter or via Arduino and I just throw them in the bin. Life is too short to bother attempting to fix.
srnet:
No idea, I have come across the problem, Ublox 6Ms that wont accept config changes, either in Ucenter or via Arduino and I just throw them in the bin. Life is too short to bother attempting to fix.
hhh lol thank you all for your responses.
youceforo:
Power_Broker ;can you send me a simple example to change the GPS baude rate ,please?
I want just to confirm if my Gps module is fake (because it connect correctly to Ucenter but I can't change and save the configuration.) :-[
If you send the following packet to the GPS using the .write() method, it will change the GPS baud to 115200. I've done it with my GPS and can confirm it works.
byte changeBaud[] = {
0xB5, // sync char 1
0x62, // sync char 2
0x06, // class
0x00, // id
0x14, // length
0x00, // length
0x01, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0xD0, // payload
0x08, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0xC2, // payload
0x01, // payload
0x00, // payload
0x07, // payload
0x00, // payload
0x03, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0x00, // payload
0xC0, // CK_A
0x7E, // CK_B
};
thanks Power_Broker for your help but your example in your Library (ExampleLatLon) doesn't work ;I have this error : Error compiling for board Arduino/Genuino Mega or Mega 2560.
I use Arduino IDE 1.8.6.
now your library works ,I delete the others serialevents and serial usb .
neo6mGPS.cpp (8.13 KB)
neo6mGPS.h (14.3 KB)