diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 24c41af9bc..22f3320f23 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -934,12 +934,19 @@ then fi unset FEXTRAS - # Run no SD alarm - if [ $LOG_FILE == /dev/null ] + if ver hwcmp CRAZYFLIE then - # Play SOS - tone_alarm error - fi + # CF2 shouldn't have an sd card + else + + # Run no SD alarm + if [ $LOG_FILE == /dev/null ] + then + # Play SOS + tone_alarm error + fi + + else # End of autostart fi diff --git a/src/drivers/boards/crazyflie/board_config.h b/src/drivers/boards/crazyflie/board_config.h index 84f32b0cd3..b331085e40 100644 --- a/src/drivers/boards/crazyflie/board_config.h +++ b/src/drivers/boards/crazyflie/board_config.h @@ -126,6 +126,13 @@ __BEGIN_DECLS #define ADC_BATTERY_CURRENT_CHANNEL ((uint8_t)(-1)) #define ADC_AIRSPEED_VOLTAGE_CHANNEL ((uint8_t)(-1)) +/* Tone alarm output : These are only applicable when the buzzer deck is attached */ +#define TONE_ALARM_TIMER 5 /* timer 5 */ +#define TONE_ALARM_CHANNEL 3 /* channel 3 */ +#define GPIO_TONE_ALARM_IDLE (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTA|GPIO_PIN2) +#define GPIO_TONE_ALARM (GPIO_ALT|GPIO_AF2|GPIO_SPEED_2MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2) +#define GPIO_TONE_ALARM_NEG (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_OUTPUT_CLEAR|GPIO_PORTA|GPIO_PIN3) + /* PWM * * Four PWM motor outputs are configured. diff --git a/src/drivers/stm32/tone_alarm/tone_alarm.cpp b/src/drivers/stm32/tone_alarm/tone_alarm.cpp index 34f7b3b296..7540c6be17 100644 --- a/src/drivers/stm32/tone_alarm/tone_alarm.cpp +++ b/src/drivers/stm32/tone_alarm/tone_alarm.cpp @@ -441,6 +441,11 @@ ToneAlarm::init() /* configure the GPIO to the idle state */ px4_arch_configgpio(GPIO_TONE_ALARM_IDLE); +#ifdef GPIO_TONE_ALARM_NEG + + px4_arch_configgpio(GPIO_TONE_ALARM_NEG); +#endif + /* clock/power on our timer */ modifyreg32(TONE_ALARM_CLOCK_POWER_REG, 0, TONE_ALARM_CLOCK_ENABLE);