Subversion Repositories Projects

Rev

Rev 2099 | Rev 2225 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2099 Rev 2217
Line 44... Line 44...
44
#define BL_ADDRESS 5
44
#define BL_ADDRESS 5
45
45
46
/*
46
/*
47
 * FC Debug Struct
47
 * FC Debug Struct
48
 * portions taken and adapted from
48
 * portions taken and adapted from
49
 * http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V0.88e/uart.h
49
 * http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V2.12a/uart.h
50
 */
50
 */
51
typedef struct {
51
typedef struct {
52
    unsigned char Status[2];
52
    unsigned char Status[2];
53
    signed int Analog[32]; // Debugwerte
53
    signed int Analog[32]; // Debugwerte
54
} __attribute__((packed)) str_DebugOut;
54
} __attribute__((packed)) str_DebugOut;
55
55
56
typedef struct {
56
typedef struct {
57
    unsigned char SWMajor;
57
        unsigned char SWMajor;
58
    unsigned char SWMinor;
58
        unsigned char SWMinor;
59
    unsigned char ProtoMajor;
59
        unsigned char ProtoMajor;
60
    unsigned char ProtoMinor;
60
        unsigned char LabelTextCRC;
61
    unsigned char SWPatch;
61
        unsigned char SWPatch;
62
    unsigned char HardwareError[5];
62
        unsigned char HardwareError[2];
-
 
63
        unsigned char HWMajor;
-
 
64
        unsigned char BL_Firmware;  
-
 
65
        unsigned char Flags;
63
} __attribute__((packed)) str_VersionInfo;
66
} __attribute__((packed)) str_VersionInfo;
64
67
65
/*
68
/*
66
 * NaviCtrl GPS Structs
69
 * NaviCtrl GPS Structs
67
 * portions taken and adapted from
70
 * portions taken and adapted from
68
 * http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V0.20c/ubx.h
71
 * http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V2.12a/gpspos.h
69
 */
72
 */
70
typedef struct {
73
typedef struct {
71
    s32 Longitude; // in 1E-7 deg
74
    s32 Longitude; // in 1E-7 deg
72
    s32 Latitude; // in 1E-7 deg
75
    s32 Latitude; // in 1E-7 deg
73
    s32 Altitude; // in mm
76
    s32 Altitude; // in mm
Line 75... Line 78...
75
} __attribute__((packed)) GPS_Pos_t;
78
} __attribute__((packed)) GPS_Pos_t;
76
79
77
#define INVALID         0x00
80
#define INVALID         0x00
78
#define NEWDATA         0x01
81
#define NEWDATA         0x01
79
#define PROCESSED       0x02
82
#define PROCESSED       0x02
-
 
83
#define SIMULATION      0x03
80
84
81
/*
85
/*
82
 * NaviCtrl OSD Structs
86
 * NaviCtrl OSD Structs
83
 * portions taken and adapted from
87
 * portions taken and adapted from
84
 * http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V2.06a/uart1.h
88
 * http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V2.12a/uart1.h
85
 */
89
 */
86
typedef struct {
90
typedef struct {
87
    u16 Distance; // distance to target in dm
91
    u16 Distance; // distance to target in dm
88
    s16 Bearing; // course to target in deg
92
    s16 Bearing; // course to target in deg
89
} __attribute__((packed)) GPS_PosDev_t;
93
} __attribute__((packed)) GPS_PosDev_t;
Line 111... Line 115...
111
    s8 AngleRoll; // current Rick angle in 1°
115
    s8 AngleRoll; // current Rick angle in 1°
112
    u8 RC_Quality; // RC_Quality
116
    u8 RC_Quality; // RC_Quality
113
    u8 FCStatusFlags; // Flags from FC
117
    u8 FCStatusFlags; // Flags from FC
114
    u8 NCFlags; // Flags from NC
118
    u8 NCFlags; // Flags from NC
115
    u8 Errorcode; // 0 --> okay
119
    u8 Errorcode; // 0 --> okay
116
    u8 OperatingRadius; // current operation radius around the Home Position in m
120
    u8  WP_OperatingRadius; // current WP operation radius around the Home Position in m
117
    s16 TopSpeed; // velocity in vertical direction in cm/s
121
    s16 TopSpeed; // velocity in vertical direction in cm/s
