Subversion Repositories NaviCtrl

Rev

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

Rev 589 Rev 595
1
#ifndef _MAIN_H
1
#ifndef _MAIN_H
2
#define _MAIN_H
2
#define _MAIN_H
3
 
3
 
4
 
4
 
5
//#define FOLLOW_ME
5
//#define FOLLOW_ME
6
 
6
 
7
#ifdef FOLLOW_ME
7
#ifdef FOLLOW_ME
8
extern u8 TransmitAlsoToFC;
8
extern u8 TransmitAlsoToFC;
9
#endif
9
#endif
10
 
10
 
11
//-----------------------
11
//-----------------------
12
//#define DEBUG 0
12
//#define DEBUG 0
13
//-----------------------
13
//-----------------------
14
 
14
 
15
#define VERSION_MAJOR   2
15
#define VERSION_MAJOR   2
16
#define VERSION_MINOR   9
16
#define VERSION_MINOR   9
17
#define VERSION_PATCH   3
17
#define VERSION_PATCH   5
18
// 0 = A
18
// 0 = A
19
// 1 = B
19
// 1 = B
20
// 2 = C
20
// 2 = C
21
// 3 = D
21
// 3 = D
22
// 4 = E
22
// 4 = E
23
// 5 = F
23
// 5 = F
24
// 6 = G
24
// 6 = G
25
// 7 = H
25
// 7 = H
26
// 8 = I
26
// 8 = I
27
// 9 = J
27
// 9 = J
28
// 10 = k
28
// 10 = k
29
// 11 = L
29
// 11 = L
30
// 12 = M
30
// 12 = M
31
// 13 = N
31
// 13 = N
32
// 14 = O
32
// 14 = O
33
// 15 = P
33
// 15 = P
34
// 16 = Q
34
// 16 = Q
35
// 17 = R
35
// 17 = R
36
// 18 = S
36
// 18 = S
37
 
37
 
38
#ifndef FOLLOW_ME
38
#ifndef FOLLOW_ME
39
#define FC_SPI_COMPATIBLE               73      //   <------------------
39
#define FC_SPI_COMPATIBLE               74      //   <------------------
40
#else
40
#else
41
#define FC_SPI_COMPATIBLE               0xFF
41
#define FC_SPI_COMPATIBLE               0xFF
42
#endif
42
#endif
43
 
43
 
44
#define MK3MAG_I2C_COMPATIBLE   3
44
#define MK3MAG_I2C_COMPATIBLE   3
45
 
45
 
46
// FC.StatusFlags
46
// FC.StatusFlags
47
#define FC_STATUS_MOTOR_RUN                             0x01
47
#define FC_STATUS_MOTOR_RUN                             0x01
48
#define FC_STATUS_FLY                                   0x02
48
#define FC_STATUS_FLY                                   0x02
49
#define FC_STATUS_CALIBRATE                             0x04
49
#define FC_STATUS_CALIBRATE                             0x04
50
#define FC_STATUS_START                                 0x08
50
#define FC_STATUS_START                                 0x08
51
#define FC_STATUS_EMERGENCY_LANDING             0x10
51
#define FC_STATUS_EMERGENCY_LANDING             0x10
52
#define FC_STATUS_LOWBAT                                0x20
52
#define FC_STATUS_LOWBAT                                0x20
53
#define FC_STATUS_VARIO_TRIM_UP                 0x40
53
#define FC_STATUS_VARIO_TRIM_UP                 0x40
54
#define FC_STATUS_VARIO_TRIM_DOWN               0x80
54
#define FC_STATUS_VARIO_TRIM_DOWN               0x80
55
 
55
 
56
// FC.StatusFlags2
56
// FC.StatusFlags2
57
#define FC_STATUS2_CAREFREE                 0x01
57
#define FC_STATUS2_CAREFREE                 0x01
58
#define FC_STATUS2_ALTITUDE_CONTROL         0x02
58
#define FC_STATUS2_ALTITUDE_CONTROL         0x02
59
#define FC_STATUS2_RC_FAILSAVE_ACTIVE       0x04
59
#define FC_STATUS2_RC_FAILSAVE_ACTIVE       0x04
60
#define FC_STATUS2_OUT1_ACTIVE                  0x08
60
#define FC_STATUS2_OUT1_ACTIVE                  0x08
61
#define FC_STATUS2_OUT2_ACTIVE                  0x10
61
#define FC_STATUS2_OUT2_ACTIVE                  0x10
62
#define FC_STATUS2_WAIT_FOR_TAKEOFF             0x20   // Motor Running, but still on the ground
62
#define FC_STATUS2_WAIT_FOR_TAKEOFF             0x20   // Motor Running, but still on the ground
63
 
