Subversion Repositories FlightCtrl

Rev

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

Rev 234 Rev 251
1
 
1
 
2
 
2
 
3
typedef struct
3
typedef struct
4
{
4
{
5
        uint8_t STATE;
5
        uint8_t STATE;
6
        unsigned int DRDY;
6
        unsigned int DRDY;
7
        uint8_t AXIS;
7
        uint8_t AXIS;
8
        signed int x_axis;
8
        signed int x_axis;
9
        signed int y_axis;
9
        signed int y_axis;
10
        signed int z_axis;
10
        signed int z_axis;
11
        signed int NickGrad;
11
        signed int NickGrad;
12
        signed int RollGrad;
12
        signed int RollGrad;
13
}MM3_struct;
13
}MM3_struct;
14
 
14
 
15
extern MM3_struct MM3; 
15
extern MM3_struct MM3; 
16
 
16
 
17
void init_spi(void);
17
void init_spi(void);
18
void MM3_timer0(void);
18
void MM3_timer0(void);
19
signed int MM3_heading(void);
19
signed int MM3_heading(void);
20
 
20
 
21
#define Int2Grad_Faktor         1024
21
#define Int2Grad_Faktor         1024
22
 
22
 
23
// Die Werte der Statemachine
23
// Die Werte der Statemachine
24
#define MM3_RESET                       0
24
#define MM3_RESET                       0
25
#define MM3_START_TRANSFER      1
25
#define MM3_START_TRANSFER      1
26
#define MM3_WAIT_DRDY           2
26
#define MM3_WAIT_DRDY           2
27
#define MM3_DRDY                        3
27
#define MM3_DRDY                        3
28
#define MM3_X_BYTE2                     4
28
#define MM3_X_BYTE2                     4
29
#define MM3_Y_BYTE2                     5
29
#define MM3_Y_BYTE2                     5
30
#define MM3_Z_BYTE2                     6
30
#define MM3_Z_BYTE2                     6
31
#define MM3_X                           7
31
#define MM3_X                           7
32
#define MM3_Y                           8
32
#define MM3_Y                           8
33
#define MM3_Z                           9
33
#define MM3_Z                           9
34
#define MM3_IDLE                        255
34
#define MM3_IDLE                        255
35
 
35
 
36
 
36
 
37
// Die Werte der Kompasskalibrierung
37
// Die Werte der Kompasskalibrierung
38
 
38
 
39
// RANGE: Maximaler Wert - minimaler Wert
39
// RANGE: Maximaler Wert - minimaler Wert
40
#define RANGE_X 1161
40
#define RANGE_X 0
41
#define RANGE_Y 1209
41
#define RANGE_Y 0
42
#define RANGE_Z 1276
42
#define RANGE_Z 0
43
 
43
 
44
// OFFSET: (Maximaler Wert + minimaler Wert) / 2
44
// OFFSET: (Maximaler Wert + minimaler Wert) / 2
45
#define OFF_X   -46
45
#define OFF_X   0
46
#define OFF_Y   52
46
#define OFF_Y   0
47
#define OFF_Z   25
47
#define OFF_Z   0
48
 
48
 
49
// z. Z. nicht verwendet
49
// z. Z. nicht verwendet
50
#define GAIN_X  16
50
#define GAIN_X  1
51
#define GAIN_Y  15
51
#define GAIN_Y  1
52
#define GAIN_Z  15
52
#define GAIN_Z  1
53
 
53