Subversion Repositories FlightCtrl

Rev

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

Rev 1874 Rev 1887
Line 13... Line 13...
13
 
13
 
14
#define AUTOZERO_PORT PORTD
14
#define AUTOZERO_PORT PORTD
15
#define AUTOZERO_DDR DDRD
15
#define AUTOZERO_DDR DDRD
Line 16... Line 16...
16
#define AUTOZERO_BIT 5
16
#define AUTOZERO_BIT 5
17
 
17
 
18
void gyro_calibrate() {
18
void gyro_calibrate(void) {
19
        // If port not already set to output and high, do it.
19
        // If port not already set to output and high, do it.
20
        if (!(AUTOZERO_DDR & (1 << AUTOZERO_BIT)) || !(AUTOZERO_PORT & (1
20
        if (!(AUTOZERO_DDR & (1 << AUTOZERO_BIT)) || !(AUTOZERO_PORT & (1
21
                        << AUTOZERO_BIT))) {
21
                        << AUTOZERO_BIT))) {
22
                AUTOZERO_PORT |= (1 << AUTOZERO_BIT);
22
                AUTOZERO_PORT |= (1 << AUTOZERO_BIT);
23
                AUTOZERO_DDR |= (1 << AUTOZERO_BIT);
23
                AUTOZERO_DDR |= (1 << AUTOZERO_BIT);
Line 24... Line 24...
24
                Delay_ms(100);
24
                delay_ms(100);
25
        }
25
        }
26
 
26
 
27
        // Make a pulse on the auto-zero output line.
27
        // Make a pulse on the auto-zero output line.
28
        AUTOZERO_PORT &= ~(1 << AUTOZERO_BIT);
28
        AUTOZERO_PORT &= ~(1 << AUTOZERO_BIT);
29
        Delay_ms(1);
29
        delay_ms(1);
30
        AUTOZERO_PORT |= (1 << AUTOZERO_BIT);
30
        AUTOZERO_PORT |= (1 << AUTOZERO_BIT);
Line 31... Line 31...
31
        // Delay_ms(10);
31
        // Delay_ms(10);
32
        Delay_ms_Mess(100);
32
        delay_ms_Mess(100);
33
}
33
}