jblanked 1 год назад
Родитель
Сommit
d7087654aa
9 измененных файлов с 1060 добавлено и 171 удалено
  1. 18 22
      CHANGELOG.md
  2. 41 41
      README.md
  3. 37 11
      alloc/flip_library_alloc.c
  4. 2 2
      application.fam
  5. 872 40
      callback/flip_library_callback.c
  6. 2 0
      callback/flip_library_callback.h
  7. 60 50
      flip_library.c
  8. 26 3
      flip_library.h
  9. 2 2
      flipper_http/flipper_http.h

+ 18 - 22
CHANGELOG.md

@@ -1,27 +1,23 @@
-## v1.3
+## v1.4
+- Merged **FlipTrader**.  
+- Merged **FlipWeather** with added topography data.  
+- Added **Next Holiday** feature (contributed by Derek Jamison).  
+- Introduced **Predict Name, Age, and Ethnicity** functionality.  
+- Added new features: **Random Trivia**, **Advice**, **Tech Phrase**, **UUID**, **Address**, **Credit Card Info**, and **User Info**.  
+
+## v1.3  
 Refactored by Derek Jamison:  
 - Improved progress display.  
-- Added connectivity check on startup.
-- Added Wikipedia API.
-
-## v1.2
-- Improved memory allocation.
-- Added in Dog Facts.
-- Added in Random Quotes.
-
-## v1.1
-- Update for app catalog.
-
-## v1.0
-- Initial Release.
+- Added a connectivity check on startup.  
+- Integrated the **Wikipedia API**.  
 
-## v1.2
-- Improved memory allocation.
-- Added in Dog Facts.
-- Added in Random Quotes.
+## v1.2  
+- Enhanced memory allocation.  
+- Added **Dog Facts**.  
+- Introduced **Random Quotes**.  
 
-## v1.1
-- Update for app catalog.
+## v1.1  
+- Updated for app catalog compatibility.  
 
-## v1.0
-- Initial Release.
+## v1.0  
+- Initial release.  

+ 41 - 41
README.md