63
 
64
// FC.StatusFlags3 
64
// FC.StatusFlags3 
65
#define FC_STATUS3_REDUNDANCE               0x01
65
#define FC_STATUS3_REDUNDANCE               0x01
66
#define FC_STATUS3_BOAT                         0x02
66
#define FC_STATUS3_BOAT                         0x02
-
 
67
 
-
 
68
#define OSD_FLAG_MASK1 (0x04 + 0x20 + 0x40 + 0x80)
-
 
69
#define OSD_FLAG_MASK2 (0x01 + 0x02 + 0x08 + 0x10)
-
 
70
 
-
 
71
// .NCFlags
-
 
72
#define NC_FLAG_FREE                    0x01
-
 
73
#define NC_FLAG_PH                              0x02
-
 
74
#define NC_FLAG_CH                              0x04
-
 
75
#define NC_FLAG_RANGE_LIMIT             0x08
-
 
76
#define NC_FLAG_NOSERIALLINK    0x10
-
 
77
#define NC_FLAG_TARGET_REACHED  0x20
-
 
78
#define NC_FLAG_MANUAL_CONTROL  0x40
-
 
79
#define NC_FLAG_GPS_OK                  0x80
-
 
80
 
-
 
81
 
-
 
82
// NC calculates
-
 
83
//OSDStatusFlags = (FC.StatusFlags & OSD_FLAG_MASK1) | (FC.StatusFlags2 & OSD_FLAG_MASK2);
-
 
84
//OSDStatusFlags2 = (FC.StatusFlags & ~OSD_FLAG_MASK1) | (FC.StatusFlags2 & ~OSD_FLAG_MASK2);
-
 
85
 
-
 
86
//calculate Back:
-
 
87
//FC.StatusFlags = (OSDStatusFlags & OSD_FLAG_MASK1) | (OSDStatusFlags2 & ~OSD_FLAG_MASK1);
-
 
88
//FC.StatusFlags2 = (OSDStatusFlags & OSD_FLAG_MASK2) | (OSDStatusFlags2 & ~OSD_FLAG_MASK2);
67
 
89
 
68
// FC ERRORS FLAGS
90
// FC ERRORS FLAGS
69
#define FC_ERROR0_GYRO_NICK     0x01
91
#define FC_ERROR0_GYRO_NICK     0x01
70
#define FC_ERROR0_GYRO_ROLL     0x02
92
#define FC_ERROR0_GYRO_ROLL     0x02
71
#define FC_ERROR0_GYRO_YAW              0x04
93
#define FC_ERROR0_GYRO_YAW              0x04
72
#define FC_ERROR0_ACC_NICK              0x08
94
#define FC_ERROR0_ACC_NICK              0x08
73
#define FC_ERROR0_ACC_ROLL              0x10
95
#define FC_ERROR0_ACC_ROLL              0x10
74
#define FC_ERROR0_ACC_TOP               0x20
96
#define FC_ERROR0_ACC_TOP               0x20
75
#define FC_ERROR0_PRESSURE              0x40
97
#define FC_ERROR0_PRESSURE              0x40
76
#define FC_ERROR0_CAREFREE              0x80
98
#define FC_ERROR0_CAREFREE              0x80
77
 
99
 
78
#define FC_ERROR1_I2C                   0x01
100
#define FC_ERROR1_I2C                   0x01
79
#define FC_ERROR1_BL_MISSING    0x02
101
#define FC_ERROR1_BL_MISSING    0x02
80
#define FC_ERROR1_SPI_RX                0x04
102
#define FC_ERROR1_SPI_RX                0x04
81
#define FC_ERROR1_PPM                   0x08
103
#define FC_ERROR1_PPM                   0x08
82
#define FC_ERROR1_MIXER                 0x10
104
#define FC_ERROR1_MIXER                 0x10
83
#define FC_ERROR1_RES1                  0x20
105
#define FC_ERROR1_RES1                  0x20
84
#define FC_ERROR1_RES2                  0x40
106
#define FC_ERROR1_RES2                  0x40
85
#define FC_ERROR1_RES3                  0x80
107
#define FC_ERROR1_RES3                  0x80
86
 
108
 
