1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-12 19:10:32 +03:00
betaflight/main.c
timecop 57b289466d added featureClearAll to fix pwm/ppm switching due to erased eeprom being FF's
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
2012-02-28 12:30:21 +00:00

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();
}
}