[FL-2392] FuriHal: refactor interrupts subsystem (#1066)
* FuriHal: refactor interrupts subsystem * Furi,FuriHal: gather all ISRs under interrupt API, improve crtitical section and cleanup garbage * FuriHal: mirgate ipcc and hsem to LL * Format Sources * FuriHal,BleGlue: move to new critical section * Format Sources * FuriHal: correct flash locking * FuriHal: replace critical section with interrupt disable in OS routine, minor fixex
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
#include "input_i.h"
|
||||
|
||||
#define GPIO_Read(input_pin) \
|
||||
(HAL_GPIO_ReadPin((GPIO_TypeDef*)input_pin.pin->port, input_pin.pin->pin) ^ \
|
||||
input_pin.pin->inverted)
|
||||
#define GPIO_Read(input_pin) (hal_gpio_read(input_pin.pin->pin) ^ input_pin.pin->inverted)
|
||||
|
||||
static Input* input = NULL;
|
||||
|
||||
@@ -81,8 +79,7 @@ int32_t input_srv() {
|
||||
input->pin_states = malloc(input_pins_count * sizeof(InputPinState));
|
||||
|
||||
for(size_t i = 0; i < input_pins_count; i++) {
|
||||
GpioPin gpio = {(GPIO_TypeDef*)input_pins[i].port, (uint16_t)input_pins[i].pin};
|
||||
hal_gpio_add_int_callback(&gpio, input_isr, NULL);
|
||||
hal_gpio_add_int_callback(input_pins[i].pin, input_isr, NULL);
|
||||
input->pin_states[i].pin = &input_pins[i];
|
||||
input->pin_states[i].state = GPIO_Read(input->pin_states[i]);
|
||||
input->pin_states[i].debounce = INPUT_DEBOUNCE_TICKS_HALF;
|
||||
|
Reference in New Issue
Block a user