118
    u8 TargetHoldTime; // time in s to stay at the given target, counts down to 0 if target has been reached
122
    u8 TargetHoldTime; // time in s to stay at the given target, counts down to 0 if target has been reached
119
    u8 FCStatusFlags2; // StatusFlags2 (since version 5 added)
123
    u8 FCStatusFlags2; // StatusFlags2 (since version 5 added)
120
    s16 SetpointAltitude; // setpoint for altitude
124
    s16 SetpointAltitude; // setpoint for altitude
121
    u8 Gas; // for future use
125
    u8 Gas; // for future use
122
    u16 Current; // actual current in 0.1A steps
126
    u16 Current; // actual current in 0.1A steps
123
    u16 UsedCapacity; // used capacity in mAh
127
    u16 UsedCapacity; // used capacity in mAh
124
} __attribute__((packed)) NaviData_t;
128
} __attribute__((packed)) NaviData_t;
125
129
-
 
130
/*
-
 
131
 * NaviCtrl & FCFlags Flags
-
 
132
 * portions taken and adapted from
-
 
133
 * http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V2.12a/main.h
-
 
134
 */
-
 
135
 // .NCFlags
126
#define NC_FLAG_FREE                    0x01
136
#define NC_FLAG_FREE                    0x01
127
#define NC_FLAG_PH                              0x02
137
#define NC_FLAG_PH                              0x02
128
#define NC_FLAG_CH                              0x04
138
#define NC_FLAG_CH                              0x04
129
#define NC_FLAG_RANGE_LIMIT             0x08
139
#define NC_FLAG_RANGE_LIMIT             0x08
130
#define NC_FLAG_NOSERIALLINK    0x10
140
#define NC_FLAG_NOSERIALLINK    0x10
131
#define NC_FLAG_TARGET_REACHED  0x20
141
#define NC_FLAG_TARGET_REACHED  0x20
132
#define NC_FLAG_MANUAL_CONTROL  0x40
142
#define NC_FLAG_MANUAL_CONTROL  0x40
133
#define NC_FLAG_GPS_OK                  0x80
143
#define NC_FLAG_GPS_OK                  0x80
134
144
135
/*
-
 
136
 * MikroKopter Flags
145
// FC.StatusFlags
137
 * portions taken and adapted from
-
 
138
 * http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V0.80d/fc.h
-
 
139
 */
-
 
140
#define FCFLAG_MOTOR_RUN        0x01
146
#define FCFLAG_MOTOR_RUN        0x01
141
#define FCFLAG_FLY              0x02
147
#define FCFLAG_FLY              0x02
142
#define FCFLAG_CALIBRATE        0x04
148
#define FCFLAG_CALIBRATE        0x04
143
#define FCFLAG_START            0x08
149
#define FCFLAG_START            0x08
144
#define FCFLAG_NOTLANDUNG       0x10
150
#define FCFLAG_NOTLANDUNG       0x10
145
#define FCFLAG_LOWBAT           0x20
151
#define FCFLAG_LOWBAT           0x20
146
#define FCFLAG_VARIO_TRIM_UP    0x40
152
#define FCFLAG_VARIO_TRIM_UP    0x40
147
#define FCFLAG_VARIO_TRIM_DOWN  0x80
153
#define FCFLAG_VARIO_TRIM_DOWN  0x80
148
154
149
// FC STATUS FLAGS2
155
// FC.StatusFlags2
150
#define FC_STATUS2_CAREFREE                 0x01
156
#define FC_STATUS2_CAREFREE                 0x01
151
#define FC_STATUS2_ALTITUDE_CONTROL         0x02
157
#define FC_STATUS2_ALTITUDE_CONTROL         0x02
-
 
158
#define FC_STATUS2_RC_FAILSAVE_ACTIVE       0x04
-
 
159
#define FC_STATUS2_OUT1_ACTIVE                  0x08
-
 
160
#define FC_STATUS2_OUT2_ACTIVE                  0x10
-
 
161
#define FC_STATUS2_WAIT_FOR_TAKEOFF             0x20   // Motor Running, but still on the ground
-
 
162
152
163
-
 
164
// FC.StatusFlags3
-
 
165
#define FC_STATUS3_REDUNDANCE_AKTIVE        0x01
-
 
