Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / src / stm32l0 / ao_exti_stm.c
index daada01e687cacb2b3e63fe610aec3a327497f34..d01fe7c0cfc6b34827f190578129c84b975de4aa 100644 (file)
@@ -24,7 +24,7 @@ static void   (*ao_exti_callback[16])(void);
 uint32_t       ao_last_exti;
 
 static void ao_exti_range_isr(uint8_t first, uint8_t last, uint16_t mask) {
-       uint16_t        pending = (ao_last_exti = stm_exti.pr) & mask;
+       uint16_t        pending = (uint16_t) (ao_last_exti = stm_exti.pr) & mask;
        uint8_t         pin;
        static uint16_t last_mask;
        static uint8_t  last_pin;
@@ -50,7 +50,6 @@ void stm_exti15_4_isr(void) { ao_exti_range_isr(4, 15, 0xfff0); }
 void
 ao_exti_setup (struct stm_gpio *gpio, uint8_t pin, uint8_t mode, void (*callback)(void)) {
        uint32_t        mask = 1 << pin;
-       uint32_t        pupdr;
        uint8_t         irq;
        uint8_t         prio;
 
@@ -59,7 +58,9 @@ ao_exti_setup (struct stm_gpio *gpio, uint8_t pin, uint8_t mode, void (*callback
        /* configure gpio to interrupt routing */
        stm_exticr_set(gpio, pin);
 
+#if 0
        if (!(mode & AO_EXTI_PIN_NOCONFIGURE)) {
+               uint32_t        pupdr;
                /* configure pin as input, setting selected pull-up/down mode */
                stm_moder_set(gpio, pin, STM_MODER_INPUT);
                switch (mode & (AO_EXTI_MODE_PULL_UP|AO_EXTI_MODE_PULL_DOWN)) {
@@ -76,6 +77,7 @@ ao_exti_setup (struct stm_gpio *gpio, uint8_t pin, uint8_t mode, void (*callback
                }
                stm_pupdr_set(gpio, pin, pupdr);
        }
+#endif
 
        /* Set interrupt mask and rising/falling mode */
        stm_exti.imr &= ~mask;