فهرست منبع

start install VGM firmware support

jblanked 1 سال پیش
والد
کامیت
1994251204
5فایلهای تغییر یافته به همراه31 افزوده شده و 54 حذف شده
  1. 2 2
      alloc/flip_store_alloc.c
  2. 6 29
      callback/flip_store_callback.c
  3. 9 11
      firmwares/flip_store_firmwares.c
  4. 9 10
      firmwares/flip_store_firmwares.h
  5. 5 2
      flip_store.h

+ 2 - 2
alloc/flip_store_alloc.c

@@ -49,8 +49,8 @@ FlipStoreApp *flip_store_app_alloc()
     submenu_add_item(app->submenu_main, "Settings", FlipStoreSubmenuIndexSettings, callback_submenu_choices, app);
     submenu_add_item(app->submenu_main, "Settings", FlipStoreSubmenuIndexSettings, callback_submenu_choices, app);
     //
     //
     submenu_add_item(app->submenu_options, "App Catalog", FlipStoreSubmenuIndexAppList, callback_submenu_choices, app);
     submenu_add_item(app->submenu_options, "App Catalog", FlipStoreSubmenuIndexAppList, callback_submenu_choices, app);
-    submenu_add_item(app->submenu_options, "ESP32 Firmwares", FlipStoreSubmenuIndexFirmwares, callback_submenu_choices, app);
-
+    submenu_add_item(app->submenu_options, "ESP32 Firmware", FlipStoreSubmenuIndexFirmwares, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_options, "VGM Firmware", FlipStoreSubmenuIndexVGMFirmwares, callback_submenu_choices, app);
     //
     //
     submenu_add_item(app->submenu_app_list, "Bluetooth", FlipStoreSubmenuIndexAppListBluetooth, callback_submenu_choices, app);
     submenu_add_item(app->submenu_app_list, "Bluetooth", FlipStoreSubmenuIndexAppListBluetooth, callback_submenu_choices, app);
     submenu_add_item(app->submenu_app_list, "Games", FlipStoreSubmenuIndexAppListGames, callback_submenu_choices, app);
     submenu_add_item(app->submenu_app_list, "Games", FlipStoreSubmenuIndexAppListGames, callback_submenu_choices, app);

+ 6 - 29
callback/flip_store_callback.c

@@ -53,30 +53,27 @@ static bool flip_store_fetch_firmware(DataLoaderModel *model)
         {
         {
             return false;
             return false;
         }
         }
-        firmware_request_success = flip_store_get_firmware_file(
+        return flip_store_get_firmware_file(
             model->fhttp,
             model->fhttp,
             firmwares[selected_firmware_index].links[0],
             firmwares[selected_firmware_index].links[0],
             firmwares[selected_firmware_index].name,
             firmwares[selected_firmware_index].name,
             strrchr(firmwares[selected_firmware_index].links[0], '/') + 1);
             strrchr(firmwares[selected_firmware_index].links[0], '/') + 1);
-        return firmware_request_success;
     }
     }
     else if (model->request_index == 1)
     else if (model->request_index == 1)
     {
     {
-        firmware_request_success_2 = flip_store_get_firmware_file(
+        return flip_store_get_firmware_file(
             model->fhttp,
             model->fhttp,
             firmwares[selected_firmware_index].links[1],
             firmwares[selected_firmware_index].links[1],
             firmwares[selected_firmware_index].name,
             firmwares[selected_firmware_index].name,
             strrchr(firmwares[selected_firmware_index].links[1], '/') + 1);
             strrchr(firmwares[selected_firmware_index].links[1], '/') + 1);
-        return firmware_request_success_2;
     }
     }
     else if (model->request_index == 2)
     else if (model->request_index == 2)
     {
     {
-        firmware_request_success_3 = flip_store_get_firmware_file(
+        return flip_store_get_firmware_file(
             model->fhttp,
             model->fhttp,
             firmwares[selected_firmware_index].links[2],
             firmwares[selected_firmware_index].links[2],
             firmwares[selected_firmware_index].name,
             firmwares[selected_firmware_index].name,
             strrchr(firmwares[selected_firmware_index].links[2], '/') + 1);
             strrchr(firmwares[selected_firmware_index].links[2], '/') + 1);
-        return firmware_request_success_3;
     }
     }
     return false;
     return false;
 }
 }
@@ -84,24 +81,15 @@ static char *flip_store_parse_firmware(DataLoaderModel *model)
 {
 {
     if (model->request_index == 0)
     if (model->request_index == 0)
     {
     {
-        if (firmware_request_success)
-        {
-            return "File 1 installed.";
-        }
+        return "File 1 installed.";
     }
     }
     else if (model->request_index == 1)
     else if (model->request_index == 1)
     {
     {
-        if (firmware_request_success_2)
-        {
-            return "File 2 installed.";
-        }
+        return "File 2 installed.";
     }
     }
     else if (model->request_index == 2)
     else if (model->request_index == 2)
     {
     {
-        if (firmware_request_success_3)
-        {
-            return "Firmware downloaded successfully";
-        }
+        return "Firmware downloaded successfully";
     }
     }
     return "Failed to download firmware.";
     return "Failed to download firmware.";
 }
 }
@@ -371,17 +359,6 @@ uint32_t callback_to_submenu(void *context)
 uint32_t callback_to_firmware_list(void *context)
 uint32_t callback_to_firmware_list(void *context)
 {
 {
     UNUSED(context);
     UNUSED(context);
-    sent_firmware_request = false;
-    sent_firmware_request_2 = false;
-    sent_firmware_request_3 = false;
-    //
-    firmware_request_success = false;
-    firmware_request_success_2 = false;
-    firmware_request_success_3 = false;
-    //
-    firmware_download_success = false;
-    firmware_download_success_2 = false;
-    firmware_download_success_3 = false;
     return FlipStoreViewFirmwares;
     return FlipStoreViewFirmwares;
 }
 }
 static uint32_t callback_to_app_category_list(void *context)
 static uint32_t callback_to_app_category_list(void *context)

