I have a MediaTek GPS, attached to Ardupilot Mega + Oilpan, which I bought around Spring 2011, and last used around that time.
The MediaTek GPS does not work when the Oilpan (FoxTrap 2.2, 5/24/2010) is plugged in.
I followed the instructions on the wiki to update the to 1.6 (Firmware AXN1.30_2389_3329_384.1151100.1_v16.bin).
When I attach the GPS to the computer with a FTDI cable, and I can see good serial data at 38400 bps. I can also use the "MiniGPS 1.4" tool to get my latitude and satellite info.
(Image at right illustrates the 3.3V FTDI-cable setup that gives me good serial data)
If I have the MediaTek GPS hooked up to the Ardupilot Mega, the serial stream is no longer good.
I have tried the "GPS MTK library test" sketch from the latest git pull (this afternoon), but it returns
GPS MTK library test
and no data.
To figure out what my Ardupilot is reading from the MediaTek GPS, I wrote a test sketch (for Arduino Mega 1280) to pass through serial data from the MediaTek GPS to my serial port.
The Arduino sketch:
void setup()
{
Serial.begin(115200); /* COM3 */
Serial1.begin(38400); /* MediaTek should be here */
Serial.println("GPS MTK pass-through test"); /* some ASCII */
}
void loop()
{
if (Serial1.available()) {
Serial.write(Serial1.read()); /* pass through */
}
}
I end up getting:
GPS MTK library test
ìplb|âübbcbcbbbbpcpcll`ìlbpübbbbbcbcbbbbbbãllllìlrsblüb|âccbbbbbüccbpìpbbâ|cblìbcübbcpbblcãbbpll`ìplìb|âüàbbbcbbbbbpbpbl`ìlbpüppbcbbbbcbcbcbbâllllìlssblüìb|âbbbbbccübcbpìpbcâ|bcrrlìcbübbbpbblbâbbpll`ìplb|âüàbbbbccbbbpcpbìlìlbpücbbbbbbcbcbbbbãllllìlbpplâb|slìlrrblüc|âbbcbcbü|ccbpìpâpcll`ìbü|bbcpbclãbbbpll`
When I hook it up to the FTDI again, I get nice serial output at 38400:
$GPGGA,021159.000,3354.9162,N,11805.1101,W,1,7,1.11,94.1,M,-33.9,M,,*5F
$GPGSA,A,3,12,02,29,10,25,04,09,,,,,,1.40,1.11,0.85*0A
$GPRMC,021159.000,A,3354.9162,N,11805.1101,W,0.10,148.10,150712,,,A*7E
$GPVTG,148.10,T,,M,0.10,N,0.19,K,A*38
$GPGGA,021200.000,3354.9166,N,11805.1108,W,1,7,1.11,92.6,M,-33.9,M,,*5C
$GPGSA,A,3,12,02,29,10,25,04,09,,,,,,1.39,1.11,0.85*04
$GPGSV,3,1,10,12,86,307,36,02,64,038,39,48,47,205,29,25,42,316,30*72
$GPGSV,3,2,10,05,38,140,,10,32,071,31,29,27,291,26,04,23,047,31*72
$GPGSV,3,3,10,09,19,204,21,27,13,198,*7B
I've tried swapping the cable with a new one, and I'm plugging it into the Ardupilot Mega jack (not the OilPan connector that says "No GPS")
I've tried the "warm start", but the reset button on the OilPan doesn't seem to work (I don't get a new line "GPS MTK library test" on press).
It's like the singing frog -- when I show it to the Arduino, it's a frog, when I look at it alone, it sings.
.....................
Update: If I unplug the OilPan (FoxTrap 2.2, 5/24/2010), and plug a 3.3V FTDI cable into the board, i get good data from my sketch. When I try to go through the FTDI chip on the OilPan, I get bad GPS characters.
.....................
Does this behavior make sense to anybody here? I'll continue to search the forums, but I figure somebody on this group might have experienced this problem before.
Thank you!
-John
Replies
At first I thought the OilPan IMU was the problem, but even on its own the Ardupilot Mega is weird.
Since the APM has not had any use as an autopilot, due to all the GPS errors, I went to repurpose just the APM (no OilPan) as a GPS device. The APM was very well behaved when attached to a computer (3.3V FTDI), but when I attached the APM to wall power, it could not establish a GPS lock.
I tried (1) a regulated 5V supply attached to the battery connector, and (2) supplying 3.3V via the same FTDI cable, on a USB charger.
So could it be the serial buffer filling up, with nowhere to go? There's so much I do not understand about this device.
The problem gets weirder and weirder.
One test I just ran was to unplug the IMU and try to use it like an FTDI cable.
I don't know whether this is a valid use of the IMU -- The label on some of the pins seems to match what a FTDI cable would say (see attached).
When I connected the GPS through the IMU FTDI pins, I got gibberish again ... I'm betting if I hook up any device to these 6 pins (an Arduino, an XBee, anything else), I should have trouble with serial communication. Yet it can program the Atmega 1280 IC through the bootloader just fine. (the Arduino Mega 1280 bootloader communicates at 57600 bps, according to http://arduino.cc/en/uploads/Main/boards.txt)
Checking the schematic should help me figure out what is going on with those 6 pins that look a bit like an FTDI cable....
-John
BR-0012-01-4.jpg
Hi,
Note that when you connect an MTK GPS (with DIYDrones firmware) to an APM, the APM instructs it to switch to a more compact binary protocol rather than NMEA and the output stream will no longer be legible in a serial console. It's possible that this is what you are seeing which could actually be normal!
The question is, does it work? i.e. does the GPS eventually get a lock (solid blue light), and then does the APM eventually get a lock (solid red light).
Dave