SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By eckcotech
#127706
Hey all,

I recently purchased an EM-408 along with the GPS Eval board and I am really struggling with getting the EM-408 configured.

I can plug it in and open up SiRFDemo set to 4800 baud and it fires right up and locks in quick. That's the good news, the bad news is, I need this changed to 9600 baud and every attempt I have made (days worth!) has failed. For some reason, it's almost as if the commands I am sending to the board are ignored all together.

I have tried usb connection to the board, serial, direct connection via max232, you name it. In each case, I can receive GPS data as soon as I am connected at 4800 buad but am still unable to successfully change the baud rate to 9600.

The command I am trying to send looks like this....

$PSRF100,0,9600,8,1,0*0C
By fll-freak
#127768
I looked at this for a while yesterday and saw nothing overtly wrong. I do not have this device and have no further knowledge. My ONLY suggestion is perhaps the checksum is wrong. Perhaps you could try sending over some other command with a checksum you calculate and see if that works.
By wayneft
#127880
First of all, if you do successfully get that command to work you will be switching from NMEA mode to Binary Mode at 9600 bps (probably not what you want).

Use this command instead $PSRF100,1,9600,8,1,0*0D to keep the data in NMEA mode

Secondly you need to have a carriage return and new line after the command. I'm not sure if you are using an Arduino or not but if you are try using this
Code: Select all
Serial.print("$PSRF100,1,9600,8,1,0*0D\r\n");
By eckcotech
#127902
wayneft wrote:First of all, if you do successfully get that command to work you will be switching from NMEA mode to Binary Mode at 9600 bps (probably not what you want).

Use this command instead $PSRF100,1,9600,8,1,0*0D to keep the data in NMEA mode

Secondly you need to have a carriage return and new line after the command. I'm not sure if you are using an Arduino or not but if you are try using this
Code: Select all
Serial.print("$PSRF100,1,9600,8,1,0*0D\r\n");
Thanks wayneft for your reply. I am using the sparkfun GPS Eval board .. http://www.sparkfun.com/products/8334 via the serial port. I can open the serial port and get a fix as expected at 4800 baud rate but anything I try to send to it just gets ignored completely.

I am using the SiRFDemo v3.87 software to try changing the settings. the line you gave me also was ignored completely and no change was made. I'm sure whatever the issue is, it's something simple I am missing out of ignorance about GPS or the SiRFDemo software in general. any help would be great.

Thanks.
By wayneft
#127903
I'm assuming you're using the Transmit Serial Message option, if not then Select Action then Transmit Serial Message. Paste the string you want to use without the $ and without the * and checksum...in other words.... PSRF100,1,9600,8,1,0 Make sure the NMEA button is selected on the bottom and then hit Send.
By eckcotech
#127905
As suggested in my last post, the issue was something born of ignorance. I switched the switch on the GPS Eval board from "Ext" to "Int" and the command worked right away. Not sure what this switch is but it seemed to solve my issue.

Thanks guys for your help and patience.