kopia lustrzana https://github.com/bristol-seds/pico-tracker
[gps-osp] Implement gps_is_locked function for gps_osp
rodzic
def6256513
commit
a9a8e20071
|
@ -68,8 +68,6 @@ struct ubx_nav_posllh gps_get_nav_posllh();
|
|||
struct ubx_nav_sol gps_get_nav_sol();
|
||||
struct ubx_nav_timeutc gps_get_nav_timeutc();
|
||||
|
||||
uint8_t gps_is_locked(void);
|
||||
|
||||
void gps_set_powersave(bool powersave_on);
|
||||
void gps_set_power_state(bool gnss_running);
|
||||
|
||||
|
@ -119,8 +117,6 @@ struct gps_data_t {
|
|||
uint8_t time_to_first_fix; /* seconds / counts */
|
||||
};
|
||||
|
||||
uint8_t gps_is_locked(void);
|
||||
|
||||
enum gps_error_t gps_get_error_state(void);
|
||||
struct gps_data_t gps_get_data(void);
|
||||
|
||||
|
@ -128,8 +124,9 @@ void gps_setup(void);
|
|||
|
||||
#endif /* GPS_TYPE_DUMMY */
|
||||
|
||||
/* Both ------------------------------------------------------------ */
|
||||
/* All ------------------------------------------------------------ */
|
||||
enum gps_flight_state_t gps_get_flight_state(void);
|
||||
uint8_t gps_is_locked(void);
|
||||
|
||||
void gps_usart_init_enable(uint32_t baud_rate);
|
||||
void gps_reset(void);
|
||||
|
|
|
@ -324,7 +324,8 @@ void gps_setup(void)
|
|||
;
|
||||
}
|
||||
|
||||
uint8_t gps_is_locked(void) {
|
||||
uint8_t gps_is_locked(void)
|
||||
{
|
||||
return 1; /* locked */
|
||||
}
|
||||
|
||||
|
|
|
@ -72,6 +72,11 @@ enum gps_power_state_t gps_power_state = GPS_HIBERNATE;
|
|||
*/
|
||||
enum gps_flight_state_t gps_flight_state = GPS_FLIGHT_STATE_LAUNCH;
|
||||
|
||||
/**
|
||||
* Lock State
|
||||
*/
|
||||
uint8_t gps_is_locked_priv = 0;
|
||||
|
||||
/**
|
||||
* OSP Output Ack/Nack
|
||||
*/
|
||||
|
@ -518,6 +523,19 @@ void gps_make_hibernate(void)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* =============================================================================
|
||||
* Lock State ==================================================================
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
/**
|
||||
* Lock state. Set by gps_get_data
|
||||
*/
|
||||
uint8_t gps_is_locked(void)
|
||||
{
|
||||
return gps_is_locked_priv;
|
||||
}
|
||||
|
||||
/**
|
||||
* =============================================================================
|
||||
|
@ -574,6 +592,7 @@ struct gps_data_t gps_get_data(void)
|
|||
gps_make_hibernate();
|
||||
|
||||
data.is_locked = 1; /* valid fix */
|
||||
gps_is_locked_priv = 1;
|
||||
data.latitude = osp_out_geodetic_navigation_data.payload.latitude; /* hndeg */
|
||||
data.longitude = osp_out_geodetic_navigation_data.payload.longitude; /* hndeg */
|
||||
data.altitude = osp_out_geodetic_navigation_data.payload.altitude_from_msl*10; /* cm -> mm */
|
||||
|
@ -600,6 +619,7 @@ struct gps_data_t gps_get_data(void)
|
|||
|
||||
/* invalid */
|
||||
memset(&data, 0, sizeof(struct gps_data_t));
|
||||
gps_is_locked_priv = 0; /* not locked */
|
||||
data.time_to_first_fix = i;
|
||||
|
||||
return data;
|
||||
|
|
Ładowanie…
Reference in New Issue