Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 439 → Rev 440

/QMK-Groundstation/branches/libMK/libMK/Kopter.h
0,0 → 1,99
#ifndef COPTER_H
#define COPTER_H
#include <string>
 
using namespace std;
 
/**
* This file contains informations and configurations from the Mikrokopter
*/
 
// version information for the serial connection
static const int VERSION_SERIAL_MAJOR = 10;
static const int VERSION_SERIAL_MINOR = 0;
 
// Basis-Adresses for different Hardware components
static const int ADDRESS_ALL = 0;
static const int ADDRESS_FC = 1;
static const int ADDRESS_NC = 2;
static const int ADDRESS_MK3MAG = 3;
 
// settings ID
static const int SETTINGS_ID = 2;
 
static const string HardwareType[] = {"Default", "FlightCtrl", "NaviCtrl", "MK3Mag"};
 
static const int MaxTickerEvents = 5;
 
static const int MaxAnalog = 32;
static const int MaxPlot = 50000;
 
static const int MaxNaviPos = 2000;
 
struct sMotor
{
int Speed[12];
};
 
struct MotorData
{
int motor[16][4];
string mixerName;
int mixerVersion;
};
 
struct sMode
{
int ID;
int VERSION_MAJOR;
int VERSION_MINOR;
int VERSION_PATCH;
int VERSION_SERIAL_MAJOR;
int VERSION_SERIAL_MINOR;
string Hardware;
string Version;
};
 
struct sGPS_Pos
{
long Longitude;
long Latitude;
long Altitude;
};
 
struct sNaviData
{
sGPS_Pos Current;
sGPS_Pos Target;
sGPS_Pos Home;
 
long Longitude;
long Latitude;
long Altitude;
};
 
struct sWayPoint
{
double Longitude;
double Latitude;
double Altitude;
int Time;
};
 
/**
* The KopterData class represents the current state of the MikroKopter.
* It containes all data that was sent from the Mikrokopter
*/
class KopterData {
public:
sMode mode;
sNaviData navi;
sMotor motor;
int analogData[MaxAnalog];
// current LCD page
int lcd_cur;
//max count of LCD pages
int lcd_max;
};
 
#endif