87
// NC Errors
109
// NC Errors
88
#define NCERR_FLAG_FC_COMPATIBLE                        0x00000001
110
#define NCERR_FLAG_FC_COMPATIBLE                        0x00000001
89
#define NCERR_FLAG_MK3MAG_COMPATIBLE            0x00000002
111
#define NCERR_FLAG_MK3MAG_COMPATIBLE            0x00000002
90
#define NCERR_FLAG_FC_COMMUNICATION                     0x00000004
112
#define NCERR_FLAG_FC_COMMUNICATION                     0x00000004
91
#define NCERR_FLAG_MK3MAG_COMMUNICATION         0x00000008
113
#define NCERR_FLAG_MK3MAG_COMMUNICATION         0x00000008
92
#define NCERR_FLAG_MKGPS_COMMUNICATION          0x00000010
114
#define NCERR_FLAG_MKGPS_COMMUNICATION          0x00000010
93
#define NCERR_FLAG_BAD_COMPASS_HEADING          0x00000020
115
#define NCERR_FLAG_BAD_COMPASS_HEADING          0x00000020
94
#define NCERR_FLAG_RC_SIGNAL_LOST                       0x00000040
116
#define NCERR_FLAG_RC_SIGNAL_LOST                       0x00000040
95
#define NCERR_FLAG_EEPROM_NOT_FOUND                     0x00000080
117
#define NCERR_FLAG_EEPROM_NOT_FOUND                     0x00000080
96
 
118
 
97
//Parameter.GlobalConfig3
119
//Parameter.GlobalConfig3
98
#define CFG3_NO_SDCARD_NO_START                 0x01
120
#define CFG3_NO_SDCARD_NO_START                 0x01
99
//#define CFG3_DPH_MAX_RADIUS                   0x02
121
//#define CFG3_DPH_MAX_RADIUS                   0x02
100
#define CFG3_VARIO_FAILSAFE                     0x04
122
#define CFG3_VARIO_FAILSAFE                     0x04
101
#define CFG3_MOTOR_SWITCH_MODE                  0x08
123
#define CFG3_MOTOR_SWITCH_MODE                  0x08
102
#define CFG3_NO_GPSFIX_NO_START                 0x10
124
#define CFG3_NO_GPSFIX_NO_START                 0x10
103
 
125
 
104
// Parameter.GlobalConfig
126
// Parameter.GlobalConfig
105
#define FC_CFG_HOEHENREGELUNG           0x01
127
#define FC_CFG_HOEHENREGELUNG           0x01
106
#define FC_CFG_HOEHEN_SCHALTER          0x02
128
#define FC_CFG_HOEHEN_SCHALTER          0x02
107
#define FC_CFG_HEADING_HOLD             0x04
129
#define FC_CFG_HEADING_HOLD             0x04
108
#define FC_CFG_KOMPASS_AKTIV            0x08
130
#define FC_CFG_KOMPASS_AKTIV            0x08
109
#define FC_CFG_KOMPASS_FIX              0x10
131
#define FC_CFG_KOMPASS_FIX              0x10
110
#define FC_CFG_GPS_AKTIV                0x20
132
#define FC_CFG_GPS_AKTIV                0x20
111
#define FC_CFG_ACHSENKOPPLUNG_AKTIV     0x40
133
#define FC_CFG_ACHSENKOPPLUNG_AKTIV     0x40
112
#define FC_CFG_DREHRATEN_BEGRENZER      0x80
134
#define FC_CFG_DREHRATEN_BEGRENZER      0x80
113
 
135
 
114
//Parameter.ExtraConfig
136
//Parameter.ExtraConfig
115
#define CFG2_HEIGHT_LIMIT                       0x01
137
#define CFG2_HEIGHT_LIMIT                       0x01
116
#define CFG2_VARIO_BEEP                         0x02
138
#define CFG2_VARIO_BEEP                         0x02
117
#define CFG_SENSITIVE_RC                        0x04
139
#define CFG_SENSITIVE_RC                        0x04
118
#define CFG_3_3V_REFERENCE                      0x08
140
#define CFG_3_3V_REFERENCE                      0x08
119
#define CFG_NO_RCOFF_BEEPING                    0x10
141
#define CFG_NO_RCOFF_BEEPING                    0x10
120
#define CFG_GPS_AID                             0x20
142
#define CFG_GPS_AID                             0x20
121
#define CFG_TEACHABLE_CAREFREE                  0x40
143
#define CFG_TEACHABLE_CAREFREE                  0x40
122
#define CFG_IGNORE_MAG_ERR_AT_STARTUP   0x80
144
#define CFG_IGNORE_MAG_ERR_AT_STARTUP   0x80
123
 