166
#define FC_STATUS3_BOAT                         0x02
-
 
167
#define FC_STATUS3_REDUNDANCE_ERROR                     0x04
-
 
168
#define FC_STATUS3_REDUNDANCE_TEST                      0x08
-
 
169
-
 
170
// FC ERRORS FLAGS
153
#define DEFEKT_G_NICK           0x01
171
#define FC_ERROR0_GYRO_NICK     0x01
154
#define DEFEKT_G_ROLL           0x02
172
#define FC_ERROR0_GYRO_ROLL     0x02
155
#define DEFEKT_G_GIER           0x04
173
#define FC_ERROR0_GYRO_YAW              0x04
156
#define DEFEKT_A_NICK           0x08
174
#define FC_ERROR0_ACC_NICK              0x08
157
#define DEFEKT_A_ROLL           0x10
175
#define FC_ERROR0_ACC_ROLL              0x10
158
#define DEFEKT_A_Z              0x20
176
#define FC_ERROR0_ACC_TOP               0x20
159
#define DEFEKT_PRESSURE         0x40
177
#define FC_ERROR0_PRESSURE              0x40
160
#define DEFEKT_CAREFREE_ERR 0x80
178
#define FC_ERROR0_CAREFREE              0x80
161
179
162
#define DEFEKT_I2C              0x01
180
#define FC_ERROR1_I2C                   0x01
163
#define DEFEKT_BL_MISSING       0x02
181
#define FC_ERROR1_BL_MISSING    0x02
164
#define DEFEKT_SPI_RX_ERR       0x04
182
#define FC_ERROR1_SPI_RX                0x04
165
#define DEFEKT_PPM_ERR          0x08
183
#define FC_ERROR1_PPM                   0x08
166
#define DEFEKT_MIXER_ERR    0x10
184
#define FC_ERROR1_MIXER                 0x10
-
 
185
#define FC_ERROR1_RES1                  0x20
-
 
186
#define FC_ERROR1_RES2                  0x40
-
 
187
#define FC_ERROR1_RES3                  0x80
167
188
168
/*
189
/*
169
 * MikroKopter config struct
190
 * MikroKopter config struct
170
 * portions taken and adapted from
191
 * portions taken and adapted from
171
 * http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V2.10a/eeprom.h
192
 * http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V2.12a/eeprom.h
172
 */
193
 */
173
194
174
#define EEPARAM_REVISION        105 // is count up, if paramater stucture has changed (compatibility)
195
#define EEPARAM_REVISION        106 // is count up, if paramater stucture has changed (compatibility)
175
-
 
-
 
196
#define EEMIXER_REVISION         1  // is count up, if mixer stucture has changed (compatibility)
176
197
177
typedef struct
198
typedef struct
178
{
199
{
179
        unsigned char Revision;
200
        unsigned char Revision;
180
        unsigned char Kanalbelegung[12];       // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
201
        unsigned char Kanalbelegung[12];       // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
Line 292... Line 313...
292
        unsigned char AutoLandingVoltage;    // in 0,1V  0 -> disabled
313
        unsigned char AutoLandingVoltage;    // in 0,1V  0 -> disabled
293
        unsigned char ComingHomeVoltage;    // in 0,1V  0 -> disabled
314
        unsigned char ComingHomeVoltage;    // in 0,1V  0 -> disabled
294
        unsigned char AutoPhotoAtitudes;
315
        unsigned char AutoPhotoAtitudes;
295
        unsigned char SingleWpSpeed;
316
        unsigned char SingleWpSpeed;
296
        unsigned char LandingPulse;
317
        unsigned char LandingPulse;
-
 
318
        unsigned char SingleWpControlChannel;
-
 
319
        unsigned char MenuKeyChannel;
297
        //------------------------------------------------
320
        //------------------------------------------------
298
        unsigned char BitConfig;          // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
321
        unsigned char BitConfig;          // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
299
        unsigned char ServoCompInvert;    // //  0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen
322
        unsigned char ServoCompInvert;    // //  0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen
300
        unsigned char ExtraConfig;        // bitcodiert
323
        unsigned char ExtraConfig;        // bitcodiert
301
        unsigned char GlobalConfig3;      // bitcodiert
324
        unsigned char GlobalConfig3;      // bitcodiert