Subversion Repositories Projects

Rev

Rev 272 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 272 Rev 279
1
/***************************************************************************
1
/***************************************************************************
2
 *   Copyright (C) 2008 by Manuel Schrape                                  *
2
 *   Copyright (C) 2008 by Manuel Schrape                                  *
3
 *   manuel.schrape@gmx.de                                                 *
3
 *   manuel.schrape@gmx.de                                                 *
4
 *                                                                         *
4
 *                                                                         *
5
 *   This program is free software; you can redistribute it and/or modify  *
5
 *   This program is free software; you can redistribute it and/or modify  *
6
 *   it under the terms of the GNU General Public License as published by  *
6
 *   it under the terms of the GNU General Public License as published by  *
7
 *   the Free Software Foundation; either version 2 of the License.        *
7
 *   the Free Software Foundation; either version 2 of the License.        *
8
 *                                                                         *
8
 *                                                                         *
9
 *   This program is distributed in the hope that it will be useful,       *
9
 *   This program is distributed in the hope that it will be useful,       *
10
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
10
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
11
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12
 *   GNU General Public License for more details.                          *
12
 *   GNU General Public License for more details.                          *
13
 *                                                                         *
13
 *                                                                         *
14
 *   You should have received a copy of the GNU General Public License     *
14
 *   You should have received a copy of the GNU General Public License     *
15
 *   along with this program; if not, write to the                         *
15
 *   along with this program; if not, write to the                         *
16
 *   Free Software Foundation, Inc.,                                       *
16
 *   Free Software Foundation, Inc.,                                       *
17
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
17
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
18
 ***************************************************************************/
18
 ***************************************************************************/
19
#ifndef GLOBAL_H
19
#ifndef GLOBAL_H
20
#define GLOBAL_H
20
#define GLOBAL_H
21
 
21
 
22
#include <QString>
22
#include <QString>
23
#include <QSize>
23
#include <QSize>
24
#include <QPoint>
24
#include <QPoint>
25
#include <QColor>
25
#include <QColor>
26
#include <QBitArray>
26
#include <QBitArray>
27
 
27
 
28
#include "Parameter_Positions.h"
28
#include "Parameter_Positions.h"
29
 
29
 
30
#ifdef _WIN32_
30
#ifdef _WIN32_
31
static const QString OS_PORT = "COM1";
31
static const QString OS_PORT = "COM1";
32
#else
32
#else
33
static const QString OS_PORT = "/dev/ttyUSB0";
33
static const QString OS_PORT = "/dev/ttyUSB0";
34
#endif
34
#endif
35
 
35
 
36
//#define _EEEPC_
36
//#define _EEEPC_
37
 
37
 
38
#ifdef _EEEPC_
38
#ifdef _EEEPC_
39
    static const int MeterSize = 125;
39
    static const int MeterSize = 125;
40
#else
40
#else
41
    static const int MeterSize = 160;
41
    static const int MeterSize = 160;
42
#endif
42
#endif
43
 
43
 
44
// Version des Seriellen Protokoll
44
// Version des Seriellen Protokoll
45
static const int VERSION_SERIAL_MAJOR = 10;
45
static const int VERSION_SERIAL_MAJOR = 10;
46
static const int VERSION_SERIAL_MINOR = 0;
46
static const int VERSION_SERIAL_MINOR = 0;
47
 
47
 
48
// Basis-Addressen der verschiedenen Hardware
48
// Basis-Addressen der verschiedenen Hardware
49
static const int ADDRESS_ALL    = 0;
49
static const int ADDRESS_ALL    = 0;
50
static const int ADDRESS_FC     = 1;
50
static const int ADDRESS_FC     = 1;
51
static const int ADDRESS_NC     = 2;
51
static const int ADDRESS_NC     = 2;
52
static const int ADDRESS_MK3MAG = 3;
52
static const int ADDRESS_MK3MAG = 3;
53
 
53
 
54
static const int SETTINGS_ID = 2;
54
static const int SETTINGS_ID = 2;
55
 
55
 
56
static const int SLEEP = 500000;
56
static const int SLEEP = 500000;
57
 
57
 
58
static const QString QA_NAME = "QMK-Groundstation";
58
static const QString QA_NAME = "QMK-Groundstation";
59
static const QString QA_VERSION_NR = "0.7.2g";
59
static const QString QA_VERSION_NR = "0.7.3";
60
 
60
 