145
 
124
// Parameter.HomeYawMode
146
// Parameter.HomeYawMode
125
#define NO_CHANGE               0
147
#define NO_CHANGE               0
126
#define FRONT_TO_HOME   1
148
#define FRONT_TO_HOME   1
127
#define REAR_TO_HOME    2
149
#define REAR_TO_HOME    2
128
#define LIKE_AT_START   3
150
#define LIKE_AT_START   3
129
 
151
 
130
// Parameter.ReceiverType defines for the receiver selection
152
// Parameter.ReceiverType defines for the receiver selection
131
#define RECEIVER_PPM                            0
153
#define RECEIVER_PPM                            0
132
#define RECEIVER_SPEKTRUM                       1
154
#define RECEIVER_SPEKTRUM                       1
133
#define RECEIVER_SPEKTRUM_HI_RES        2
155
#define RECEIVER_SPEKTRUM_HI_RES        2
134
#define RECEIVER_SPEKTRUM_LOW_RES       3
156
#define RECEIVER_SPEKTRUM_LOW_RES       3
135
#define RECEIVER_JETI                           4
157
#define RECEIVER_JETI                           4
136
#define RECEIVER_ACT_DSL                        5
158
#define RECEIVER_ACT_DSL                        5
137
#define RECEIVER_HOTT                           6
159
#define RECEIVER_HOTT                           6
138
#define RECEIVER_SBUS                           7
160
#define RECEIVER_SBUS                           7
139
#define RECEIVER_USER                           8
161
#define RECEIVER_USER                           8
140
 
162
 
141
#define RECEIVER_UNKNOWN                        0xFF
163
#define RECEIVER_UNKNOWN                        0xFF
142
 
164
 
143
#define LIMIT_MIN(value, min) {if(value <= min) value = min;}
165
#define LIMIT_MIN(value, min) {if(value <= min) value = min;}
144
#define LIMIT_MAX(value, max) {if(value >= max) value = max;}
166
#define LIMIT_MAX(value, max) {if(value >= max) value = max;}
145
#define LIMIT_MIN_MAX(value, min, max) {if(value <= min) value = min; else if(value >= max) value = max;}
167
#define LIMIT_MIN_MAX(value, min, max) {if(value <= min) value = min; else if(value >= max) value = max;}
146
 
168
 
147
 
169
 
148
#define Poti1  FC.Poti[0]
170
#define Poti1  FC.Poti[0]
149
#define Poti2  FC.Poti[1]
171
#define Poti2  FC.Poti[1]
150
#define Poti3  FC.Poti[2]
172
#define Poti3  FC.Poti[2]
151
#define Poti4  FC.Poti[3]
173
#define Poti4  FC.Poti[3]
152
#define Poti5  FC.Poti[4]
174
#define Poti5  FC.Poti[4]
153
#define Poti6  FC.Poti[5]
175
#define Poti6  FC.Poti[5]
154
#define Poti7  FC.Poti[6]
176
#define Poti7  FC.Poti[6]
155
#define Poti8  FC.Poti[7]
177
#define Poti8  FC.Poti[7]
156
 
178
 
157
extern u16 BeepTime;
179
extern u16 BeepTime;
158
extern u8  NCFlags;
180
extern u8  NCFlags;
159
extern u8 ClearFCStatusFlags;
181
extern u8 ClearFCStatusFlags;
160
void Interrupt_Init(void);
182
void Interrupt_Init(void);
161
extern s16 GeoMagDec;
183
extern s16 GeoMagDec;
162
extern u8 NewWPL_Name;
184
extern u8 NewWPL_Name;
163
 
185
 
164
#define VERSION_SERIAL_MAJOR    11 // do not change!
186
#define VERSION_SERIAL_MAJOR    11 // do not change!
165
 
187
 
