*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
}
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;
void
ao_exti_set_mode(struct stm_gpio *gpio, uint8_t pin, uint8_t mode) {
+ (void) gpio;
+
uint32_t mask = 1 << pin;
-
+
if (mode & AO_EXTI_MODE_RISING)
stm_exti.rtsr |= mask;
else
}
void
-ao_exti_set_callback(struct stm_gpio *gpio, uint8_t pin, void (*callback)()) {
+ao_exti_set_callback(struct stm_gpio *gpio, uint8_t pin, void (*callback)(void)) {
+ (void) gpio;
ao_exti_callback[pin] = callback;
}
void
ao_exti_enable(struct stm_gpio *gpio, uint8_t pin) {
uint32_t mask = (1 << pin);
+ (void) gpio;
stm_exti.pr = mask;
- stm_exti.imr |= (1 << pin);
+ stm_exti.imr |= mask;
}
void
ao_exti_disable(struct stm_gpio *gpio, uint8_t pin) {
uint32_t mask = (1 << pin);
+ (void) gpio;
stm_exti.imr &= ~mask;
stm_exti.pr = mask;
}