|
|
|
@ -42,14 +42,14 @@ uint8_t parse_nmea_gps(char input_string[RX_INPUT_BUFFER_SIZE], uint8_t output_b
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// craft bcd values
|
|
|
|
// craft bcd values
|
|
|
|
output_buffer[0] = (time[0] - 48) << 4;
|
|
|
|
output_buffer[2] = (time[0] - 48) << 4;
|
|
|
|
output_buffer[0] |= time[1] - 48;
|
|
|
|
output_buffer[2] |= time[1] - 48;
|
|
|
|
|
|
|
|
|
|
|
|
output_buffer[1] = (time[2] - 48) << 4;
|
|
|
|
output_buffer[1] = (time[2] - 48) << 4;
|
|
|
|
output_buffer[1] |= time[3] - 48;
|
|
|
|
output_buffer[1] |= time[3] - 48;
|
|
|
|
|
|
|
|
|
|
|
|
output_buffer[2] = (time[4] - 48) << 4;
|
|
|
|
output_buffer[0] = (time[4] - 48) << 4;
|
|
|
|
output_buffer[2] |= time[5] - 48;
|
|
|
|
output_buffer[0] |= time[5] - 48;
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -262,8 +262,10 @@ ISR(USART0_RX_vect)
|
|
|
|
async_buffer_pointer=0;
|
|
|
|
async_buffer_pointer=0;
|
|
|
|
PORTB ^=STATUS_LED_C;
|
|
|
|
PORTB ^=STATUS_LED_C;
|
|
|
|
uint8_t test[3];
|
|
|
|
uint8_t test[3];
|
|
|
|
if(!parse_nmea_gps(async_input_buffer, test))
|
|
|
|
if(!parse_nmea_gps(async_input_buffer, test)){
|
|
|
|
printf("parse: %x %x %x\n\r", test[0], test[1], test[2]);
|
|
|
|
printf("parse: %x %x %x\n\r", test[2], test[1], test[0]);
|
|
|
|
|
|
|
|
DS3231_write(test);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|