Posted by Jordi Muñoz on September 2, 2010 at 5:30pm
Help wanted! Here is the latest firmware revision that fixes the longitude issue. If you are one of those that are having problems please try this new version:
That line switches it into binary. You won't be able to see the data once it's binary (although we should revise the test so that it goes through the binary parser and emerges as data that you can see.) You're just catching the code in the midst of revisions....normal alpha issue.
I edited the function GPS_MTK_Class::Init(void) so that the last few lines are
// Initialize serial port
#if defined(__AVR_ATmega1280__)
Serial1.begin(38400); // Serial port 1 on ATMega1280
delay(500);
Serial1.print("$PGCMD,16,0,0,0,0,0*6A\r\n");
delay(500);
Serial1.print("$PGCMD,16,0,0,0,0,0*6A\r\n");
#else
Serial.begin(38400);
#endif
I'm no expert on serial ports but this seemed to fix the problem, not sure why..
Andre: Yes, the power available via USB is limited, especially when you've got servos connected. That will all be fine when you're powering via the RC system, as you will be in the plane.
Could you post the code where you added the delay? I'll test and incorporate if it improves performance.
Also note that the switch to binary currently puts it at 1Hz update rate. We'll change that to the normal 10Hz in the next day or two, with the next rev of the library.
Great, thanks a lot. With the new firmware I also get the right coordinates. I noticed that although the switch command to binary mode is in the GPS_MTK.cpp it (sometimes?) would not switch and stay in NMEA. So I repeated the switch and added some delay which seems to fix the problem. Wondering if I'm the only one. Also, it seems that when I power the APM from USB the mediatek has more problems finding a fix indoors than when powered from battery (something related to current drain over the USB port and antenna sensitivity maybe??) Anyway.. thanks for the bugfix!
Comments
That line switches it into binary. You won't be able to see the data once it's binary (although we should revise the test so that it goes through the binary parser and emerges as data that you can see.) You're just catching the code in the midst of revisions....normal alpha issue.
// Initialize serial port
#if defined(__AVR_ATmega1280__)
Serial1.begin(38400); // Serial port 1 on ATMega1280
delay(500);
Serial1.print("$PGCMD,16,0,0,0,0,0*6A\r\n");
delay(500);
Serial1.print("$PGCMD,16,0,0,0,0,0*6A\r\n");
#else
Serial.begin(38400);
#endif
I'm no expert on serial ports but this seemed to fix the problem, not sure why..
Could you post the code where you added the delay? I'll test and incorporate if it improves performance.
Also note that the switch to binary currently puts it at 1Hz update rate. We'll change that to the normal 10Hz in the next day or two, with the next rev of the library.
Great, thanks a lot. With the new firmware I also get the right coordinates. I noticed that although the switch command to binary mode is in the GPS_MTK.cpp it (sometimes?) would not switch and stay in NMEA. So I repeated the switch and added some delay which seems to fix the problem. Wondering if I'm the only one. Also, it seems that when I power the APM from USB the mediatek has more problems finding a fix indoors than when powered from battery (something related to current drain over the USB port and antenna sensitivity maybe??) Anyway.. thanks for the bugfix!
Thanks
Earl
After now yes. But anyway I still don't know if the firmware works fine...
Sorry can't test anything else, my UAV flew away :(
-
1
-
2
-
3
of 3 Next