Hi, I'm trying to connect a GPS device to the Maple, via the RX1 port at 115200 Baud. I transmitting only the RMC data, and I am getting a number of odd character drops. GPS is refreshing at 5 Hz. Below are a sample of my results, from the SerialUSB port, and below that will be results from Serial2 stored to a uSD card with OpenLog.
Also, the code ran fine on an Arduino Duemillinove.
SerialUSB:
...
1270125,2038,2028,2449,2278,1653,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270161,2052,2018,2461,2272,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270197,2052,2005,2451,2270,1659,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270233,2034,2046,2443,2266,1652,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270269,2037,2029,2458,2268,1649,$GPRMC,124426.800,V,2400.0000,N,12100.0000,E,0000.0,000.0,280606,,,N*47
1270376,2051,2027,2465,2282,1642,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270412,2047,2018,2458,2274,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270448,2043,2027,2451,2268,1655,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270484,2041,2025,2462,2272,1654,,,,N*4E
1270528,2040,2025,2452,2278,1653,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270563,2032,2037,2456,2267,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270599,2038,2038,2459,2269,1652,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270635,2053,2036,2456,2275,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270671,2043,2024,2470,2281,1653,$GPRMC,1
1270715,2046,2029,2478,2274,1652,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270751,2023,2028,2438,2267,1648,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270786,2050,2030,2466,2278,1653,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270822,2035,2037,2454,2281,1644,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270858,2037,2034,2458,2279,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270894,2039,2029,2448,2273,1640,,,,N*4A
1270938,2039,2031,2453,2280,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1270974,2042,2031,2456,2278,1648,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271010,2039,2031,2455,2269,1645,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271045,2042,2030,2457,2267,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271081,2040,2032,2458,2267,1649,,,,N*48
1271125,2034,2037,2454,2282,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271161,2039,2032,2456,2280,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271197,2039,2030,2457,2265,1652,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271233,2039,2032,2457,2269,1650,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1271269,2046,2031,2459,2271,1651,$GPRMC,124427.800,V,2400.0000,N,12100.0000,E,0000.0,000.0,280606,,,N*46
Serial2:
...
1300,2043,2031,2458,2177,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1333,2043,2031,2458,2184,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1367,2042,2032,2459,2182,1652,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1400,2044,2023,2464,2205,1672,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1433,2048,2030,2460,2175,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1467,2044,2030,2457,2172,1651,$GPRMC,120314.000,V,2400.0000,N,12100.0000,E,0000.0,000.0,280606,,,N*4D
1521,2044,2032,2460,2186,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1555,2049,2029,2495,2167,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1588,2045,2031,2459,2180,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1621,2044,2032,2456,2170,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1655,2046,2033,2460,2170,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1688,2053,2034,2504,2177,1652,,,,N*4F
1710,2045,2032,2458,2165,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1743,2048,2030,2458,2165,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1776,2042,2031,2460,2162,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1810,2035,2036,2458,2160,1656,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1843,2046,2032,2462,2160,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1876,2043,2032,2461,2158,1647,,,,N*49
1898,2044,2030,2459,2146,1649,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1931,2042,2031,2429,2150,1655,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1964,2044,2032,2461,2146,1651,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
1998,2044,2031,2458,2149,1652,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
2031,2044,2030,2460,2141,1647,$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X
2064,2045,2031,2464,2136,1664,$GPRMC,120314.600,V,2400.0000,N,12100.0000,E,0000.0,000.0,280606,,,N*4B
Maple Code:
// GPS Initilization
byte GPSbyte;
void setup()
{
Serial2.begin(19200); // OpenLog Serial Port
Serial1.begin(115200); // GPS Input Serial Port
delay(1000); // Delay to allow initilization
Serial2.print("dt,Ax,Ay,Az,Gx,Gy,NEMA,Time,Valid,Latitude,");
Serial2.println("NS,Longitude,EW,Speed,Heading,DDMMYY,,,Checksum");
}
void loop()
{
// Gather IMU Sensor Data
Serial2.print(millis()); // dt
Serial2.print(",");
Serial2.print(analogRead(18)); // Ax
Serial2.print(",");
Serial2.print(analogRead(19)); // Ay
Serial2.print(",");
Serial2.print(analogRead(20)); // Az
Serial2.print(",");
Serial2.print(analogRead(15)); // Gx
Serial2.print(",");
Serial2.print(analogRead(16)); // Gy
Serial2.print(",");
// SerialUSB.print(millis()); // dt
// SerialUSB.print(",");
// SerialUSB.print(analogRead(18)); // Ax
// SerialUSB.print(",");
// SerialUSB.print(analogRead(19)); // Ay
// SerialUSB.print(",");
// SerialUSB.print(analogRead(20)); // Az
// SerialUSB.print(",");
// SerialUSB.print(analogRead(15)); // Gx
// SerialUSB.print(",");
// SerialUSB.print(analogRead(16)); // Gy
// SerialUSB.print(",");
// Gather GPS data
int ii = 0;
if (Serial1.available() > 0)
{
while (Serial1.available() > 0)
{
GPSbyte = Serial1.read();
Serial2.print(GPSbyte,BYTE);
// SerialUSB.print(GPSbyte,BYTE);
}
Serial2.println();
// SerialUSB.println();
}
else
{
Serial2.println("$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X");
// SerialUSB.println("$,-1,X,-1,X,-1,X,-1,-1,-1,-1,X,X");
}
}
Any suggestions?