mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-12 19:10:32 +03:00
switched nop to __NOP from cm3 headers got rid of __GNUC__ DMB stuff as well, since its all properly defined in cm3 headers added mpu lowpass filter config and defaulted to 42hz. seems to fly smoother. features are in eeprom, removed default setting from main.c git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@98 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
65 lines
1.5 KiB
C
Executable file
65 lines
1.5 KiB
C
Executable file
#include "board.h"
|
|
#include "mw.h"
|
|
|
|
int main(void)
|
|
{
|
|
uint8_t i;
|
|
|
|
#if 0
|
|
// using this to write asm for bootloader :)
|
|
RCC->APB2ENR |= RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO; // GPIOB + AFIO
|
|
AFIO->MAPR &= 0xF0FFFFFF;
|
|
AFIO->MAPR = 0x02000000;
|
|
GPIOB->BRR = 0x18; // set low 4 & 3
|
|
GPIOB->CRL = 0x44433444; // PIN 4 & 3 Output 50MHz
|
|
#endif
|
|
|
|
systemInit();
|
|
|
|
readEEPROM();
|
|
checkFirstTime();
|
|
|
|
// We have these sensors
|
|
sensorsSet(SENSOR_ACC | SENSOR_BARO | SENSOR_MAG);
|
|
|
|
mixerInit(); // this will configure FEATURE_SERVO depending on mixer type
|
|
pwmInit(feature(FEATURE_PPM), feature(FEATURE_SERVO), feature(FEATURE_DIGITAL_SERVO));
|
|
|
|
LED1_ON;
|
|
LED0_OFF;
|
|
for (i = 0; i < 10; i++) {
|
|
LED1_TOGGLE;
|
|
LED0_TOGGLE;
|
|
delay(25);
|
|
BEEP_ON
|
|
delay(25);
|
|
BEEP_OFF;
|
|
}
|
|
LED0_OFF;
|
|
LED1_OFF;
|
|
|
|
// drop out any sensors that don't seem to work
|
|
sensorsAutodetect();
|
|
|
|
// Init sensors
|
|
if (sensors(SENSOR_BARO))
|
|
bmp085Init();
|
|
if (sensors(SENSOR_ACC))
|
|
adxl345Init();
|
|
// if this fails, we get a beep + blink pattern. we're doomed.
|
|
mpu3050Init();
|
|
|
|
imuInit(); // Mag is initialized inside imuInit
|
|
|
|
previousTime = micros();
|
|
calibratingG = 400;
|
|
#if defined(POWERMETER)
|
|
for (i = 0; i <= PMOTOR_SUM; i++)
|
|
pMeter[i] = 0;
|
|
#endif
|
|
|
|
// loopy
|
|
while (1) {
|
|
loop();
|
|
}
|
|
}
|