166
typedef struct
188
typedef struct
167
{
189
{
168
        u8 ActiveSetting;
190
        u8 ActiveSetting;
169
        u8 User1;
191
        u8 User1;
170
        u8 User2;
192
        u8 User2;
171
        u8 User3;
193
        u8 User3;
172
        u8 User4;
194
        u8 User4;
173
        u8 User5;
195
        u8 User5;
174
        u8 User6;
196
        u8 User6;
175
        u8 User7;
197
        u8 User7;
176
        u8 User8;
198
        u8 User8;
177
        u8 NaviGpsModeControl;
199
        u8 NaviGpsModeControl;
178
        u8 NaviGpsGain;
200
        u8 NaviGpsGain;
179
        u8 NaviGpsP;
201
        u8 NaviGpsP;
180
        u8 NaviGpsI;
202
        u8 NaviGpsI;
181
        u8 NaviGpsD;
203
        u8 NaviGpsD;
182
        u8 NaviGpsPLimit;
204
        u8 NaviGpsPLimit;
183
        u8 NaviGpsILimit;
205
        u8 NaviGpsILimit;
184
        u8 NaviGpsDLimit;
206
        u8 NaviGpsDLimit;
185
        u8 NaviGpsACC;
207
        u8 NaviGpsACC;
186
        u8 NaviGpsMinSat;
208
        u8 NaviGpsMinSat;
187
        u8 NaviStickThreshold;
209
        u8 NaviStickThreshold;
188
        u8 NaviMaxFlyingRange; // in 10m
210
        u8 NaviMaxFlyingRange; // in 10m
189
        u8 NaviWindCorrection;
211
        u8 NaviWindCorrection;
190
        u8 NaviAccCompensation;
212
        u8 NaviAccCompensation;
191
        u8 NaviSpeedCompensation;
213
        u8 NaviSpeedCompensation;
192
        u8 LowVoltageWarning;
214
        u8 LowVoltageWarning;
193
        u8 NaviAngleLimitation;
215
        u8 NaviAngleLimitation;
194
        u8 NaviPH_LoginTime;
216
        u8 NaviPH_LoginTime;
195
        u8 OrientationAngle; // where is front - in 15°
217
        u8 OrientationAngle; // where is front - in 15°
196
        u8 CamOrientation;       // direction of the camera in 15°
218
        u8 CamOrientation;       // direction of the camera in 15°
197
        u8 GlobalConfig;
219
        u8 GlobalConfig;
198
        u8 ExtraConfig;
220
        u8 ExtraConfig;
199
        u8 ComingHomeAltitude;
221
        u8 ComingHomeAltitude;
200
        u8 GlobalConfig3;
222
        u8 GlobalConfig3;
201
        u8 AutoPhotoDistance; // Distance between Photo releases (Position)
223
        u8 AutoPhotoDistance; // Distance between Photo releases (Position)
202
        u8 FromFC_LandingSpeed;
224
        u8 FromFC_LandingSpeed;
203
        u8 FromFC_LowVoltageHomeActive;
225
        u8 FromFC_LowVoltageHomeActive;
204
        u8 AutoPhotoAltitudes; // Distance between Photo releases (Altitudes)
226
        u8 AutoPhotoAltitudes; // Distance between Photo releases (Altitudes)
205
        u8 SingleWpSpeed;
227
        u8 SingleWpSpeed;
206
        u8 DescendRange; // in 10m
228
        u8 DescendRange; // in 10m
207
        u8 MaximumAltitude; // in m
229
        u8 MaximumAltitude; // in m
208
        u8 Driftkomp;
230
        u8 Driftkomp;
209
        u8 ReceiverType;
231
        u8 ReceiverType;
210
        u8 HomeYawMode;
232
        u8 HomeYawMode;
211
} __attribute__((packed)) Param_t;
233
} __attribute__((packed)) Param_t;
212
 
234
 
