Rev 334 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 334 | Rev 337 | ||
---|---|---|---|
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.14"; |
59 | static const QString QA_VERSION_NR = "0.8.0"; |
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.73d & NaviCtrl v0.15c"; |
63 | static const QString QA_HWVERSION = "FlightCtrl v0.73d & NaviCtrl v0.15c"; |
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.72p & NaviCtrl v0.14b"; |
66 | static const QString QA_HWVERSION = "FlightCtrl v0.73d & NaviCtrl v0.15c"; |
67 | #endif |
67 | #endif |
68 | 68 | ||
69 | #ifdef Q_OS_LINUX |
69 | #ifdef Q_OS_LINUX |
70 | static const QString QA_OS = "Linux"; |
70 | static const QString QA_OS = "Linux"; |
71 | #else |
71 | #else |
72 | #ifdef Q_OS_DARWIN |
72 | #ifdef Q_OS_DARWIN |
73 | static const QString QA_OS = "OSX"; |
73 | static const QString QA_OS = "OSX"; |
74 | #else |
74 | #else |
75 | #ifdef Q_OS_WIN32 |
75 | #ifdef Q_OS_WIN32 |
76 | static const QString QA_OS = "Windows"; |
76 | static const QString QA_OS = "Windows"; |
77 | #else |
77 | #else |
78 | static const QString QA_OS = "n/a"; |
78 | static const QString QA_OS = "n/a"; |
79 | #endif |
79 | #endif |
80 | #endif |
80 | #endif |
81 | #endif |
81 | #endif |
82 | 82 | ||
83 | 83 | ||
84 | static const QString QA_DATE = "03.04.2009"; |
84 | static const QString QA_DATE = "05.04.2009"; |
85 | static const QString QA_YEAR = "2008-2009"; |
85 | static const QString QA_YEAR = "2008-2009"; |
86 | static const QString QA_AUTHOR = "Manuel Schrape"; |
86 | static const QString QA_AUTHOR = "Manuel Schrape"; |
87 | static const QString QA_EMAIL = "manuel.schrape@gmx.de"; |
87 | static const QString QA_EMAIL = "manuel.schrape@gmx.de"; |
88 | 88 | ||
89 | static const QString QA_ABOUT = |
89 | static const QString QA_ABOUT = |
90 | "<HTML>" |
90 | "<HTML>" |
91 | "<p><b><font size=8>" + QA_NAME + "</font></b></p>" |
91 | "<p><b><font size=8>" + QA_NAME + "</font></b></p>" |
92 | "<br />" |
92 | "<br />" |
93 | "Version " + QA_VERSION + " - " + QA_DATE + " on " + QA_OS + "" |
93 | "Version " + QA_VERSION + " - " + QA_DATE + " on " + QA_OS + "" |
94 | "<br /><b>kompatibel zu " + QA_HWVERSION + "</b>" |
94 | "<br /><b>kompatibel zu " + QA_HWVERSION + "</b>" |
95 | "<br /><br />" |
95 | "<br /><br />" |
96 | "(C) " + QA_YEAR + " by " + QA_AUTHOR + " - " |
96 | "(C) " + QA_YEAR + " by " + QA_AUTHOR + " - " |
97 | "<a href=\"mailto:" + QA_EMAIL + "\">" + QA_EMAIL + "</a> <br /><br />" |
97 | "<a href=\"mailto:" + QA_EMAIL + "\">" + QA_EMAIL + "</a> <br /><br />" |
98 | "Groundstation-Programm für den Mikrokopter zum <br>Parametrieren und Debug-Werte anzeigen, aufzeichnen & Visualisieren." |
98 | "Groundstation-Programm für den Mikrokopter zum <br>Parametrieren und Debug-Werte anzeigen, aufzeichnen & Visualisieren." |
99 | "<br /><br /> Dieses Programm wird unter den Bedingungen der GPL v2 veröffentlicht." |
99 | "<br /><br /> Dieses Programm wird unter den Bedingungen der GPL v2 veröffentlicht." |
100 | "</HTML>"; |
100 | "</HTML>"; |
101 | 101 | ||
102 | 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"}; |
102 | 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"}; |
103 | 103 | ||
104 | 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}; |
104 | 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}; |
105 | 105 | ||
106 | 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}; |
106 | 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}; |
107 | 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}; |
107 | 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}; |
108 | 108 | ||
109 | static const QString HardwareType[] = {"Default", "FlightCtrl", "NaviCtrl", "MK3Mag"}; |
109 | static const QString HardwareType[] = {"Default", "FlightCtrl", "NaviCtrl", "MK3Mag"}; |
110 | 110 | ||
111 | static const int MaxTickerEvents = 5; |
111 | static const int MaxTickerEvents = 5; |
112 | 112 | ||
113 | static const int MaxAnalog = 32; |
113 | static const int MaxAnalog = 32; |
114 | static const int MaxPlot = 50000; |
114 | static const int MaxPlot = 50000; |
115 | 115 | ||
116 | static const int MaxNaviPos = 2000; |
116 | static const int MaxNaviPos = 2000; |
- | 117 | ||
- | 118 | struct sMotor |
|
- | 119 | { |
|
- | 120 | int Speed[12]; |
|
- | 121 | }; |
|
117 | 122 | ||
118 | struct sMode |
123 | struct sMode |
119 | { |
124 | { |
120 | int ID; |
125 | int ID; |
121 | int VERSION_MAJOR; |
126 | int VERSION_MAJOR; |
122 | int VERSION_MINOR; |
127 | int VERSION_MINOR; |
123 | int VERSION_PATCH; |
128 | int VERSION_PATCH; |
124 | int VERSION_SERIAL_MAJOR; |
129 | int VERSION_SERIAL_MAJOR; |
125 | int VERSION_SERIAL_MINOR; |
130 | int VERSION_SERIAL_MINOR; |
126 | QString Hardware; |
131 | QString Hardware; |
127 | QString Version; |
132 | QString Version; |
128 | }; |
133 | }; |
129 | 134 | ||
130 | struct sRxData |
135 | struct sRxData |
131 | { |
136 | { |
132 | char *Input; |
137 | char *Input; |
133 | QString String; |
138 | QString String; |
134 | int Decode[150]; |
139 | int Decode[150]; |
135 | int DecLen; |
140 | int DecLen; |
136 | }; |
141 | }; |
137 | 142 | ||
138 | struct sGPS_Pos |
143 | struct sGPS_Pos |
139 | { |
144 | { |
140 | long Longitude; |
145 | long Longitude; |
141 | long Latitude; |
146 | long Latitude; |
142 | long Altitude; |
147 | long Altitude; |
143 | }; |
148 | }; |
144 | 149 | ||
145 | struct sNaviData |
150 | struct sNaviData |
146 | { |
151 | { |
147 | sGPS_Pos Current; |
152 | sGPS_Pos Current; |
148 | sGPS_Pos Target; |
153 | sGPS_Pos Target; |
149 | sGPS_Pos Home; |
154 | sGPS_Pos Home; |
150 | 155 | ||
151 | 156 | ||
152 | long Longitude; |
157 | long Longitude; |
153 | long Latitude; |
158 | long Latitude; |
154 | long Altitude; |
159 | long Altitude; |
155 | }; |
160 | }; |
156 | 161 | ||
157 | struct sNaviString |
162 | struct sNaviString |
158 | { |
163 | { |
159 | QString Longitude; |
164 | QString Longitude; |
160 | QString Latitude; |
165 | QString Latitude; |
161 | QString Altitude; |
166 | QString Altitude; |
162 | }; |
167 | }; |
163 | 168 | ||
164 | struct sWayPoint |
169 | struct sWayPoint |
165 | { |
170 | { |
166 | double Longitude; |
171 | double Longitude; |
167 | double Latitude; |
172 | double Latitude; |
168 | int Time; |
173 | int Time; |
169 | }; |
174 | }; |
170 | 175 | ||
171 | #endif |
176 | #endif |
172 | 177 |