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
|
GPS_LED ?= none
|
||||||
|
|
||||||
ap.srcs += $(SRC_SUBSYSTEMS)/gps.c
|
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.srcs += $(SRC_SUBSYSTEMS)/gps/gps_datalink.c
|
||||||
|
|
||||||
ap.CFLAGS += -DUSE_GPS -DGPS_DATALINK
|
ap.CFLAGS += -DUSE_GPS -DGPS_DATALINK
|
||||||
@@ -14,5 +14,5 @@ endif
|
|||||||
|
|
||||||
nps.CFLAGS += -DUSE_GPS
|
nps.CFLAGS += -DUSE_GPS
|
||||||
nps.srcs += $(SRC_SUBSYSTEMS)/gps.c
|
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
|
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
|
bool_t gps_available; ///< Is set to TRUE when a new REMOTE_GPS packet is received and parsed
|
||||||
|
|
||||||
/** GPS initialization */
|
/** GPS initialization */
|
||||||
void gps_impl_init(void)
|
void datalink_gps_impl_init(void)
|
||||||
{
|
{
|
||||||
gps.fix = GPS_FIX_NONE;
|
gps.fix = GPS_FIX_NONE;
|
||||||
gps_available = FALSE;
|
gps_available = FALSE;
|
||||||
@@ -58,6 +58,10 @@ void gps_impl_init(void)
|
|||||||
ltp_def_from_ecef_i(<p_def, &ecef_nav0);
|
ltp_def_from_ecef_i(<p_def, &ecef_nav0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void datalink_gps_event(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
// Parse the REMOTE_GPS_SMALL datalink packet
|
// 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)
|
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);
|
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 "std.h"
|
||||||
#include "generated/airframe.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;
|
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);
|
uint32_t tow, int32_t course);
|
||||||
|
|
||||||
// dummy
|
// dummy
|
||||||
#define GpsEvent() {}
|
// #define GpsEvent() {}
|
||||||
|
|
||||||
#endif /* GPS_DATALINK_H */
|
#endif /* GPS_DATALINK_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user