as3935: fix IRQ setup
This commit is contained in:
parent
3ab6ea2602
commit
57c7bb0bd6
|
@ -418,7 +418,7 @@ bool sensor_as3935_setup(void)
|
||||||
sensor_as3935_power_down(); // power down to save power
|
sensor_as3935_power_down(); // power down to save power
|
||||||
rcc_periph_clock_enable(RCC_AFIO); // enable alternate function clock for external interrupt
|
rcc_periph_clock_enable(RCC_AFIO); // enable alternate function clock for external interrupt
|
||||||
// configure IRQ interrupt
|
// configure IRQ interrupt
|
||||||
exti_select_source(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), GPIO_PIN(SENSOR_AS3935_GPIO_IRQ)); // mask external interrupt of the IRQ pin only for this port
|
exti_select_source(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), GPIO_PORT(SENSOR_AS3935_GPIO_IRQ)); // mask external interrupt of the IRQ pin only for this port
|
||||||
exti_set_trigger(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), EXTI_TRIGGER_RISING); // IRQ goes high in interrupt
|
exti_set_trigger(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), EXTI_TRIGGER_RISING); // IRQ goes high in interrupt
|
||||||
exti_enable_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // enable external interrupt
|
exti_enable_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // enable external interrupt
|
||||||
nvic_enable_irq(GPIO_NVIC_EXTI_IRQ(SENSOR_AS3935_GPIO_IRQ)); // enable interrupt
|
nvic_enable_irq(GPIO_NVIC_EXTI_IRQ(SENSOR_AS3935_GPIO_IRQ)); // enable interrupt
|
||||||
|
@ -549,11 +549,10 @@ bool sensor_as3935_tune(void)
|
||||||
/** interrupt service routine called when IRQ does high to indicate interrupt (or clock outputs) */
|
/** interrupt service routine called when IRQ does high to indicate interrupt (or clock outputs) */
|
||||||
void GPIO_EXTI_ISR(SENSOR_AS3935_GPIO_IRQ)(void)
|
void GPIO_EXTI_ISR(SENSOR_AS3935_GPIO_IRQ)(void)
|
||||||
{
|
{
|
||||||
exti_reset_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // reset interrupt
|
|
||||||
if (sensor_as3935_calibrating) {
|
if (sensor_as3935_calibrating) {
|
||||||
sensor_as3935_interrupt_count++; // increment pulse count to calculate to frequency
|
sensor_as3935_interrupt_count++; // increment pulse count to calculate to frequency
|
||||||
} else {
|
} else {
|
||||||
sensor_as3935_interrupt = true; // notify user
|
sensor_as3935_interrupt = true; // notify user
|
||||||
}
|
}
|
||||||
|
exti_reset_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // reset interrupt
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue