[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [6337] XSens driver update: UTC / direct float lat/l
From: |
Christophe De Wagter |
Subject: |
[paparazzi-commits] [6337] XSens driver update: UTC / direct float lat/lon |
Date: |
Thu, 04 Nov 2010 15:44:57 +0000 |
Revision: 6337
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=6337
Author: dewagter
Date: 2010-11-04 15:44:56 +0000 (Thu, 04 Nov 2010)
Log Message:
-----------
XSens driver update: UTC / direct float lat/lon
Modified Paths:
--------------
paparazzi3/trunk/conf/messages.xml
paparazzi3/trunk/conf/xsens_MTi-G.xml
paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.c
Added Paths:
-----------
paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.h
Modified: paparazzi3/trunk/conf/messages.xml
===================================================================
--- paparazzi3/trunk/conf/messages.xml 2010-11-04 15:44:42 UTC (rev 6336)
+++ paparazzi3/trunk/conf/messages.xml 2010-11-04 15:44:56 UTC (rev 6337)
@@ -412,6 +412,9 @@
<field name="min" type="uint8" unit=""/>
<field name="sec" type="uint8" unit=""/>
<field name="nanosec" type="uint32" unit=""/>
+ <field name="year" type="uint16" unit=""/>
+ <field name="month" type="uint8" unit=""/>
+ <field name="day" type="uint8" unit=""/>
</message>
Modified: paparazzi3/trunk/conf/xsens_MTi-G.xml
===================================================================
--- paparazzi3/trunk/conf/xsens_MTi-G.xml 2010-11-04 15:44:42 UTC (rev
6336)
+++ paparazzi3/trunk/conf/xsens_MTi-G.xml 2010-11-04 15:44:56 UTC (rev
6337)
@@ -230,6 +230,17 @@
<field name="ts" format="U2"/>
</data>
+ <data name="UTC" length="12">
+ <field name="nanosec" format="U4"/>
+ <field name="year" format="U2"/>
+ <field name="month" format="U1"/>
+ <field name="day" format="U1"/>
+ <field name="hour" format="U1"/>
+ <field name="min" format="U1"/>
+ <field name="sec" format="U1"/>
+ <field name="valid" format="U1"/>
+ </data>
+
<mask name="Temp" bitmask="0x0001"/>
<mask name="Calibrated" bitmask="0x0002"/>
<mask name="Orientation" bitmask="0x0004"/>
@@ -240,7 +251,8 @@
<mask name="RAWGPS" bitmask="0x1000"/>
<mask name="RAWInertial" bitmask="0x4000"/>
- <mask name="TimeStamp" bitmask="0x00000003"/>
+ <mask name="TimeStamp" bitmask="0x00000001"/>
+ <mask name="UTC" bitmask="0x00000002"/>
<mask name="OrientationMode" bitmask="0x0000000C" shift=">>2"/>
<mask name="AccOut" bitmask="0x00000010"/>
<mask name="GyrOut" bitmask="0x00000020"/>
Modified: paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.c
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.c 2010-11-04
15:44:42 UTC (rev 6336)
+++ paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.c 2010-11-04
15:44:56 UTC (rev 6337)
@@ -158,6 +158,17 @@
uint16_t xsens_output_mode;
uint32_t xsens_output_settings;
+int8_t xsens_hour;
+int8_t xsens_min;
+int8_t xsens_sec;
+int32_t xsens_nanosec;
+int16_t xsens_year;
+int8_t xsens_month;
+int8_t xsens_day;
+float xsens_lat;
+float xsens_lon;
+
+
static uint8_t xsens_id;
static uint8_t xsens_status;
static uint8_t xsens_len;
@@ -329,12 +340,12 @@
}
if (XSENS_MASK_Position(xsens_output_mode)) {
#if (!defined(USE_GPS_XSENS_RAW_DATA)) && defined(USE_GPS_XSENS)
- float lat = XSENS_DATA_Position_lat(xsens_msg_buf,offset);
- float lon = XSENS_DATA_Position_lon(xsens_msg_buf,offset);
- gps_lat = (int32_t)(lat * 1e7);
- gps_lon = (int32_t)(lon * 1e7);
- gps_utm_zone = (lon+180) / 6 + 1;
- latlong_utm_of(RadOfDeg(lat), RadOfDeg(lon), gps_utm_zone);
+ xsens_lat = XSENS_DATA_Position_lat(xsens_msg_buf,offset);
+ xsens_lon = XSENS_DATA_Position_lon(xsens_msg_buf,offset);
+ gps_lat = (int32_t)(xsens_lat * 1e7);
+ gps_lon = (int32_t)(xsens_lon * 1e7);
+ gps_utm_zone = (xsens_lon+180) / 6 + 1;
+ latlong_utm_of(RadOfDeg(xsens_lat), RadOfDeg(xsens_lon), gps_utm_zone);
ins_x = latlong_utm_x;
ins_y = latlong_utm_y;
gps_utm_east = ins_x * 100;
@@ -368,6 +379,17 @@
#endif
offset += XSENS_DATA_TimeStamp_LENGTH;
}
+ if (XSENS_MASK_UTC(xsens_output_settings)) {
+ xsens_hour = XSENS_DATA_UTC_hour(xsens_msg_buf,offset);
+ xsens_min = XSENS_DATA_UTC_min(xsens_msg_buf,offset);
+ xsens_sec = XSENS_DATA_UTC_sec(xsens_msg_buf,offset);
+ xsens_nanosec = XSENS_DATA_UTC_nanosec(xsens_msg_buf,offset);
+ xsens_year = XSENS_DATA_UTC_year(xsens_msg_buf,offset);
+ xsens_month = XSENS_DATA_UTC_month(xsens_msg_buf,offset);
+ xsens_day = XSENS_DATA_UTC_day(xsens_msg_buf,offset);
+
+ offset += XSENS_DATA_UTC_LENGTH;
+ }
//}
}
Added: paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.h
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.h
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/ins/ins_xsens.h 2010-11-04
15:44:56 UTC (rev 6337)
@@ -0,0 +1,48 @@
+/*
+ * Paparazzi $Id: $
+ *
+ * Copyright (C) 2010 ENAC
+ *
+ * This file is part of paparazzi.
+ *
+ * paparazzi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * paparazzi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with paparazzi; see the file COPYING. If not, write to
+ * the Free Software Foundation, 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+/**
+ * \brief Library for the XSENS AHRS
+ */
+
+#ifndef INS_XSENS_H
+#define INS_XSENS_H
+
+#include "std.h"
+
+extern int8_t xsens_hour;
+extern int8_t xsens_min;
+extern int8_t xsens_sec;
+extern int32_t xsens_nanosec;
+extern int16_t xsens_year;
+extern int8_t xsens_month;
+extern int8_t xsens_day;
+extern float xsens_lat;
+extern float xsens_lon;
+extern uint8_t xsens_msg_status;
+extern uint16_t xsens_time_stamp;
+
+
+
+#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [6337] XSens driver update: UTC / direct float lat/lon,
Christophe De Wagter <=