61
#ifdef _BETA_
61
#ifdef _BETA_
62
    static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
62
    static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
63
    static const QString QA_HWVERSION = "FlightCtrl v0.72f & NaviCtrl v0.13a";
63
    static const QString QA_HWVERSION = "FlightCtrl v0.72f & NaviCtrl v0.13a";
64
#else
64
#else
65
    static const QString QA_VERSION = QA_VERSION_NR;
65
    static const QString QA_VERSION = QA_VERSION_NR;
66
    static const QString QA_HWVERSION = "FlightCtrl v0.71h & NaviCtrl v0.12i";
66
    static const QString QA_HWVERSION = "FlightCtrl v0.72p & NaviCtrl v0.14a";
67
#endif
67
#endif
68
 
68
 
69
static const QString QA_DATE = "01.03.2009";
69
static const QString QA_DATE = "02.03.2009";
70
static const QString QA_YEAR = "2008-2009";
70
static const QString QA_YEAR = "2008-2009";
71
static const QString QA_AUTHOR = "Manuel Schrape";
71
static const QString QA_AUTHOR = "Manuel Schrape";
72
static const QString QA_EMAIL  = "manuel.schrape@gmx.de";
72
static const QString QA_EMAIL  = "manuel.schrape@gmx.de";
73
 
73
 
74
static const QString QA_ABOUT =
74
static const QString QA_ABOUT =
75
    "<HTML>"
75
    "<HTML>"
76
    "<p><b><font size=8>" + QA_NAME + "</font></b></p>"
76
    "<p><b><font size=8>" + QA_NAME + "</font></b></p>"
77
    "<br />"
77
    "<br />"
78
    "Version " + QA_VERSION + " - " + QA_DATE + ""
78
    "Version " + QA_VERSION + " - " + QA_DATE + ""
79
    "<br /><b>kompatibel zu " + QA_HWVERSION + "</b>"
79
    "<br /><b>kompatibel zu " + QA_HWVERSION + "</b>"
80
    "<br /><br />"
80
    "<br /><br />"
81
    "(C) " + QA_YEAR + " by " + QA_AUTHOR + " - "
81
    "(C) " + QA_YEAR + " by " + QA_AUTHOR + " - "
82
    "<a href=\"mailto:" + QA_EMAIL + "\">" + QA_EMAIL + "</a> <br /><br />"
82
    "<a href=\"mailto:" + QA_EMAIL + "\">" + QA_EMAIL + "</a> <br /><br />"
83
    "Groundstation-Programm f&uuml;r den Mikrokopter zum <br>Parametrieren und Debug-Werte anzeigen, aufzeichnen & Visualisieren."
83
    "Groundstation-Programm f&uuml;r den Mikrokopter zum <br>Parametrieren und Debug-Werte anzeigen, aufzeichnen & Visualisieren."
84
    "<br /><br /> Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
84
    "<br /><br /> Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
85
    "</HTML>";
85
    "</HTML>";
86
 
86
 
87
static const QString Def_AnalogNames[] = {"Integral Nick", "Integral Roll", "ACC Nick", "ACC Roll", "Gyro Gier", "Hoehen-Wert", "ACC Z", "GAS", "Kompass-Value", "Spannung", "Empfang", "Ersatzkompass", "Motor Vorne", "Motor Hinten", "Motor Links", "Motor Rechts", "Analog 16", "Distance", "OSD-Bar", "MK3Mag", "Servo", "Nick", "Roll", "Analog 23", "Analog 24",  "Analog 25",  "Analog 26",  "Kalman Max",  "Analog 28",  "Kalman K", "GPS Nick", "GPS Roll"};
87
static const QString Def_AnalogNames[] = {"Integral Nick", "Integral Roll", "ACC Nick", "ACC Roll", "Gyro Gier", "Hoehen-Wert", "ACC Z", "GAS", "Kompass-Value", "Spannung", "Empfang", "Ersatzkompass", "Motor Vorne", "Motor Hinten", "Motor Links", "Motor Rechts", "Analog 16", "Distance", "OSD-Bar", "MK3Mag", "Servo", "Nick", "Roll", "Analog 23", "Analog 24",  "Analog 25",  "Analog 26",  "Kalman Max",  "Analog 28",  "Kalman K", "GPS Nick", "GPS Roll"};
88
 
88
 
