MX před 2 roky
rodič
revize
c3c9a9089f
1 změnil soubory, kde provedl 13 přidání a 0 odebrání
  1. 13 0
      non_catalog_apps/magspoof_flipper/mag.c

+ 13 - 0
non_catalog_apps/magspoof_flipper/mag.c

@@ -179,11 +179,24 @@ int32_t mag_app(void* p) {
 
 
     mag_make_app_folder(mag);
     mag_make_app_folder(mag);
 
 
+    // Enable 5v power, multiple attempts to avoid issues with power chip protection false triggering
+    uint8_t attempts = 0;
+    bool otg_was_enabled = furi_hal_power_is_otg_enabled();
+    while(!furi_hal_power_is_otg_enabled() && attempts++ < 5) {
+        furi_hal_power_enable_otg();
+        furi_delay_ms(10);
+    }
+
     view_dispatcher_attach_to_gui(mag->view_dispatcher, mag->gui, ViewDispatcherTypeFullscreen);
     view_dispatcher_attach_to_gui(mag->view_dispatcher, mag->gui, ViewDispatcherTypeFullscreen);
     scene_manager_next_scene(mag->scene_manager, MagSceneStart);
     scene_manager_next_scene(mag->scene_manager, MagSceneStart);
 
 
     view_dispatcher_run(mag->view_dispatcher);
     view_dispatcher_run(mag->view_dispatcher);
 
 
+    // Disable 5v power
+    if(furi_hal_power_is_otg_enabled() && !otg_was_enabled) {
+        furi_hal_power_disable_otg();
+    }
+
     mag_free(mag);
     mag_free(mag);
 
 
     return 0;
     return 0;