mirror of
https://github.com/markqvist/OpenModem.git
synced 2025-05-15 12:52:22 -04:00
Fixed GPS initialisation
This commit is contained in:
parent
07f4b198bc
commit
98d2093485
3 changed files with 28 additions and 15 deletions
|
@ -43,22 +43,28 @@ void gps_init(Serial *ser) {
|
|||
|
||||
if (gps_detect()) {
|
||||
gps_installed = true;
|
||||
|
||||
serial_setbaudrate_9600(1);
|
||||
delay_ms(100);
|
||||
|
||||
gps_send_command(PMTK_SET_BAUD_57600);
|
||||
delay_ms(100);
|
||||
|
||||
serial_setbaudrate_57600(1);
|
||||
delay_ms(100);
|
||||
|
||||
gps_send_command(PMTK_API_SET_FIX_CTL_1HZ);
|
||||
gps_send_command(PMTK_SET_NMEA_OUTPUT_RMCGGA);
|
||||
|
||||
GPS_DDR |= _BV(GPS_EN_PIN);
|
||||
if (gps_enabled()) { gps_powerup(); } else { gps_powerdown(); }
|
||||
|
||||
|
||||
if (config_gps_mode == CONFIG_GPS_AUTODETECT || config_gps_mode == CONFIG_GPS_REQUIRED) {
|
||||
serial_setbaudrate_9600(1);
|
||||
delay_ms(100);
|
||||
|
||||
gps_send_command(PMTK_SET_BAUD_57600);
|
||||
delay_ms(100);
|
||||
|
||||
serial_setbaudrate_57600(1);
|
||||
delay_ms(100);
|
||||
|
||||
gps_send_command(PMTK_API_SET_FIX_CTL_1HZ);
|
||||
gps_send_command(PMTK_SET_NMEA_OUTPUT_RMCGGA);
|
||||
|
||||
gps_power = true;
|
||||
gps_powerup();
|
||||
} else {
|
||||
gps_power = false;
|
||||
gps_powerdown();
|
||||
}
|
||||
|
||||
} else {
|
||||
gps_installed = false;
|
||||
gps_power = false;
|
||||
|
|
|
@ -83,6 +83,8 @@ ISR(USART0_RX_vect) {
|
|||
if (!fifo_isfull(&uart0FIFO)) {
|
||||
char c = uart0_getchar_nowait();
|
||||
fifo_push(&uart0FIFO, c);
|
||||
} else {
|
||||
uart1_getchar_nowait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -92,6 +94,8 @@ ISR(USART1_RX_vect) {
|
|||
if (!fifo_isfull(&uart1FIFO)) {
|
||||
char c = uart1_getchar_nowait();
|
||||
fifo_push(&uart1FIFO, c);
|
||||
} else {
|
||||
uart1_getchar_nowait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
3
main.c
3
main.c
|
@ -65,6 +65,9 @@ void system_check(void) {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Check GPS_REQUIRED and BLUETOOTH_REQUIRED
|
||||
// here before giving green light.
|
||||
|
||||
// Give the green light if everything checks out
|
||||
LED_STATUS_ON();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue