0,0 → 1,141 |
/**************************************************************************** |
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje * |
* admiralcascade@gmail.com * |
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ * |
* * |
* This program 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 of the License. * |
* * |
* This program 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 this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
****************************************************************************/ |
|
/* ########################################################################## |
* gain some fake arm compat :) |
* ##########################################################################*/ |
#define u8 uint8_t |
#define s8 int8_t |
#define u16 uint16_t |
#define s16 int16_t |
#define u32 uint32_t |
#define s32 int32_t |
|
/* |
* FC Debug Struct |
* portions taken and adapted from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.h |
*/ |
typedef struct { |
uint8_t Digital[2]; |
uint16_t Analog[32]; // Debugvalues |
} __attribute__((packed)) DebugOut_t; |
|
|
typedef struct { |
unsigned char SWMajor; |
unsigned char SWMinor; |
unsigned char ProtoMajor; |
unsigned char ProtoMinor; |
unsigned char SWPatch; |
unsigned char Reserved[5]; |
} str_VersionInfo; |
|
|
/* |
* NaviCtrl OSD Structs |
* portions taken and adapted from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=NaviCtrl&path=%2Ftags%2FV0.18c%2Fuart1.h |
*/ |
typedef struct { |
s32 Longitude; // in 1E-7 deg |
s32 Latitude; // in 1E-7 deg |
s32 Altitude; // in mm |
u8 Status; // validity of data |
} __attribute__((packed)) GPS_Pos_t; |
#define INVALID 0x00 |
#define NEWDATA 0x01 |
#define PROCESSED 0x02 |
|
|
+ u16 Distance; // distance to target in cm |
+ s16 Bearing; // course to target in deg |
+} __attribute__((packed)) GPS_PosDev_t; |
+ |
+typedef struct { |
+ u8 Version; // version of the data structure |
+ GPS_Pos_t CurrentPosition; // see ubx.h for details |
+ GPS_Pos_t TargetPosition; |
+ GPS_PosDev_t TargetPositionDeviation; |
+ GPS_Pos_t HomePosition; |
+ GPS_PosDev_t HomePositionDeviation; |
+ u8 WaypointIndex; // index of current waypoints running from 0 to WaypointNumber-1 |
+ u8 WaypointNumber; // number of stored waypoints |
+ u8 SatsInUse; // number of satellites used for position solution |
+ s16 Altimeter; // hight according to air pressure |
+ s16 Variometer; // climb(+) and sink(-) rate |
+ u16 FlyingTime; // in seconds |
+ u8 UBat; // Battery Voltage in 0.1 Volts |
+ u16 GroundSpeed; // speed over ground in cm/s (2D) |
+ s16 Heading; // current flight direction in � as angle to north |
+ s16 CompassHeading; // current compass value in � |
+ s8 AngleNick; // current Nick angle in 1� |
+ s8 AngleRoll; // current Rick angle in 1� |
+ u8 RC_Quality; // RC_Quality |
+ u8 FCFlags; // Flags from FC |
+ u8 NCFlags; // Flags from NC |
+ u8 Errorcode; // 0 --> okay |
+ u8 OperatingRadius; // current operation radius around the Home Position in m |
+ s16 TopSpeed; // velocity in vertical direction in cm/s |
+ u8 TargetHoldTime; // time in s to stay at the given target, counts down to 0 if target has been reached |
+ u8 RC_RSSI; // Receiver signal strength (since version 2 added) |
+ s16 SetpointAltitude; // setpoint for altitude |
+ u8 Gas; // for future use |
+ u16 Current; // actual current in 0.1A steps |
+ u16 UsedCapacity; // used capacity in mAh |
+} __attribute__((packed)) NaviData_t; |
+ |
+ |
+/* |
+ * MikroKopter Flags |
+ * taken from |
+ * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.78b%2Ffc.h |
+ */ |
+#define FCFLAG_MOTOR_RUN 0x01 |
+#define FCFLAG_FLY 0x02 |
+#define FCFLAG_CALIBRATE 0x04 |
+#define FCFLAG_START 0x08 |
+#define FCFLAG_NOTLANDUNG 0x10 |
+#define FCFLAG_LOWBAT 0x20 |
+#define FCFLAG_SPI_RX_ERR 0x40 |
+#define FCFLAG_I2CERR 0x80 |
+ |
+// backward compat |
+#define FLAG_MOTOR_RUN FCFLAG_MOTOR_RUN |
+#define FLAG_FLY FCFLAG_FLY |
+#define FLAG_CALIBRATE FCFLAG_CALIBRATE |
+#define FLAG_START FCFLAG_START |
+ |
+/* |
+ * NaviCtrl Flags |
+ * taken from |
+ * http://mikrocontroller.cco-ev.de/mikrowebsvn/filedetails.php?repname=NaviCtrl&path=%2Ftags%2FV0.17e%2Fuart1.h |
+ */ |
+#define NC_FLAG_FREE 0x01 |
+#define NC_FLAG_PH 0x02 |
+#define NC_FLAG_CH 0x04 |
+#define NC_FLAG_RANGE_LIMIT 0x08 |
+#define NC_FLAG_NOSERIALLINK 0x10 |
+#define NC_FLAG_TARGET_REACHED 0x20 |
+#define NC_FLAG_MANUAL_CONTROL 0x40 |
+#define NC_FLAG_8 0x80 |
+ |
+ |