Rev 1271 Rev 1295
Line 15... Line 15...
15 #define BEEP_ON() TCCR0B=0b011 15 #define BEEP_ON() TCCR0B=0b011
16 #define BEEP_OFF() TCCR0B=0b000 16 #define BEEP_OFF() TCCR0B=0b000
17 #define GPS_ON() PORTB|=0x02 17 #define GPS_ON() PORTB|=0x02
18 #define GPS_OFF() PORTB&=0xFD 18 #define GPS_OFF() PORTB&=0xFD
19 #define DELAY(dly) for(Timer=dly;Timer;) 19 #define DELAY(dly) for(Timer=dly;Timer;)
-   20  
-   21 #define GPS_BAUDRATE 9600 // Enable USRAT0 in N81,9600bps
20   22  
21 #define VTH_LOW (WORD)(8000UL*100/3838) 23 #define VTH_LOW (WORD)(8000UL*100/3838)
22 #define VTH_HIGH (WORD)(11500UL*100/3838) 24 #define VTH_HIGH (WORD)(11500UL*100/3838)
23 #define POWER_check 0b01000000 | 1 25 #define POWER_check 0b01000000 | 1
24 #define ANALOG_IN1 0b01000000 | 2 26 #define ANALOG_IN1 0b01000000 | 2
Line 148... Line 150...
148 cli(); 150 cli();
149 UCSR0B = 0; 151 UCSR0B = 0;
150 rxfifo.idx_r = 0; 152 rxfifo.idx_r = 0;
151 rxfifo.idx_w = 0; 153 rxfifo.idx_w = 0;
152 rxfifo.count = 0; 154 rxfifo.count = 0;
153 UBRR0L = SYSCLK/16/9600; // Enable USRAT0 in N81,4800bps 155 UBRR0L = SYSCLK/16/GPS_BAUDRATE;
154 UCSR0B = _BV(RXCIE0)|_BV(RXEN0)|_BV(TXEN0); 156 UCSR0B = _BV(RXCIE0)|_BV(RXEN0)|_BV(TXEN0);
155 Stat &= 0xFD; // Clear overflow flag 157 Stat &= 0xFD; // Clear overflow flag
156 sei(); 158 sei();
157 } 159 }
158   160  
Line 216... Line 218...
216   218  
217   219  
218 for (;;) { 220 for (;;) {
219 if (Stat & 1) return 0; // When power fail is detected, return with zero. 221 if (Stat & 1) return 0; // When power fail is detected, return with zero.
220 c = uart_get(); 222 c = uart_get();
221 if (Stat & 2) { // When buffer overflow has occured, restert to receive line. 223 if (Stat & 2) { // When buffer overflow has occured, restart to receive line.
222 uart_init(); 224 uart_init();
223 i = 0; c = 0; 225 i = 0; c = 0;
224 } 226 }
225 if (!c || (i == 0 && c != '$')) continue; 227 if (!c || (i == 0 && c != '$')) continue;
226 Buff[i++] = c; 228 Buff[i++] = c;
Line 367... Line 369...
367 // || !gp_comp(Buff, PSTR("$GPZDA")) 369 // || !gp_comp(Buff, PSTR("$GPZDA"))
368 // || !gp_comp(Buff, PSTR("$GPVTG")) 370 // || !gp_comp(Buff, PSTR("$GPVTG"))
369 ) 371 )
370 { 372 {
371 if (f_write(&file1, Buff, b, &s) || b != s) { err = 5; break; }; 373 if (f_write(&file1, Buff, b, &s) || b != s) { err = 5; break; };
372 /* itoa(battery,&Value1,10); // convert binary number to character 374 itoa(battery,&Value1,10); // convert number to character
373 itoa(intensity,&Value2,10); 375 itoa(intensity,&Value2,10);
374 strcpy(&Buff[0], Value1); -  
375 strcpy_P(&Buff[4], PSTR(",")); -  
376 strcpy(&Buff[5], Value2); 376 sprintf(Buff,"%d,%d\n",Value1,Value2);
377 strcpy_P(&Buff[9], PSTR("\r\n")); -  
378 if (f_write(&file1, Buff, 11, &s) || 11 != s) { err = 8; break; }; 377 if (f_write(&file1, Buff,strlen(Buff), &s) || (strlen(Buff) != s)) { err = 8; break; };
379 */ } 378 }
380 if ((Stat & 4) == 0) continue; 379 if ((Stat & 4) == 0) continue;
381 if (f_sync(&file1)) { err = 6; break; };// Synchronize the file in interval of 300 sec. 380 if (f_sync(&file1)) { err = 6; break; };// Synchronize the file in interval of 300 sec.
382 cli(); Stat &= 0xFB; sei(); // Clear sync request 381 cli(); Stat &= 0xFB; sei(); // Clear sync request
383 } 382 }
384 if (err) break; 383 if (err) break;