@@ -1,41 +1,41 @@
-The **FlipLibrary** app for Flipper Zero is a versatile and user-friendly application that offers a combination of useful features to enhance your Flipper Zero experience. 
-
-The app includes a **dictionary**, **random facts**, and additional functionalities, all accessible directly from your Flipper Zero device. It is designed for easy navigation and quick access to information, making it a handy companion for on-the-go learning and entertainment. Big shout out to [Derek Jamison](https://github.com/jamisonderek) for his contributions. 
-
-FlipLibrary uses the FlipperHTTP flash for the WiFi Devboard, first introduced in the WebCrawler app: https://github.com/jblanked/WebCrawler-FlipperZero/tree/main/assets/FlipperHTTP
-
-
-## Requirements
-- WiFi Developer Board or Raspberry Pi Pico W with FlipperHTTP Flash: https://github.com/jblanked/FlipperHTTP
-- WiFi Access Point
-
-
-## Features
-- **Dictionary**: Look up definitions of words directly on your Flipper Zero. Simply enter a word, and the app will provide its definition, making it easy to learn new vocabulary or clarify meaning.
-- **Random Facts**: Discover interesting and fun facts to share with friends or expand your general knowledge. The app offers various categories of facts, such as facts about cats, dogs, quotes, or completely random trivia.
-- **WiFi Settings Management**: Configure and manage WiFi settings (SSID and password) for future app updates that may utilize network connectivity.
-
-## Navigation
-- **Main Menu**: The main entry point for accessing all of the app's features. Options include:
-  - **Random Fact**: Displays a random fact from a selected category.
-  - **Dictionary**: Allows you to enter a word and view its definition.
-  - **About**: Information about the app and its version.
-  - **WiFi Settings**: Configure and view saved WiFi settings.
-
-## Setup
-The app automatically allocates necessary resources and initializes settings. If previously saved WiFi settings exist, they are loaded and displayed in the settings section.
-
-## How to Use
-1. **Flash**: Flash your WiFi Devboard: https://github.com/jblanked/FlipperHTTP
-2. **Install**: Install the app from the App Store: https://lab.flipper.net/apps/flip_library
-3. **Launch**: Open the FlipLibrary app.
-4. **Navigate**:
-   - Use the **Dictionary** section to look up word definitions.
-   - Visit **Random Facts** to read interesting trivia.
-   - Configure **WiFi settings** if network-related features are required in the future.
-   - Check the **About** section to learn more about the app.
-
-# Known Bugs
-
-1. **Screen Delay**: Occasionally, the Defition or Random Facts screen may get stuck on "Loading".
-   - Update to version 1.3 or higher.
+# FlipLibrary App for Flipper Zero  
+
+The **FlipLibrary** app for Flipper Zero is a versatile and user-friendly application that offers a wide range of features to enhance your Flipper Zero experience.  
+
+The app includes a **dictionary**, **random facts**, and numerous additional functionalities, all accessible directly from your Flipper Zero device. It is designed for easy navigation and quick access to information, making it a handy companion for on-the-go learning and entertainment. Big shout out to [Derek Jamison](https://github.com/jamisonderek) for his valuable contributions!  
+
+FlipLibrary leverages the FlipperHTTP flash for the WiFi Devboard, originally introduced in the WebCrawler app: https://github.com/jblanked/WebCrawler-FlipperZero/tree/main/assets/FlipperHTTP  
+
+## Requirements  
+- WiFi Developer Board, Raspberry Pi, or ESP32 Device with FlipperHTTP Flash: https://github.com/jblanked/FlipperHTTP  
+- WiFi Access Point  
+
+## Features  
+- **Random Cat Fact**  
+- **Random Dog Fact**  
+- **Random Quote**  
+- **Random Fact**  
+- **Wikipedia**  
+- **Dictionary**  
+- **Weather**  
+- **GPS**  
+- **Asset Price**  
+- **Next Holiday**  
+- **Predict Age**  
+- **Predict Ethnicity**  
+- **Predict Gender**  
+- **Random Advice**  
+- **Random Trivia Questions**  
+- **Random Tech Phrases**  
+- **Random UUID**  
+- **Random Address**  
+- **Random Credit Card Info**  
+- **Random User Info**  
+- **Topography**  
+
+## Video Tutorial  
+
+For detailed setup and usage instructions, watch the video tutorial: https://www.youtube.com/watch?v=xR1ZbpOVTwE
+
+## Known Bugs  
+For known issues and troubleshooting, visit: https://github.com/jblanked/FlipperHTTP/blob/main/HELP.md

+ 37 - 11
alloc/flip_library_alloc.c

@@ -57,7 +57,7 @@ FlipLibraryApp *flip_library_app_alloc()
     flip_library_loader_init(app->view_loader);
 
     // Widget
-    if (!easy_flipper_set_widget(&app->widget_about, FlipLibraryViewAbout, "FlipLibrary v1.3\n-----\nDictionary, random facts, and\nmore.\n-----\nwww.github.com/jblanked", callback_to_submenu, &app->view_dispatcher))
+    if (!easy_flipper_set_widget(&app->widget_about, FlipLibraryViewAbout, "FlipLibrary v1.4\n-----\nUtilize WiFi to retrieve data\nfrom 20 different APIs.\n-----\nCreated by JBlanked and\nDerek Jamison.\n-----\nwww.github.com/jblanked/\nFlipLibrary\n-----\nPress BACK to return.", callback_to_submenu, &app->view_dispatcher))
     {
         return NULL;
     }
@@ -75,7 +75,7 @@ FlipLibraryApp *flip_library_app_alloc()
     {
         return NULL;
     }
-    if (!easy_flipper_set_uart_text_input(&app->uart_text_input_query, FlipLibraryViewTextInputQuery, "Enter Query", app->uart_text_input_temp_buffer_query, app->uart_text_input_buffer_size_query, text_updated_query, callback_to_submenu, &app->view_dispatcher, app))
+    if (!easy_flipper_set_uart_text_input(&app->uart_text_input_query, FlipLibraryViewTextInputQuery, "Enter Query", app->uart_text_input_temp_buffer_query, app->uart_text_input_buffer_size_query, text_updated_query, callback_to_submenu_library, &app->view_dispatcher, app))
     {
         return NULL;
     }
@@ -92,25 +92,51 @@ FlipLibraryApp *flip_library_app_alloc()
     variable_item_set_current_value_text(app->variable_item_password, "");
 
     // Submenu
-    if (!easy_flipper_set_submenu(&app->submenu_main, FlipLibraryViewSubmenuMain, "FlipLibrary v1.3", callback_exit_app, &app->view_dispatcher))
+    if (!easy_flipper_set_submenu(&app->submenu_main, FlipLibraryViewSubmenuMain, "FlipLibrary v1.4", callback_exit_app, &app->view_dispatcher))
     {
         return NULL;
     }
-    if (!easy_flipper_set_submenu(&app->submenu_random_facts, FlipLibraryViewRandomFacts, "Random Facts", callback_to_submenu, &app->view_dispatcher))
+    if (!easy_flipper_set_submenu(&app->submenu_library, FlipLibraryViewSubmenuLibrary, "Library", callback_to_submenu, &app->view_dispatcher))
+    {
+        return NULL;
+    }
+    if (!easy_flipper_set_submenu(&app->submenu_random_facts, FlipLibraryViewRandomFacts, "Random", callback_to_submenu_library, &app->view_dispatcher))
+    {
+        return NULL;
+    }
+    if (!easy_flipper_set_submenu(&app->submenu_predict, FlipLibraryViewPredict, "Predict", callback_to_submenu_library, &app->view_dispatcher))
     {
         return NULL;
     }
 
-    submenu_add_item(app->submenu_main, "Random Fact", FlipLibrarySubmenuIndexRandomFacts, callback_submenu_choices, app);
-    submenu_add_item(app->submenu_main, "Wikipedia", FlipLibrarySubmenuIndexRandomFactsWiki, callback_submenu_choices, app);
-    submenu_add_item(app->submenu_main, "Dictionary", FlipLibrarySubmenuIndexDictionary, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_main, "Library", FlipLibrarySubmenuIndexLibrary, callback_submenu_choices, app);
     submenu_add_item(app->submenu_main, "About", FlipLibrarySubmenuIndexAbout, callback_submenu_choices, app);
     submenu_add_item(app->submenu_main, "WiFi", FlipLibrarySubmenuIndexSettings, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Wikipedia", FlipLibrarySubmenuIndexWiki, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Dictionary", FlipLibrarySubmenuIndexDictionary, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Predict", FlipLibrarySubmenuIndexPredict, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Random", FlipLibrarySubmenuIndexRandomFacts, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Weather", FlipLibrarySubmenuIndexWeather, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "GPS", FlipLibrarySubmenuIndexGPS, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Elevation", FlipLibrarySubmenuIndexElevation, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Asset Price", FlipLibrarySubmenuIndexAssetPrice, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_library, "Next Holiday", FlipLibrarySubmenuIndexNextHoliday, callback_submenu_choices, app);
+    //
+    submenu_add_item(app->submenu_random_facts, "Trivia", FlipLibrarySubmenuIndexRandomTrivia, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Advice", FlipLibrarySubmenuIndexRandomAdvice, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Quote", FlipLibrarySubmenuIndexRandomFactsQuotes, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Fact", FlipLibrarySubmenuIndexRandomFactsAll, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Cat Fact", FlipLibrarySubmenuIndexRandomFactsCats, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Dog Fact", FlipLibrarySubmenuIndexRandomFactsDogs, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Tech Phrase", FlipLibrarySubmenuIndexRandomTechPhrase, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "UUID", FlipLibrarySubmenuIndexRandomUUID, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Address", FlipLibrarySubmenuIndexRandomAddress, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "Credit Card", FlipLibrarySubmenuIndexRandomCreditCard, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_random_facts, "User Info", FlipLibrarySubmenuIndexRandomUserInfo, callback_submenu_choices, app);
     //
-    submenu_add_item(app->submenu_random_facts, "Cats", FlipLibrarySubmenuIndexRandomFactsCats, callback_submenu_choices, app);
-    submenu_add_item(app->submenu_random_facts, "Dogs", FlipLibrarySubmenuIndexRandomFactsDogs, callback_submenu_choices, app);
-    submenu_add_item(app->submenu_random_facts, "Quotes", FlipLibrarySubmenuIndexRandomFactsQuotes, callback_submenu_choices, app);
-    submenu_add_item(app->submenu_random_facts, "Random", FlipLibrarySubmenuIndexRandomFactsAll, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_predict, "Age", FlipLibrarySubmenuIndexPredictAge, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_predict, "Ethnicity", FlipLibrarySubmenuIndexPredictEthnicity, callback_submenu_choices, app);
+    submenu_add_item(app->submenu_predict, "Gender", FlipLibrarySubmenuIndexPredictGender, callback_submenu_choices, app);
 
     // load settings
     if (load_settings(app->uart_text_input_buffer_ssid, app->uart_text_input_buffer_size_ssid, app->uart_text_input_buffer_password, app->uart_text_input_buffer_size_password))

+ 2 - 2
application.fam

@@ -7,8 +7,8 @@ App(
     fap_icon="app.png",
     fap_category="GPIO",
     fap_icon_assets="assets",
-    fap_description="Dictionary, random facts, and more.",
+    fap_description="Utilize WiFi to retrieve data from 20 different APIs",
     fap_author="JBlanked",
     fap_weburl="https://github.com/jblanked/FlipLibrary",
-    fap_version = "1.3.1",
+    fap_version = "1.4",
 )

Разница между файлами не показана из-за своего большого размера
+ 872 - 40
callback/flip_library_callback.c


+ 2 - 0
callback/flip_library_callback.h

@@ -77,5 +77,7 @@ void settings_item_selected(void *context, uint32_t index);
  * @return next view id (VIEW_NONE to exit the app)
  */
 uint32_t callback_exit_app(void *context);
+uint32_t callback_to_submenu_predict(void *context);
+uint32_t callback_to_submenu_library(void *context);
 
 #endif // FLIP_LIBRARY_CALLBACK_H

+ 60 - 50
flip_library.c

@@ -2,91 +2,101 @@
 
 FlipLibraryApp *app_instance = NULL;
 
-void flip_library_loader_free_model(View* view);
+void flip_library_loader_free_model(View *view);
 
 // Function to free the resources used by FlipLibraryApp
 void flip_library_app_free(FlipLibraryApp *app)
 {
     if (!app)
-        {
-            FURI_LOG_E(TAG, "FlipLibraryApp is NULL");
-            return;
-        }
+    {
+        FURI_LOG_E(TAG, "FlipLibraryApp is NULL");
+        return;
+    }
 
     // Free View(s)
     if (app->view_loader)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewLoader);
-            flip_library_loader_free_model(app->view_loader);
-            view_free(app->view_loader);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewLoader);
+        flip_library_loader_free_model(app->view_loader);
+        view_free(app->view_loader);
+    }
 
     // Free Submenu(s)
     if (app->submenu_main)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewSubmenuMain);
-            submenu_free(app->submenu_main);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewSubmenuMain);
+        submenu_free(app->submenu_main);
+    }
+    if (app->submenu_library)
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewSubmenuLibrary);
+        submenu_free(app->submenu_library);
+    }
     if (app->submenu_random_facts)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewRandomFacts);
