Paparazzi UAS  v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ins_xsens.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 ENAC
3  *
4  * This file is part of paparazzi.
5  *
6  * paparazzi is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * paparazzi is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with paparazzi; see the file COPYING. If not, write to
18  * the Free Software Foundation, 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  *
21  */
22 
27 #ifndef INS_XSENS_H
28 #define INS_XSENS_H
29 
30 #include "std.h"
31 
32 #include "ins_module.h"
33 
34 struct XsensTime {
42 };
43 
44 extern struct XsensTime xsens_time;
45 
48 
49 extern void xsens_periodic(void);
50 
51 /* To use Xsens to just provide IMU measurements
52  * for use with an external AHRS algorithm
53  */
54 #if USE_IMU
55 #include "subsystems/imu.h"
56 #include "subsystems/abi.h"
57 
58 struct ImuXsens {
61  bool_t mag_available;
62 };
63 extern struct ImuXsens imu_xsens;
64 
65 #define ImuEvent() {}
66 #endif /* USE_IMU */
67 
68 
69 /* use Xsens as a full INS solution */
70 #if USE_INS_MODULE
71 #define InsEvent() { \
72  ins_event_check_and_handle(handle_ins_msg); \
73  }
74 #define DefaultInsImpl ins_xsens
75 #define InsPeriodic xsens_periodic
76 extern void ins_xsens_init(void);
77 extern void ins_xsens_register(void);
78 #endif
79 
80 
81 #if USE_GPS_XSENS
82 #define GpsEvent() {}
83 #endif
84 
85 #endif
unsigned short uint16_t
Definition: types.h:16
int8_t month
Definition: ins_xsens.h:40
bool_t accel_available
Definition: ins_xsens.h:60
uint8_t xsens_msg_status
Definition: ins_xsens.c:186
bool_t gyro_available
Definition: ins_xsens.h:59
Main include for ABI (AirBorneInterface).
struct ImuXsens imu_xsens
Definition: ins_xsens.c:233
int8_t day
Definition: ins_xsens.h:41
int32_t nanosec
Definition: ins_xsens.h:38
int16_t year
Definition: ins_xsens.h:39
int8_t sec
Definition: ins_xsens.h:37
struct XsensTime xsens_time
Definition: ins_xsens.c:202
uint16_t xsens_time_stamp
Definition: ins_xsens.c:187
int8_t hour
Definition: ins_xsens.h:35
signed short int16_t
Definition: types.h:17
Inertial Measurement Unit interface.
Library for the XSENS AHRS.
Definition: ins_xsens.h:34
signed long int32_t
Definition: types.h:19
int8_t min
Definition: ins_xsens.h:36
unsigned char uint8_t
Definition: types.h:14
signed char int8_t
Definition: types.h:15
void xsens_periodic(void)
Definition: ins_xsens.c:317
Device independent INS code.
bool_t mag_available
Definition: ins_xsens.h:61