48 int lastCommaIndex = 0;
52 if (gpsStringin[i] ==
',')
55 if (i > lastCommaIndex + 1)
58 gpsStringin[i] =
'\0';
63 if (!ATO_I16(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
day))
70 if (!ATO_I16(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
month))
77 if (!ATO_I16(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
year))
100 int lastCommaIndex = 0;
103 char tempChar = 0x00;
108 if (gpsStringin[i] ==
',')
111 if (i > lastCommaIndex + 1)
114 gpsStringin[i] =
'\0';
119 if (!
ATO_F(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
utctime))
121 gpsStringin[i] =
',';
126 I_dot = lastCommaIndex;
127 while (gpsStringin[++I_dot] !=
'.') {
if (I_dot >
charBuffMax - 2)
break; }
131 tempChar = gpsStringin[I_dot-2];
132 gpsStringin[I_dot-2] =
'\0';
134 if (
ATO_F(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
lattitude))
136 gpsStringin[I_dot-2] = tempChar;
137 if (
ATO_F(&gpsStringin[I_dot-2], &minutes))
139 gpsDataPtr->
lattitude += minutes / 60.0f;
143 gpsStringin[I_dot] =
'.';
144 gpsStringin[i] =
',';
150 gpsStringin[I_dot] =
'.';
151 gpsStringin[i] =
',';
157 gpsStringin[i] =
',';
162 if (gpsStringin[lastCommaIndex + 1] ==
'S')
166 I_dot = lastCommaIndex;
167 while (gpsStringin[++I_dot] !=
'.') {
if (I_dot >
charBuffMax - 2)
break; }
173 tempChar = gpsStringin[I_dot-2];
174 gpsStringin[I_dot-2] =
'\0';
176 if (
ATO_F(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
longitude))
178 gpsStringin[I_dot-2] = tempChar;
180 if (
ATO_F(&gpsStringin[I_dot-2], &minutes))
182 gpsDataPtr->
longitude += minutes / 60.0f;
186 gpsStringin[I_dot] =
'.';
187 gpsStringin[i] =
',';
193 gpsStringin[I_dot] =
'.';
194 gpsStringin[i] =
',';
197 gpsStringin[I_dot] =
'.';
201 gpsStringin[i] =
',';
206 if (gpsStringin[lastCommaIndex + 1] ==
'W')
210 if (!
ATO_F(&gpsStringin[lastCommaIndex + 1], &gpsDataPtr->
altitude))
212 gpsStringin[i] =
',';
218 gpsStringin[i] =
',';
242 if(gpsStringin[i]==
'A')
245 if (gpsStringin[i - 1] ==
'D')
247 if (gpsStringin[i - 2] ==
'Z' && gpsStringin[i - 5] ==
'$')
253 else if (gpsStringin[i - 1] ==
'G')
255 if (gpsStringin[i - 2] ==
'G' && gpsStringin[i - 5] ==
'$')
261 else if(gpsStringin[i]==
'S')
264 if (gpsStringin[i - 1] ==
'N')
266 if (gpsStringin[i - 2] ==
'G' && gpsStringin[i - 5] ==
'$')
274 if (gpsStringin[i] ==
',')
278 if (gpsStringin[i] ==
'*')