-            submenu_free(app->submenu_random_facts);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewRandomFacts);
+        submenu_free(app->submenu_random_facts);
+    }
+    if (app->submenu_predict)
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewPredict);
+        submenu_free(app->submenu_predict);
+    }
 
     // Free Widget(s)
     if (app->widget_about)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewAbout);
-            widget_free(app->widget_about);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewAbout);
+        widget_free(app->widget_about);
+    }
     if (app->widget_result)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewWidgetResult);
-            widget_free(app->widget_result);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewWidgetResult);
+        widget_free(app->widget_result);
+    }
 
     // Free Variable Item List(s)
     if (app->variable_item_list_wifi)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewSettings);
-            variable_item_list_free(app->variable_item_list_wifi);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewSettings);
+        variable_item_list_free(app->variable_item_list_wifi);
+    }
 
     // Free Text Input(s)
     if (app->uart_text_input_ssid)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewTextInputSSID);
-            uart_text_input_free(app->uart_text_input_ssid);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewTextInputSSID);
+        uart_text_input_free(app->uart_text_input_ssid);
+    }
     if (app->uart_text_input_password)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewTextInputPassword);
-            uart_text_input_free(app->uart_text_input_password);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewTextInputPassword);
+        uart_text_input_free(app->uart_text_input_password);
+    }
     if (app->uart_text_input_query)
