Subversion Repositories FlightCtrl

Rev

Rev 1967 | Rev 2017 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1612 dongfang 1
#include "invenSense.h"
2
#include "timer0.h"
3
#include "configuration.h"
4
 
5
#include <avr/io.h>
6
 
1646 - 7
/*
8
 * Configuration for my prototype board with InvenSense gyros.
9
 * The FC 1.3 board is installed upside down, therefore Z acc is reversed but not roll.
10
 */
1821 - 11
const uint8_t GYRO_REVERSED[3] = { 0, 0, 0 };
12
const uint8_t ACC_REVERSED[3] = { 0, 0, 1 };
1646 - 13
 
1612 dongfang 14
#define AUTOZERO_PORT PORTD
15
#define AUTOZERO_DDR DDRD
16
#define AUTOZERO_BIT 5
17
 
1887 - 18
void gyro_calibrate(void) {
1821 - 19
        // If port not already set to output and high, do it.
20
        if (!(AUTOZERO_DDR & (1 << AUTOZERO_BIT)) || !(AUTOZERO_PORT & (1
21
                        << AUTOZERO_BIT))) {
22
                AUTOZERO_PORT |= (1 << AUTOZERO_BIT);
23
                AUTOZERO_DDR |= (1 << AUTOZERO_BIT);
1887 - 24
                delay_ms(100);
1821 - 25
        }
26
 
27
        // Make a pulse on the auto-zero output line.
28
        AUTOZERO_PORT &= ~(1 << AUTOZERO_BIT);
1887 - 29
        delay_ms(1);
1821 - 30
        AUTOZERO_PORT |= (1 << AUTOZERO_BIT);
31
        // Delay_ms(10);
1967 - 32
        delay_ms_with_adc_measurement(100);
1612 dongfang 33
}
34
 
1971 - 35
void gyro_loadAmplifierOffsets(uint8_t overwriteWithDefaults) {
36
  // No amplifiers, no DAC.
37
}
38
 
39
void gyro_setDefaultParameters(void) {
1960 - 40
  staticParams.gyroD = 3;
41
  staticParams.driftCompDivider = 2;
42
  staticParams.driftCompLimit = 3;
43
  staticParams.zerothOrderCorrection = 2;
1612 dongfang 44
}