hello 
when  the latest  firmware is loaded in my arduimu v2 flat the blue gps led never goes on .
after the initial startup sequence ( ok with 3 leds flashing ) only the yellow led is on .
when the arduimu utilities software  is launched i can't see any bargraph moving (accel, gyros) and the cube don't move 
my gps is an EM406 , my cable to load the firmware is an FTDI BASIC .

Thanks  Philippe 

Views: 130

Reply to This

Replies to This Discussion

You need to set the software for your GPS module--by default it's set up for the uBlox. Change this to 2, as shown:

// Ublox gps is recommended!
#define GPS_PROTOCOL 2 // 1 - Ublox, 2 - EM406, 3 - NMEA

When you get GPS lock (which can take up to 15 minutes the first time), the blue LED will come on.
hello Chris
i have checked and rechecked the setup ,#define GPS_PROTOCOL is set to 2 .The gps module led is ok : red led on when acquiring then flashing with fixed signal ,i have tested it directly connected on ardupilot and blue led is ok .
That's not right. The red LED on the GPS module should go out because the software switches it into binary mode. I'd check your GPS connections. Look for bent pins in the connector.

It shouldn't work with ArduPilot either if it's not in binary mode. I'm surprised by that--can you double check?
ok , confirm red led on gps module remain off , i have uploaded the em406 tester code in the ardupilot with the em406 directly connected on it , blue light remain on and serial monitor window show gps position informations
but with the gps module directly connected on the arduimu with em406 tester uploaded i read all the time" wait for gps fix " no blue light on arduimu !
As Doug mentioned, we don't support the EM406 for ArduIMU yet--it's designed for the uBlox, but we'll add other GPS modules over time. The code is in there but it hasn't been debugged yet, and it looks like there is something not working right. I suspect we'll get there in a week or two. Stay tuned...
here are my oberservations:

I changed the code in GPS_EM406 to just output every byte it receives from the GPS:

-------------
if(Serial.available() > 0)//Ok, let me see, the buffer is empty?
{
Serial.println("***** there is someting ..............");
while(Serial.available() < 5){ }
switch(GPS_step) {
case 0: //This case will verify the header, to know when the payload will begin

while(Serial.available() > 0) //Loop if data available
{
Serial.print(Serial.read(),HEX);
Serial.print("*");
//if(Serial.read() == read_gps_header[gps_ok]){ //Checking if the head bytes are equal..
// //if yes increment 1
// gps_ok++;
//}else{
// //Otherwise restart.
// gps_ok = 0;
//}
//if(gps_ok >= 5) {
// //Ohh 5 bytes are correct, that means jump to the next step, and break the loop
// gps_ok = 0;
// GPS_step++;
// break;
//}
}
Serial.println("*");
break;
-----------------


this is the output:
****** call decode_gps()
***** there is someting ..............
A0*A2*0*5B*29*0*1*0*0*6*2B*14*1F*7C*94*7*DA*4*E*15*2E*80*3C*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*15*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*B*E7*79*E5*0*0*0*0*0*1B*F2*99*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*7*9B*B0*B3**
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
****** call decode_gps()
***** there is someting ..............
A0*A2*0*5B*29*0*1*0*0*6*2B*14*1F*80*85*7*DA*4*E*15*2E*84*2D*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*15*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*C*3*AE*8F*0*0*0*0*0*1B*F2*99*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*6*81*B0*B3**
****** call decode_gps()
****** call decode_gps()

you see that there is some repeating data, so the device is working. This data packet comes every second.
This clearly is the sirf binary protocol. Whose startup bytes are 0xA0 and 0xA2, so it looks like change_to_sirf_protocol() failed somehow.

If I can help you debugging, that will be fine.
ups...

it is supposed to look like this, not an error.
so I finally got it working:

+++,-12.1440000534,0,20,1.1579999923,0,0,135,135,-50,0,0,
+++,-8.1599998474,0,13,5.9520001411,0,-8,135,135,-57,0,0,
+++,-7.6440000534,0,12,4.3200001716,0,-5,135,135,-59,0,0,
!!!LAT:51072588,LON:13742582,SPD:0.6000000000,CRT:0.0000000000,ALT:144,ALH:142,CRS:-59,BER:135,WPN:0,DST:27,BTV:0.0000000000,RSP:-0.0759600067,TOW:0,***
+++,-7.0679998397,0,11,3.7560000419,0,-5,135,135,-59,0,0,
XXX Reached WP:0 ***
+++,-6.7379999160,0,11,3.7620000839,0,-5,133,133,-57,0,0,
+++,-6.7259998321,0,11,4.0500001907,0,-5,133,133,-57,0,0,
+++,-6.5160002708,0,10,4.1700000762,0,-5,133,133,-57,0,0,
+++,-5.8680000305,0,9,3.7139999866,0,-5,133,133,-57,0,0,
+++,-5.3759999275,0,8,3.7500000000,0,-5,133,133,-57,0,0,
+++,-5.4060001373,0,9,3.7200000286,0,-5,133,133,-57,0,0,
+++,-5.0160002708,0,8,4.1820001602,0,-6,133,133,-57,0,0,
+++,-5.5440001487,0,9,4.5000000000,0,-6,133,133,-58,0,0,
+++,-5.9279999732,0,9,4.5539999008,0,-6,133,133,-59,0,0,
!!!LAT:51072597,LON:13742582,SPD:0.5000000000,CRT:0.0000000000,ALT:143,ALH:142,CRS:-59,BER:133,WPN:0,DST:27,BTV:0.0000000000,RSP:-0.0632999992,TOW:0,***
XXX Reached WP:0 ***
+++,-6.1500000953,0,10,4.6859998703,0,-6,135,135,-60,0,0,
PPPpTm:30020,mLc:1501,DtM:20,gsc:22,adc:0,rsc:0,rbc:0,gpe:0,gce:0,gpf:0,gnf:0,gms:30,gmr:52
,ims:1471,imr:2518,ipe:0,ice:1,TOW:0,***
+++,-5.7779998779,0,9,4.7760000228,0,-7,135,135,-60,0,0,
+++,-5.7059998512,0,9,4.7280001640,0,-6,135,135,-60,0,0,
+++,-5.5019998550,0,9,4.7579998970,0,-7,135,135,-60,0,0,
+++,-5.9159998893,0,9,5.5679998397,0,-8,135,135,-61,0,0,
+++,-5.4419999122,0,8,4.9679999351,0,-7,135,135,-62,0,0,


Ardupilot+Arduimu+EM406

no shield, no thermopiles
So what did you change to get it to work?
the problem was, that the em406 code initializes the GPS with 57600, but ardupilot assumes that the arduimu runs with 38400.

so either change the em406 code in arduimu to initialize the gps with 38400 or change ardupilot to connect to arduimu with 57600.
anyone has tested em406 with arduimu ?

I have it working directly with the ardupilot, but it does now work wirh the arduimu. I am new to the project an it is difficult for me to debug this.
The code for the EM406 had not yet been debugged for use with ArduIMU. There are a few people trying it out now, but sounds like there are still some issues to be resolved.

RSS

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Groups

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service