-        {
-            view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewTextInputQuery);
-            uart_text_input_free(app->uart_text_input_query);
-        }
+    {
+        view_dispatcher_remove_view(app->view_dispatcher, FlipLibraryViewTextInputQuery);
+        uart_text_input_free(app->uart_text_input_query);
+    }
 
     // deinitalize flipper http
     flipper_http_deinit();
 
     // free the view dispatcher
     if (app->view_dispatcher)
-        {
-            view_dispatcher_free(app->view_dispatcher);
-        }
+    {
+        view_dispatcher_free(app->view_dispatcher);
+    }
 
     // close the gui
     furi_record_close(RECORD_GUI);
 
     if (app_instance)
-        {
-            // free the app instance
-            free(app_instance);
-            app_instance = NULL;
-        }
+    {
+        // free the app instance
+        free(app_instance);
+        app_instance = NULL;
+    }
     // free the app
     free(app);
 }

+ 26 - 3
flip_library.h

@@ -22,18 +22,37 @@ typedef enum
     FlipLibrarySubmenuIndexDictionary,  // click to view the dictionary variable item list
     FlipLibrarySubmenuIndexAbout,       // Click to view the about screen
     FlipLibrarySubmenuIndexSettings,    // Click to view the WiFi settings
+    FlipLibrarySubmenuIndexLibrary,     // Click to view the library
     //
     FlipLibrarySubmenuIndexRandomFactsCats,   // Click to view the random facts (cats)
     FlipLibrarySubmenuIndexRandomFactsDogs,   // Click to view the random facts (dogs)
     FlipLibrarySubmenuIndexRandomFactsQuotes, // Click to view the random facts (quotes)
     FlipLibrarySubmenuIndexRandomFactsAll,    // Click to view the random facts (all)