213
typedef struct
235
typedef struct
214
{
236
{
215
        s8 StickNick;
237
        s8 StickNick;
216
        s8 StickRoll;
238
        s8 StickRoll;
217
        s8 StickYaw;
239
        s8 StickYaw;
218
        s8 StickGas;
240
        s8 StickGas;
219
        u8 Poti[8];
241
        u8 Poti[8];
220
        u8 RC_Quality;
242
        u8 RC_Quality;
221
        u8 RC_RSSI;
243
        u8 RC_RSSI;
222
        u8 BAT_Voltage;
244
        u16 BAT_Voltage;
223
        u16 BAT_Current;
245
        u16 BAT_Current;
224
        u16 BAT_UsedCapacity;
246
        u16 BAT_UsedCapacity;
225
        u8 StatusFlags;
247
        u8 StatusFlags;
226
        u8 Error[5];
248
        u8 Error[5];
227
        u8 StatusFlags2;
249
        u8 StatusFlags2;
228
        u8 FromFC_SpeakHoTT;
250
        u8 FromFC_SpeakHoTT;
229
        s16 FromFC_CompassOffset;
251
        s16 FromFC_CompassOffset;
230
        u8 FromFC_DisableDeclination;
252
        u8 FromFC_DisableDeclination;
231
        u8 StatusFlags3;
253
        u8 StatusFlags3;
232
        s16 Altimeter;
254
        s16 Altimeter;
233
        u8 RealStatusFlags; // this is a copy of the status flags -> but not effected by the simulation
255
        u8 RealStatusFlags; // this is a copy of the status flags -> but not effected by the simulation
234
        u16 AdNeutralNick;
256
        u16 AdNeutralNick;
235
        u16 AdNeutralRoll;
257
        u16 AdNeutralRoll;
236
        u16 AdNeutralYaw;
258
        u16 AdNeutralYaw;
237
        u16 BoatNeutralNick;
259
        u16 BoatNeutralNick;
238
        u16 BoatNeutralRoll;
260
        u16 BoatNeutralRoll;
239
        u16 BoatNeutralYaw;
261
        u16 BoatNeutralYaw;
240
} __attribute__((packed)) FC_t; // from FC
262
} __attribute__((packed)) FC_t; // from FC
241
 
263
 
242
extern Param_t Parameter;
264
extern Param_t Parameter;
243
extern volatile FC_t FC;
265
extern volatile FC_t FC;
244
extern s8 ErrorMSG[25];
266
extern s8 ErrorMSG[25];
245
extern u8 ErrorCode;
267
extern u8 ErrorCode;
246
extern u8 StopNavigation;
268
extern u8 StopNavigation;
247
extern u8 ErrorGpsFixLost;
269
extern u8 ErrorGpsFixLost;
248
extern u8 FromFC_LoadWP_List, ToFC_MaxWpListIndex, FromFC_Load_SinglePoint, FromFC_Save_SinglePoint;
270
extern u8 FromFC_LoadWP_List, ToFC_MaxWpListIndex, FromFC_Load_SinglePoint, FromFC_Save_SinglePoint;
249
extern volatile u32 SPIWatchDog; // stop Navigation if this goes to zero
271
extern volatile u32 SPIWatchDog; // stop Navigation if this goes to zero
250
extern volatile u32 SD_WatchDog; // stop Logging if this goes to zero
272
extern volatile u32 SD_WatchDog; // stop Logging if this goes to zero
251
extern volatile u32 PollingTimeout;
273
extern volatile u32 PollingTimeout;
252
extern u32 CountGpsProcessedIn5Sec,CountNewGpsDataIn5Sec, FreqGpsProcessedIn5Sec, FreqNewGpsDataIn5Sec;
274
extern u32 CountGpsProcessedIn5Sec,CountNewGpsDataIn5Sec, FreqGpsProcessedIn5Sec, FreqNewGpsDataIn5Sec;
253
 
275
 
254
extern u16 SD_SettingWaitLED;
276
extern u16 SD_SettingWaitLED;
255
extern u16 SD_PosAccuracy;
277
extern u16 SD_PosAccuracy;
256
extern u16 SD_ComingHomeSpeed;
278
extern u16 SD_ComingHomeSpeed;
257
extern u16 SD_DPH_Speed;
279
extern u16 SD_DPH_Speed;
258
extern u32 MaxWP_Radius_in_m;
280
extern u32 MaxWP_Radius_in_m;
259
extern u8 SpeakWaypointRached;  // Speak once as soon as the Points are active
281
extern u8 SpeakWaypointRached;  // Speak once as soon as the Points are active
260
extern u8 SpeakNextWaypoint;    // Speak once when reached
282
extern u8 SpeakNextWaypoint;    // Speak once when reached
261
extern u8 NewWaypointsReceived; // when 1: activates the Waypoint list as soon as CH is started
283
extern u8 NewWaypointsReceived; // when 1: activates the Waypoint list as soon as CH is started
262
 
284
 
263
 
285
 
264
#define CHECK_ONLY     0
286
#define CHECK_ONLY     0
265
#define GET_LICENSE    1
287
#define GET_LICENSE    1
266
#define COPY_SD_TO_EE  2
288
#define COPY_SD_TO_EE  2
267
extern u8 CheckLicense(u8);
289
extern u8 CheckLicense(u8);
268
 
290
 
269
#endif // _MAIN_H
291
#endif // _MAIN_H
270
 
292