void gps_init(void) { gps.fix = GPS_FIX_NONE; gps.week = 0; gps.tow = 0; gps.cacc = 0; gps.last_3dfix_ticks = 0; gps.last_3dfix_time = 0; gps.last_msg_ticks = 0; gps.last_msg_time = 0; #ifdef GPS_POWER_GPIO gpio_setup_output(GPS_POWER_GPIO); GPS_POWER_GPIO_ON(GPS_POWER_GPIO); #endif #ifdef GPS_LED LED_OFF(GPS_LED); #endif #ifdef GPS_TYPE_H gps_impl_init(); #endif #if PERIODIC_TELEMETRY register_periodic_telemetry(DefaultPeriodic, "GPS", send_gps); register_periodic_telemetry(DefaultPeriodic, "GPS_INT", send_gps_int); register_periodic_telemetry(DefaultPeriodic, "GPS_LLA", send_gps_lla); register_periodic_telemetry(DefaultPeriodic, "GPS_SOL", send_gps_sol); register_periodic_telemetry(DefaultPeriodic, "SVINFO", send_svinfo); #endif }
void gps_init(void) { multi_gps_mode = MULTI_GPS_MODE; gps.valid_fields = 0; gps.fix = GPS_FIX_NONE; gps.week = 0; gps.tow = 0; gps.cacc = 0; gps.last_3dfix_ticks = 0; gps.last_3dfix_time = 0; gps.last_msg_ticks = 0; gps.last_msg_time = 0; #ifdef GPS_POWER_GPIO gpio_setup_output(GPS_POWER_GPIO); GPS_POWER_GPIO_ON(GPS_POWER_GPIO); #endif #ifdef GPS_LED LED_OFF(GPS_LED); #endif AbiBindMsgGPS(ABI_BROADCAST, &gps_ev, gps_cb); #if PERIODIC_TELEMETRY register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS, send_gps); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS_INT, send_gps_int); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS_LLA, send_gps_lla); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS_SOL, send_gps_sol); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_SVINFO, send_svinfo); #endif }
void gps_init(void) { multi_gps_mode = MULTI_GPS_MODE; gps.valid_fields = 0; gps.fix = GPS_FIX_NONE; gps.week = 0; gps.tow = 0; gps.cacc = 0; gps.last_3dfix_ticks = 0; gps.last_3dfix_time = 0; gps.last_msg_ticks = 0; gps.last_msg_time = 0; #ifdef GPS_POWER_GPIO gpio_setup_output(GPS_POWER_GPIO); GPS_POWER_GPIO_ON(GPS_POWER_GPIO); #endif #ifdef GPS_LED LED_OFF(GPS_LED); #endif RegisterGps(PRIMARY_GPS); #ifdef SECONDARY_GPS RegisterGps(SECONDARY_GPS); #endif for (int i=0; i < GPS_NB_IMPL; i++) { if (GpsInstances[i].init != NULL) { GpsInstances[i].init(); } } AbiBindMsgGPS(ABI_BROADCAST, &gps_ev, gps_cb); #if PERIODIC_TELEMETRY register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS, send_gps); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS_INT, send_gps_int); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS_LLA, send_gps_lla); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_GPS_SOL, send_gps_sol); register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_SVINFO, send_svinfo); #endif }