-    FlipLibrarySubmenuIndexRandomFactsWiki,   // Click to view the random facts (wiki)
+    FlipLibrarySubmenuIndexRandomAdvice,      // Click to view the random (advice)
+    FlipLibrarySubmenuIndexRandomTrivia,      // Click to view the random trivia
+    FlipLibrarySubmenuIndexRandomTechPhrase,  // Click to view the random tech phrase
+    FlipLibrarySubmenuIndexRandomUUID,        // Click to view the random UUID
+    FlipLibrarySubmenuIndexRandomAddress,     // Click to view the random address
+    FlipLibrarySubmenuIndexRandomCreditCard,  // Click to view the random credit card
+    FlipLibrarySubmenuIndexRandomUserInfo,    // Click to view the random user info
+    FlipLibrarySubmenuIndexWiki,              // Click to view the Wikipedia search
+    //
+    FlipLibrarySubmenuIndexGPS,         // Click to view the GPS
+    FlipLibrarySubmenuIndexWeather,     // Click to view the weather
+    FlipLibrarySubmenuIndexElevation,   // Click to view the elevation
+    FlipLibrarySubmenuIndexAssetPrice,  // Click to view the asset price
+    FlipLibrarySubmenuIndexNextHoliday, // Click to view the next holiday
+    //
+    FlipLibrarySubmenuIndexPredict,          // Click to view the predict submenu
+    FlipLibrarySubmenuIndexPredictGender,    // Click to view the predict gender view,
+    FlipLibrarySubmenuIndexPredictAge,       // Click to view the predict age
+    FlipLibrarySubmenuIndexPredictEthnicity, // Click to view the predict
 } FlipLibrarySubmenuIndex;
 
 // Define a single view for our FlipLibrary application
 typedef enum
 {
-    FlipLibraryViewRandomFacts = 7,   // The random facts main screen
+    FlipLibraryViewRandomFacts,       // The random facts main screen
     FlipLibraryViewLoader,            // The loader screen retrieves data from the internet
     FlipLibraryViewSubmenuMain,       // The submenu screen
     FlipLibraryViewAbout,             // The about screen
@@ -41,7 +60,9 @@ typedef enum
     FlipLibraryViewTextInputSSID,     // The text input screen (SSID)
     FlipLibraryViewTextInputPassword, // The text input screen (password)
     FlipLibraryViewTextInputQuery,    // Query the user for information
-    FlipLibraryViewWidgetResult,      // The text box that displays the random fact
+    FlipLibraryViewWidgetResult,      // The text box that displays the result
+    FlipLibraryViewPredict,           // The predict screen
+    FlipLibraryViewSubmenuLibrary,    // The library submenu
 } FlipLibraryView;
 
 // Each screen will have its own view
@@ -50,7 +71,9 @@ typedef struct
     ViewDispatcher *view_dispatcher;           // Switches between our views
     View *view_loader;                         // The screen that loads data from internet
     Submenu *submenu_main;                     // The submenu for the main screen
+    Submenu *submenu_library;                  // The submenu for the library screen
     Submenu *submenu_random_facts;             // The submenu for the random facts screen
+    Submenu *submenu_predict;                  // The submenu for the predict screen
     Widget *widget_about;                      // The widget for the about screen
     VariableItemList *variable_item_list_wifi; // The variable item list (WiFi settings)
     VariableItem *variable_item_ssid;          // The variable item (SSID)

+ 2 - 2
flipper_http/flipper_http.h

@@ -16,8 +16,8 @@
 #define TIMEOUT_DURATION_TICKS (5 * 1000) // 5 seconds
 #define BAUDRATE (115200)                 // UART baudrate
 #define RX_BUF_SIZE 1024                  // UART RX buffer size
-#define RX_LINE_BUFFER_SIZE 4096          // UART RX line buffer size (increase for large responses)
-#define MAX_FILE_SHOW 4096                // Maximum data from file to show
+#define RX_LINE_BUFFER_SIZE 4224          // UART RX line buffer size (increase for large responses)
+#define MAX_FILE_SHOW 4224                // Maximum data from file to show
 #define FILE_BUFFER_SIZE 512              // File buffer size
 
 // Forward declaration for callback

Некоторые файлы не были показаны из-за большого количества измененных файлов