mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-27 17:06:31 +08:00
gps subsystem: really need to define GPS_FIX_x in gps.h and convert all implementations to the same fix mask
airborne it would work, but GCS, etc. of course rely on 0->nofix 3->3d-fix in the messages
This commit is contained in:
@@ -37,6 +37,10 @@
|
|||||||
#include GPS_TYPE_H
|
#include GPS_TYPE_H
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GPS_FIX_NONE 0x00
|
||||||
|
#define GPS_FIX_2D 0x02
|
||||||
|
#define GPS_FIX_3D 0x03
|
||||||
|
|
||||||
#define GpsFixValid() (gps.fix == GPS_FIX_3D)
|
#define GpsFixValid() (gps.fix == GPS_FIX_3D)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -158,7 +158,16 @@ void gps_mtk_read_message(void) {
|
|||||||
gps.speed_3d = gps.gspeed;
|
gps.speed_3d = gps.gspeed;
|
||||||
gps.course = (RadOfDeg(MTK_DIY14_NAV_Heading(gps_mtk.msg_buf)))*10;
|
gps.course = (RadOfDeg(MTK_DIY14_NAV_Heading(gps_mtk.msg_buf)))*10;
|
||||||
gps.num_sv = MTK_DIY14_NAV_numSV(gps_mtk.msg_buf);
|
gps.num_sv = MTK_DIY14_NAV_numSV(gps_mtk.msg_buf);
|
||||||
gps.fix = MTK_DIY14_NAV_GPSfix(gps_mtk.msg_buf);
|
switch (MTK_DIY14_NAV_GPSfix(gps_mtk.msg_buf)) {
|
||||||
|
case MTK_DIY_FIX_3D:
|
||||||
|
gps.fix = GPS_FIX_3D;
|
||||||
|
break;
|
||||||
|
case MTK_DIY_FIX_2D:
|
||||||
|
gps.fix = GPS_FIX_2D;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gps.fix = GPS_FIX_NONE;
|
||||||
|
}
|
||||||
gps.tow = MTK_DIY14_NAV_ITOW(gps_mtk.msg_buf);;
|
gps.tow = MTK_DIY14_NAV_ITOW(gps_mtk.msg_buf);;
|
||||||
// FIXME: with MTK DIY 1.4 you do not receive GPS week
|
// FIXME: with MTK DIY 1.4 you do not receive GPS week
|
||||||
gps.week = 0;
|
gps.week = 0;
|
||||||
|
|||||||
@@ -28,10 +28,6 @@
|
|||||||
/** Includes macros generated from mtk.xml */
|
/** Includes macros generated from mtk.xml */
|
||||||
#include "mtk_protocol.h"
|
#include "mtk_protocol.h"
|
||||||
|
|
||||||
#define GPS_FIX_NONE 0x01
|
|
||||||
#define GPS_FIX_2D 0x02
|
|
||||||
#define GPS_FIX_3D 0x03
|
|
||||||
|
|
||||||
#define GPS_MTK_MAX_PAYLOAD 255
|
#define GPS_MTK_MAX_PAYLOAD 255
|
||||||
|
|
||||||
struct GpsMtk {
|
struct GpsMtk {
|
||||||
@@ -109,6 +105,10 @@ extern bool_t gps_configuring;
|
|||||||
extern void gps_mtk_read_message(void);
|
extern void gps_mtk_read_message(void);
|
||||||
extern void gps_mtk_parse(uint8_t c);
|
extern void gps_mtk_parse(uint8_t c);
|
||||||
|
|
||||||
|
#define MTK_DIY_FIX_3D 3
|
||||||
|
#define MTK_DIY_FIX_2D 2
|
||||||
|
#define MTK_DIY_FIX_NONE 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* dynamic GPS configuration
|
* dynamic GPS configuration
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file gps_nmea.h
|
/** \file gps_nmea.h
|
||||||
* NMEA protocol specific code
|
* \brief NMEA protocol specific code
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -33,10 +33,6 @@
|
|||||||
|
|
||||||
#define GPS_NB_CHANNELS 16
|
#define GPS_NB_CHANNELS 16
|
||||||
|
|
||||||
#define GPS_FIX_NONE 0x00
|
|
||||||
#define GPS_FIX_2D 0x02
|
|
||||||
#define GPS_FIX_3D 0x03
|
|
||||||
|
|
||||||
#ifdef DEBUG_NMEA
|
#ifdef DEBUG_NMEA
|
||||||
#define NMEA_PRINT(...) { UsbSPrintString( __VA_ARGS__);};
|
#define NMEA_PRINT(...) { UsbSPrintString( __VA_ARGS__);};
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -3,10 +3,6 @@
|
|||||||
|
|
||||||
#include "std.h"
|
#include "std.h"
|
||||||
|
|
||||||
#define GPS_FIX_NONE 0x00
|
|
||||||
#define GPS_FIX_2D 0x02
|
|
||||||
#define GPS_FIX_3D 0x03
|
|
||||||
|
|
||||||
#define GPS_NB_CHANNELS 16
|
#define GPS_NB_CHANNELS 16
|
||||||
|
|
||||||
extern bool_t gps_available;
|
extern bool_t gps_available;
|
||||||
|
|||||||
@@ -3,10 +3,6 @@
|
|||||||
|
|
||||||
#include "nps_sensors.h"
|
#include "nps_sensors.h"
|
||||||
|
|
||||||
#define GPS_FIX_NONE 0x00
|
|
||||||
#define GPS_FIX_2D 0x02
|
|
||||||
#define GPS_FIX_3D 0x03
|
|
||||||
|
|
||||||
#define GPS_NB_CHANNELS 16
|
#define GPS_NB_CHANNELS 16
|
||||||
|
|
||||||
extern bool_t gps_available;
|
extern bool_t gps_available;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "subsystems/gps.h"
|
#include "subsystems/gps.h"
|
||||||
|
#include "led.h"
|
||||||
|
|
||||||
#if GPS_USE_LATLONG
|
#if GPS_USE_LATLONG
|
||||||
/* currently needed to get nav_utm_zone0 */
|
/* currently needed to get nav_utm_zone0 */
|
||||||
@@ -40,8 +41,12 @@ struct GpsSkytraq gps_skytraq;
|
|||||||
#define GOT_CHECKSUM 7
|
#define GOT_CHECKSUM 7
|
||||||
#define GOT_SYNC3 8
|
#define GOT_SYNC3 8
|
||||||
|
|
||||||
|
#define SKYTRAQ_FIX_NONE 0x00
|
||||||
|
#define SKYTRAQ_FIX_2D 0x01
|
||||||
|
#define SKYTRAQ_FIX_3D 0x02
|
||||||
|
#define SKYTRAQ_FIX_3D_DGPS 0x03
|
||||||
|
|
||||||
//#include "my_debug_servo.h"
|
//#include "my_debug_servo.h"
|
||||||
#include "led.h"
|
|
||||||
|
|
||||||
void gps_impl_init(void) {
|
void gps_impl_init(void) {
|
||||||
|
|
||||||
@@ -72,9 +77,20 @@ void gps_skytraq_read_message(void) {
|
|||||||
// sacc;
|
// sacc;
|
||||||
// gps.pdop = SKYTRAQ_NAVIGATION_DATA_PDOP(gps_skytraq.msg_buf);
|
// gps.pdop = SKYTRAQ_NAVIGATION_DATA_PDOP(gps_skytraq.msg_buf);
|
||||||
gps.num_sv = SKYTRAQ_NAVIGATION_DATA_NumSV(gps_skytraq.msg_buf);
|
gps.num_sv = SKYTRAQ_NAVIGATION_DATA_NumSV(gps_skytraq.msg_buf);
|
||||||
gps.fix = SKYTRAQ_NAVIGATION_DATA_FixMode(gps_skytraq.msg_buf);
|
|
||||||
gps.tow = SKYTRAQ_NAVIGATION_DATA_TOW(gps_skytraq.msg_buf)/10;
|
gps.tow = SKYTRAQ_NAVIGATION_DATA_TOW(gps_skytraq.msg_buf)/10;
|
||||||
|
|
||||||
|
switch (SKYTRAQ_NAVIGATION_DATA_FixMode(gps_skytraq.msg_buf)) {
|
||||||
|
case SKYTRAQ_FIX_3D_DGPS:
|
||||||
|
case SKYTRAQ_FIX_3D:
|
||||||
|
gps.fix = GPS_FIX_3D;
|
||||||
|
break;
|
||||||
|
case SKYTRAQ_FIX_2D:
|
||||||
|
gps.fix = GPS_FIX_2D;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gps.fix = GPS_FIX_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
#if GPS_USE_LATLONG
|
#if GPS_USE_LATLONG
|
||||||
/* Computes from (lat, long) in the referenced UTM zone */
|
/* Computes from (lat, long) in the referenced UTM zone */
|
||||||
struct LlaCoor_f lla_f;
|
struct LlaCoor_f lla_f;
|
||||||
|
|||||||
@@ -24,13 +24,6 @@
|
|||||||
|
|
||||||
#include "mcu_periph/uart.h"
|
#include "mcu_periph/uart.h"
|
||||||
|
|
||||||
|
|
||||||
#define GPS_FIX_NONE 0x00
|
|
||||||
#define GPS_FIX_2D 0x01
|
|
||||||
#define GPS_FIX_3D 0x02
|
|
||||||
#define GPS_FIX_3D_DGPS 0x03
|
|
||||||
|
|
||||||
|
|
||||||
#define SKYTRAQ_SYNC1 0xA0
|
#define SKYTRAQ_SYNC1 0xA0
|
||||||
#define SKYTRAQ_SYNC2 0xA1
|
#define SKYTRAQ_SYNC2 0xA1
|
||||||
|
|
||||||
|
|||||||
@@ -38,10 +38,6 @@
|
|||||||
|
|
||||||
#define GPS_NB_CHANNELS 16
|
#define GPS_NB_CHANNELS 16
|
||||||
|
|
||||||
#define GPS_FIX_NONE 0x00
|
|
||||||
#define GPS_FIX_2D 0x02
|
|
||||||
#define GPS_FIX_3D 0x03
|
|
||||||
|
|
||||||
#define GPS_UBX_MAX_PAYLOAD 255
|
#define GPS_UBX_MAX_PAYLOAD 255
|
||||||
struct GpsUbx {
|
struct GpsUbx {
|
||||||
bool_t msg_available;
|
bool_t msg_available;
|
||||||
|
|||||||
Reference in New Issue
Block a user