Line 56... |
Line 56... |
56 |
// don't do anything more: |
56 |
// don't do anything more: |
57 |
return; |
57 |
return; |
58 |
} |
58 |
} |
59 |
Serial.println("card initialized."); |
59 |
Serial.println("card initialized."); |
60 |
|
60 |
|
- |
|
61 |
dataString = ""; |
61 |
ReadGPS(); |
62 |
ReadGPRMC(); |
- |
|
63 |
|
62 |
// filename = dataString.substring(0,5) + dataString.substring(dataString.length()-5,dataString.length()) + filename; |
64 |
// filename = dataString.substring(0,5) + dataString.substring(dataString.length()-5,dataString.length()) + filename; |
63 |
int len = dataString.length()-1; |
65 |
int len = dataString.length()-1; |
64 |
filename = dataString.substring(len-2,len) + dataString.substring(len-4,len-2) + dataString.substring(len-6,len-4) + dataString.substring(0,2) + ".CSV "; |
66 |
filename = dataString.substring(len-2,len) + dataString.substring(len-4,len-2) + dataString.substring(len-6,len-4) + dataString.substring(0,2) + ".CSV "; |
65 |
} |
67 |
} |
66 |
|
68 |
|
67 |
void loop() |
69 |
void loop() |
68 |
{ |
70 |
{ |
- |
|
71 |
dataString = ""; |
- |
|
72 |
ReadGPRMC(); |
69 |
ReadGPS(); |
73 |
ReadGPGGA(); |
70 |
|
74 |
|
71 |
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) |
75 |
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) |
72 |
delay(20); // wait for a second |
76 |
delay(20); // wait for a second |
73 |
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW |
77 |
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW |
74 |
delay(20); // wait for a second |
78 |
delay(20); // wait for a second |
75 |
|
79 |
|
Line 109... |
Line 113... |
109 |
Serial.println("error opening datalog.txt"); |
113 |
Serial.println("error opening datalog.txt"); |
110 |
} |
114 |
} |
111 |
} |
115 |
} |
112 |
|
116 |
|
113 |
|
117 |
|
114 |
void ReadGPS() |
118 |
void ReadGPRMC() |
115 |
{ |
119 |
{ |
116 |
dataString = ""; |
120 |
// $GPRMC,091451.00,A,4915.64143,N,01441.50397,E,0.053,,090215,,,A*74 |
- |
|
121 |
|
117 |
coll = 0; |
122 |
coll = 0; |
118 |
|
123 |
|
119 |
while(1) |
124 |
while(1) |
120 |
{ |
125 |
{ |
121 |
// get incoming byte: |
126 |
// get incoming byte: |
Line 145... |
Line 150... |
145 |
} |
150 |
} |
146 |
while (coll < 9); |
151 |
while (coll < 9); |
147 |
} |
152 |
} |
148 |
|
153 |
|
149 |
|
154 |
|
- |
|
155 |
void ReadGPGGA() |
- |
|
156 |
{ |
- |
|
157 |
// $GPGGA,091451.00,4915.64143,N,01441.50397,E,1,09,0.90,443.2,M,44.0,M,,*50 |
- |
|
158 |
|
- |
|
159 |
coll = 0; |
- |
|
160 |
|
- |
|
161 |
while(1) |
- |
|
162 |
{ |
- |
|
163 |
// get incoming byte: |
- |
|
164 |
while (!Serial.available()); |
- |
|
165 |
if (Serial.read() != '$') continue; |
- |
|
166 |
while (!Serial.available()); |
- |
|
167 |
if (Serial.read() != 'G') continue; |
- |
|
168 |
while (!Serial.available()); |
- |
|
169 |
if (Serial.read() != 'P') continue; |
- |
|
170 |
while (!Serial.available()); |
- |
|
171 |
if (Serial.read() != 'G') continue; |
- |
|
172 |
while (!Serial.available()); |
- |
|
173 |
if (Serial.read() != 'G') continue; |
- |
|
174 |
while (!Serial.available()); |
- |
|
175 |
if (Serial.read() != 'A') continue; |
- |
|
176 |
while (!Serial.available()); |
- |
|
177 |
if (Serial.read() != ',') continue; |
- |
|
178 |
break; |
- |
|
179 |
} |
- |
|
180 |
|
- |
|
181 |
do |
- |
|
182 |
{ |
- |
|
183 |
while (!Serial.available()); |
- |
|
184 |
inChar = (char)Serial.read(); |
- |
|
185 |
if (inChar == ',') coll++; |
- |
|
186 |
if (coll > 4) dataString += inChar; |
- |
|
187 |
} |
- |
|
188 |
while (coll < 12); |
- |
|
189 |
} |
150 |
|
190 |
|
151 |
|
191 |
|
152 |
|
192 |
|
153 |
|
193 |
|