[FL-3075] Pin Reset (#2367)

* Nfc: fix PVS warnings
* Factory reset combo, initial version
* Recovery screen and correct input pin initialization
* Better pin and factory reset message
* Down to cancel factory reset
This commit is contained in:
あく
2023-02-08 00:35:49 +09:00
committed by GitHub
parent d035872cf6
commit 1eda913367
5 changed files with 76 additions and 8 deletions

View File

@@ -73,8 +73,18 @@ const InputPin input_pins[] = {
const size_t input_pins_count = sizeof(input_pins) / sizeof(InputPin);
static void furi_hal_resources_init_input_pins(GpioMode mode) {
for(size_t i = 0; i < input_pins_count; i++) {
furi_hal_gpio_init(
input_pins[i].gpio,
mode,
(input_pins[i].inverted) ? GpioPullUp : GpioPullDown,
GpioSpeedLow);
}
}
void furi_hal_resources_init_early() {
furi_hal_gpio_init(&gpio_button_left, GpioModeInput, GpioPullUp, GpioSpeedLow);
furi_hal_resources_init_input_pins(GpioModeInput);
// SD Card stepdown control
furi_hal_gpio_write(&periph_power, 1);
@@ -117,14 +127,12 @@ void furi_hal_resources_init_early() {
}
void furi_hal_resources_deinit_early() {
furi_hal_resources_init_input_pins(GpioModeAnalog);
}
void furi_hal_resources_init() {
// Button pins
for(size_t i = 0; i < input_pins_count; i++) {
furi_hal_gpio_init(
input_pins[i].gpio, GpioModeInterruptRiseFall, GpioPullUp, GpioSpeedLow);
}
furi_hal_resources_init_input_pins(GpioModeInterruptRiseFall);
// Display pins
furi_hal_gpio_init(&gpio_display_rst_n, GpioModeOutputPushPull, GpioPullNo, GpioSpeedLow);