|
|
@@ -307,6 +307,9 @@ static int32_t esp_flasher_reset(void* context) {
|
|
|
_setRTS(false);
|
|
|
_initRTS();
|
|
|
|
|
|
+ furi_hal_gpio_init_simple(&gpio_swclk, GpioModeOutputPushPull);
|
|
|
+ furi_hal_gpio_write(&gpio_swclk, true);
|
|
|
+
|
|
|
if(app->reset) {
|
|
|
loader_port_debug_print("Resetting board\n");
|
|
|
loader_port_reset_target();
|
|
|
@@ -369,6 +372,14 @@ void loader_port_reset_target(void) {
|
|
|
}
|
|
|
|
|
|
void loader_port_enter_bootloader(void) {
|
|
|
+ // Also support for the Multi-fucc and Xeon boards
|
|
|
+ furi_hal_gpio_write(&gpio_swclk, false);
|
|
|
+ furi_hal_power_disable_otg();
|
|
|
+ loader_port_delay_ms(100);
|
|
|
+ furi_hal_power_enable_otg();
|
|
|
+ furi_hal_gpio_init_simple(&gpio_swclk, GpioModeAnalog);
|
|
|
+ loader_port_delay_ms(100);
|
|
|
+
|
|
|
// adapted from custom usb-jtag-serial reset in esptool
|
|
|
// (works on official wifi dev board)
|
|
|
_setDTR(true);
|