mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-04 13:55:40 +08:00
[gps datalink] added new gps support
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
GPS_LED ?= none
|
||||
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/gps.c
|
||||
ap.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_datalink.h\"
|
||||
ap.CFLAGS += -DPRIMARY_GPS_TYPE_H=\"subsystems/gps/gps_datalink.h\"
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/gps/gps_datalink.c
|
||||
|
||||
ap.CFLAGS += -DUSE_GPS -DGPS_DATALINK
|
||||
@@ -14,5 +14,5 @@ endif
|
||||
|
||||
nps.CFLAGS += -DUSE_GPS
|
||||
nps.srcs += $(SRC_SUBSYSTEMS)/gps.c
|
||||
nps.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_sim_nps.h\"
|
||||
nps.CFLAGS += -DPRIMARY_GPS_TYPE_H=\"subsystems/gps/gps_sim_nps.h\"
|
||||
nps.srcs += $(SRC_SUBSYSTEMS)/gps/gps_sim_nps.c
|
||||
|
||||
@@ -40,7 +40,7 @@ struct EnuCoor_i enu_pos, enu_speed;
|
||||
bool_t gps_available; ///< Is set to TRUE when a new REMOTE_GPS packet is received and parsed
|
||||
|
||||
/** GPS initialization */
|
||||
void gps_impl_init(void)
|
||||
void datalink_gps_impl_init(void)
|
||||
{
|
||||
gps.fix = GPS_FIX_NONE;
|
||||
gps_available = FALSE;
|
||||
@@ -58,6 +58,10 @@ void gps_impl_init(void)
|
||||
ltp_def_from_ecef_i(<p_def, &ecef_nav0);
|
||||
}
|
||||
|
||||
void datalink_gps_event(void)
|
||||
{
|
||||
}
|
||||
|
||||
// Parse the REMOTE_GPS_SMALL datalink packet
|
||||
void parse_gps_datalink_small(uint8_t num_sv, uint32_t pos_xyz, uint32_t speed_xyz, int16_t heading)
|
||||
{
|
||||
@@ -173,3 +177,11 @@ void parse_gps_datalink(uint8_t numsv, int32_t ecef_x, int32_t ecef_y, int32_t e
|
||||
AbiSendMsgGPS(GPS_DATALINK_ID, now_ts, &gps);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* register callbacks & structs
|
||||
*/
|
||||
void datalink_gps_register(void)
|
||||
{
|
||||
gps_register_impl(datalink_gps_impl_init, datalink_gps_event, GPS_DATALINK_ID, 0);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,15 @@
|
||||
|
||||
#include "std.h"
|
||||
#include "generated/airframe.h"
|
||||
#define GPS_NB_CHANNELS 0
|
||||
#define DATALINK_GPS_NB_CHANNELS 0
|
||||
|
||||
#ifndef PrimaryGpsImpl
|
||||
#define PrimaryGpsImpl datalink
|
||||
#endif
|
||||
|
||||
extern void datalink_gps_event(void);
|
||||
extern void datalink_gps_impl_init(void);
|
||||
extern void datalink_gps_register(void);
|
||||
|
||||
extern bool_t gps_available;
|
||||
|
||||
@@ -44,6 +52,6 @@ extern void parse_gps_datalink(uint8_t numsv, int32_t ecef_x, int32_t ecef_y, in
|
||||
uint32_t tow, int32_t course);
|
||||
|
||||
// dummy
|
||||
#define GpsEvent() {}
|
||||
// #define GpsEvent() {}
|
||||
|
||||
#endif /* GPS_DATALINK_H */
|
||||
|
||||
Reference in New Issue
Block a user