89
static const QRgb Def_Colors[] = {0x00FF0000, 0x0000FF00, 0x00FFFF00, 0x000000FF, 0x00FF00FF, 0x0000FFFF, 0x00FFFFFF, 0x00660000, 0x00006600, 0x00666600, 0x00000066, 0x00660066, 0x000066, 0x00666666, 0x00990000, 0x00009900, 0x00999900, 0x00000099, 0x00990099, 0x00009999, 0x00999999, 0x00CC0000, 0x0000CC00, 0x00CCCC00, 0x000000CC, 0x00CC00CC, 0x0000CCCC, 0x00CCCCCC, 0x0066FF99, 0x009966FF, 0x00FF9966, 0x0099FF66};
89
static const QRgb Def_Colors[] = {0x00FF0000, 0x0000FF00, 0x00FFFF00, 0x000000FF, 0x00FF00FF, 0x0000FFFF, 0x00FFFFFF, 0x00660000, 0x00006600, 0x00666600, 0x00000066, 0x00660066, 0x000066, 0x00666666, 0x00990000, 0x00009900, 0x00999900, 0x00000099, 0x00990099, 0x00009999, 0x00999999, 0x00CC0000, 0x0000CC00, 0x00CCCC00, 0x000000CC, 0x00CC00CC, 0x0000CCCC, 0x00CCCCCC, 0x0066FF99, 0x009966FF, 0x00FF9966, 0x0099FF66};
90
 
90
 
91
static const bool Def_Plot_Show[] = {1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0};
91
static const bool Def_Plot_Show[] = {1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0};
92
static const bool Def_Log[]       = {1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0};
92
static const bool Def_Log[]       = {1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0};
93
 
93
 
94
static const QString HardwareType[] = {"Default", "FlightCtrl", "NaviCtrl", "MK3Mag"};
94
static const QString HardwareType[] = {"Default", "FlightCtrl", "NaviCtrl", "MK3Mag"};
95
 
95
 
96
static const int MaxTickerEvents = 5;
96
static const int MaxTickerEvents = 5;
97
 
97
 
98
static const int MaxAnalog    = 32;
98
static const int MaxAnalog    = 32;
99
static const int MaxPlot      = 50000;
99
static const int MaxPlot      = 50000;
100
 
100
 
101
static const int MaxNaviPos   = 2000;
101
static const int MaxNaviPos   = 2000;
102
 
102
 
103
struct sMode
103
struct sMode
104
{
104
{
105
    int ID;
105
    int ID;
106
    int VERSION_MAJOR;
106
    int VERSION_MAJOR;
107
    int VERSION_MINOR;
107
    int VERSION_MINOR;
108
    int VERSION_PATCH;
108
    int VERSION_PATCH;
109
    int VERSION_SERIAL_MAJOR;
109
    int VERSION_SERIAL_MAJOR;
110
    int VERSION_SERIAL_MINOR;
110
    int VERSION_SERIAL_MINOR;
111
    QString Hardware;
111
    QString Hardware;
112
    QString Version;
112
    QString Version;
113
};
113
};
114
 
114
 
115
struct sRxData
115
struct sRxData
116
{
116
{
117
    char *Input;
117
    char *Input;
118
    QString String;
118
    QString String;
119
    int Decode[150];
119
    int Decode[150];
120
    int DecLen;
120
    int DecLen;
121
};
121
};
122
 
122
 
123
struct sGPS_Pos
123
struct sGPS_Pos
124
{
124
{
125
    long Longitude;
125
    long Longitude;
126
    long Latitude;
126
    long Latitude;
127
    long Altitude;
127
    long Altitude;
128
};
128
};
129
 
129
 
130
struct sNaviData
130
struct sNaviData
131
{
131
{
132
    sGPS_Pos Current;
132
    sGPS_Pos Current;
133
    sGPS_Pos Target;
133
    sGPS_Pos Target;
134
    sGPS_Pos Home;
134
    sGPS_Pos Home;
135
 
135
 
136
 
136
 
137
    long Longitude;
137
    long Longitude;
138
    long Latitude;
138
    long Latitude;
139
    long Altitude;
139
    long Altitude;
140
};
140
};
141
 
141
 
142
struct sNaviString
142
struct sNaviString
143
{
143
{
144
    QString Longitude;
144
    QString Longitude;
145
    QString Latitude;
145
    QString Latitude;
146
    QString Altitude;
146
    QString Altitude;
147
};
147
};
148
 
148
 
149
#endif
149
#endif
150
 
150