Kaynağa Gözat

fix 5v power mag

MX 2 yıl önce
ebeveyn
işleme
a26aa0fa88
1 değiştirilmiş dosya ile 13 ekleme ve 0 silme
  1. 13 0
      mag.c

+ 13 - 0
mag.c

@@ -179,11 +179,24 @@ int32_t mag_app(void* p) {
 
     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);
     scene_manager_next_scene(mag->scene_manager, MagSceneStart);
 
     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);
 
     return 0;