+ 9 - 11
firmwares/flip_store_firmwares.c

@@ -1,17 +1,7 @@
 #include <firmwares/flip_store_firmwares.h>
 #include <firmwares/flip_store_firmwares.h>
 
 
 Firmware *firmwares = NULL;
 Firmware *firmwares = NULL;
-bool sent_firmware_request = false;
-bool sent_firmware_request_2 = false;
-bool sent_firmware_request_3 = false;
-//
-bool firmware_request_success = false;
-bool firmware_request_success_2 = false;
-bool firmware_request_success_3 = false;
-//
-bool firmware_download_success = false;
-bool firmware_download_success_2 = false;
-bool firmware_download_success_3 = false;
+VGMFirmware *vgm_firmwares = NULL;
 
 
 Firmware *firmware_alloc()
 Firmware *firmware_alloc()
 {
 {
@@ -85,6 +75,14 @@ void firmware_free()
         firmwares = NULL;
         firmwares = NULL;
     }
     }
 }
 }
+void vg_firmware_free()
+{
+    if (vgm_firmwares)
+    {
+        free(vgm_firmwares);
+        vgm_firmwares = NULL;
+    }
+}
 
 
 bool flip_store_get_firmware_file(FlipperHTTP *fhttp, char *link, char *name, char *filename)
 bool flip_store_get_firmware_file(FlipperHTTP *fhttp, char *link, char *name, char *filename)
 {
 {

+ 9 - 10
firmwares/flip_store_firmwares.h

@@ -11,21 +11,20 @@ typedef struct
     char *links[FIRMWARE_LINKS];
     char *links[FIRMWARE_LINKS];
 } Firmware;
 } Firmware;
 
 
+typedef struct
+{
+    char *name;
+    char *link;
+} VGMFirmware;
+
 extern Firmware *firmwares;
 extern Firmware *firmwares;
+extern VGMFirmware *vgm_firmwares;
 Firmware *firmware_alloc();
 Firmware *firmware_alloc();
+VGMFirmware *vgm_firmware_alloc();
 void firmware_free();
 void firmware_free();
+void vgm_firmware_free();
 
 
 // download and waiting process
 // download and waiting process
 bool flip_store_get_firmware_file(FlipperHTTP *fhttp, char *link, char *name, char *filename);
 bool flip_store_get_firmware_file(FlipperHTTP *fhttp, char *link, char *name, char *filename);
 
 
-extern bool sent_firmware_request;
-extern bool sent_firmware_request_2;
-extern bool sent_firmware_request_3;
-extern bool firmware_request_success;
-extern bool firmware_request_success_2;
-extern bool firmware_request_success_3;
-extern bool firmware_download_success;
-extern bool firmware_download_success_2;
-extern bool firmware_download_success_3;
-
 #endif // FLIP_STORE_FIRMWARES_H
 #endif // FLIP_STORE_FIRMWARES_H

+ 5 - 2
flip_store.h

@@ -30,8 +30,9 @@ typedef enum
     //
     //
     FlipStoreSubmenuIndexOptions, // Click to view the options
     FlipStoreSubmenuIndexOptions, // Click to view the options
     //
     //
-    FlipStoreSubmenuIndexAppList,
-    FlipStoreSubmenuIndexFirmwares,
+    FlipStoreSubmenuIndexAppList,      // Click to view the app list
+    FlipStoreSubmenuIndexFirmwares,    // Click to view the ESP32 firmwares
+    FlipStoreSubmenuIndexVGMFirmwares, // Click to view the VGM firmwares
     //
     //
     FlipStoreSubmenuIndexAppListBluetooth,
     FlipStoreSubmenuIndexAppListBluetooth,
     FlipStoreSubmenuIndexAppListGames,
     FlipStoreSubmenuIndexAppListGames,
@@ -63,6 +64,7 @@ typedef enum
                                   //
                                   //
     FlipStoreViewAppList,         // The app list screen
     FlipStoreViewAppList,         // The app list screen
     FlipStoreViewFirmwares,       // The firmwares screen (submenu)
     FlipStoreViewFirmwares,       // The firmwares screen (submenu)
+    FlipStoreViewVGMFirmwares,    // The VGM firmwares screen (submenu)
     FlipStoreViewFirmwareDialog,  // The firmware view (DialogEx) of the selected firmware
     FlipStoreViewFirmwareDialog,  // The firmware view (DialogEx) of the selected firmware
                                   //
                                   //
     FlipStoreViewAppInfo,         // The app info screen (widget) of the selected app
     FlipStoreViewAppInfo,         // The app info screen (widget) of the selected app
@@ -92,6 +94,7 @@ typedef struct
     Submenu *submenu_options;             // The submenu (options)
     Submenu *submenu_options;             // The submenu (options)
     Submenu *submenu_app_list;            // The submenu (app list) for the selected category
     Submenu *submenu_app_list;            // The submenu (app list) for the selected category
     Submenu *submenu_firmwares;           // The submenu (firmwares)
     Submenu *submenu_firmwares;           // The submenu (firmwares)
+    Submenu *submenu_vgm_firmwares;       // The submenu (VGM firmwares)
     Submenu *submenu_app_list_category;   // The submenu (app list) for each category
     Submenu *submenu_app_list_category;   // The submenu (app list) for each category
     Widget *widget_about;                 // The widget
     Widget *widget_about;                 // The widget
     VariableItemList *variable_item_list; // The variable item list (settngs)
     VariableItemList *variable_item_list; // The variable item list (settngs)