Просмотр исходного кода

Merge pull request #17 from leedave/feature/linting

Feature/linting
David Lee 2 лет назад
Родитель
Сommit
cc0c61844b

+ 191 - 0
.clang-format

@@ -0,0 +1,191 @@
+---
+Language:        Cpp
+AccessModifierOffset: -4
+AlignAfterOpenBracket: AlwaysBreak
+AlignArrayOfStructures: None
+AlignConsecutiveMacros: None
+AlignConsecutiveAssignments: None
+AlignConsecutiveBitFields: None
+AlignConsecutiveDeclarations: None
+AlignEscapedNewlines: Left
+AlignOperands:   Align
+AlignTrailingComments: false
+AllowAllArgumentsOnNextLine: true
+AllowAllParametersOfDeclarationOnNextLine: false
+AllowShortEnumsOnASingleLine: true
+AllowShortBlocksOnASingleLine: Never
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: None
+AllowShortLambdasOnASingleLine: All
+AllowShortIfStatementsOnASingleLine: WithoutElse
+AllowShortLoopsOnASingleLine: true
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: false
+AlwaysBreakTemplateDeclarations: Yes
+AttributeMacros:
+  - __capability
+BinPackArguments: false
+BinPackParameters: false
+BraceWrapping:
+  AfterCaseLabel:  false
+  AfterClass:      false
+  AfterControlStatement: Never
+  AfterEnum:       false
+  AfterFunction:   false
+  AfterNamespace:  false
+  AfterObjCDeclaration: false
+  AfterStruct:     false
+  AfterUnion:      false
+  AfterExternBlock: false
+  BeforeCatch:     false
+  BeforeElse:      false
+  BeforeLambdaBody: false
+  BeforeWhile:     false
+  IndentBraces:    false
+  SplitEmptyFunction: true
+  SplitEmptyRecord: true
+  SplitEmptyNamespace: true
+BreakBeforeBinaryOperators: None
+BreakBeforeConceptDeclarations: true
+BreakBeforeBraces: Attach
+BreakBeforeInheritanceComma: false
+BreakInheritanceList: BeforeColon
+BreakBeforeTernaryOperators: false
+BreakConstructorInitializersBeforeComma: false
+BreakConstructorInitializers: BeforeComma
+BreakAfterJavaFieldAnnotations: false
+BreakStringLiterals: false
+ColumnLimit:     99
+CommentPragmas:  '^ IWYU pragma:'
+QualifierAlignment: Leave
+CompactNamespaces: false
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: true
+DeriveLineEnding: true
+DerivePointerAlignment: false
+DisableFormat:   false
+EmptyLineAfterAccessModifier: Never
+EmptyLineBeforeAccessModifier: LogicalBlock
+ExperimentalAutoDetectBinPacking: false
+PackConstructorInitializers: BinPack
+BasedOnStyle:    ''
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+AllowAllConstructorInitializersOnNextLine: true
+FixNamespaceComments: false
+ForEachMacros:
+  - foreach
+  - Q_FOREACH
+  - BOOST_FOREACH
+IfMacros:
+  - KJ_IF_MAYBE
+IncludeBlocks:   Preserve
+IncludeCategories:
+  - Regex:           '.*'
+    Priority:        1
+    SortPriority:    0
+    CaseSensitive:   false
+  - Regex:           '^(<|"(gtest|gmock|isl|json)/)'
+    Priority:        3
+    SortPriority:    0
+    CaseSensitive:   false
+  - Regex:           '.*'
+    Priority:        1
+    SortPriority:    0
+    CaseSensitive:   false
+IncludeIsMainRegex: '(Test)?$'
+IncludeIsMainSourceRegex: ''
+IndentAccessModifiers: false
+IndentCaseLabels: false
+IndentCaseBlocks: false
+IndentGotoLabels: true
+IndentPPDirectives: None
+IndentExternBlock: AfterExternBlock
+IndentRequires:  false
+IndentWidth:     4
+IndentWrappedFunctionNames: true
+InsertTrailingCommas: None
+JavaScriptQuotes: Leave
+JavaScriptWrapImports: true
+KeepEmptyLinesAtTheStartOfBlocks: false
+LambdaBodyIndentation: Signature
+MacroBlockBegin: ''
+MacroBlockEnd:   ''
+MaxEmptyLinesToKeep: 1
+NamespaceIndentation: None
+ObjCBinPackProtocolList: Auto
+ObjCBlockIndentWidth: 4
+ObjCBreakBeforeNestedBlockParam: true
+ObjCSpaceAfterProperty: true
+ObjCSpaceBeforeProtocolList: true
+PenaltyBreakAssignment: 10
+PenaltyBreakBeforeFirstCallParameter: 30
+PenaltyBreakComment: 10
+PenaltyBreakFirstLessLess: 0
+PenaltyBreakOpenParenthesis: 0
+PenaltyBreakString: 10
+PenaltyBreakTemplateDeclaration: 10
+PenaltyExcessCharacter: 100
+PenaltyReturnTypeOnItsOwnLine: 60
+PenaltyIndentedWhitespace: 0
+PointerAlignment: Left
+PPIndentWidth:   -1
+ReferenceAlignment: Pointer
+ReflowComments:  false
+RemoveBracesLLVM: false
+SeparateDefinitionBlocks: Leave
+ShortNamespaceLines: 1
+SortIncludes:    Never
+SortJavaStaticImport: Before
+SortUsingDeclarations: false
+SpaceAfterCStyleCast: false
+SpaceAfterLogicalNot: false
+SpaceAfterTemplateKeyword: true
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeCaseColon: false
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
+SpaceBeforeParens: Never
+SpaceBeforeParensOptions:
+  AfterControlStatements: false
+  AfterForeachMacros: false
+  AfterFunctionDefinitionName: false
+  AfterFunctionDeclarationName: false
+  AfterIfMacros:   false
+  AfterOverloadedOperator: false
+  BeforeNonEmptyParentheses: false
+SpaceAroundPointerQualifiers: Default
+SpaceBeforeRangeBasedForLoopColon: true
+SpaceInEmptyBlock: false
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 1
+SpacesInAngles:  Never
+SpacesInConditionalStatement: false
+SpacesInContainerLiterals: false
+SpacesInCStyleCastParentheses: false
+SpacesInLineCommentPrefix:
+  Minimum:         1
+  Maximum:         -1
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+SpaceBeforeSquareBrackets: false
+BitFieldColonSpacing: Both
+Standard:        c++03
+StatementAttributeLikeMacros:
+  - Q_EMIT
+StatementMacros:
+  - Q_UNUSED
+  - QT_REQUIRE_VERSION
+TabWidth:        4
+UseCRLF:         false
+UseTab:          Never
+WhitespaceSensitiveMacros:
+  - STRINGIZE
+  - PP_STRINGIZE
+  - BOOST_PP_STRINGIZE
+  - NS_SWIFT_NAME
+  - CF_SWIFT_NAME
+...
+

+ 4 - 8
application.fam

@@ -3,16 +3,12 @@ App(
     name="Restaurant Pager Trigger",
     apptype=FlipperAppType.EXTERNAL,
     entry_point="meal_pager_app",
-    cdefines=["APP_MEAL_PAGER"],
-    requires=[
-        "gui",
-        "storage",
-    ],
     stack_size=2 * 1024,
-    order=10,
-    fap_libs=["assets"],
     fap_icon="icons/meal_pager_10px.png",
     fap_icon_assets="icons",
     fap_category="Sub-Ghz",
-    fap_version="0.1",
+    fap_version="0.7",
+    fap_author="leedave",
+    fap_weburl="https://github.com/leedave/flipper-zero-meal-pager",
+    fap_description="This app triggers restaurant pagers in a brute force manner, useful to test if devices are still functional.",
 )

+ 10 - 10
helpers/meal_pager_calc.c

@@ -2,12 +2,12 @@
 
 void customConcat(char* dest, const char* src) {
     // Find the end of the destination string
-    while (*dest != '\0') {
+    while(*dest != '\0') {
         dest++;
     }
 
     // Copy characters from src to dest
-    while (*src != '\0') {
+    while(*src != '\0') {
         *dest = *src;
         dest++;
         src++;
@@ -22,18 +22,18 @@ char* encManchester(const char* bits, int mode) {
     char* res = (char*)malloc((strlen(bits) * 2 + 1) * sizeof(char));
 
     int index = 0;
-    for (int i = 0; bits[i] != '\0'; i++) {
+    for(int i = 0; bits[i] != '\0'; i++) {
         char c = bits[i];
-        if (c == '0') {
-            if (mode) {
+        if(c == '0') {
+            if(mode) {
                 res[index++] = '1';
                 res[index++] = '0';
             } else {
                 res[index++] = '0';
                 res[index++] = '1';
             }
-        } else if (c == '1') {
-            if (mode) {
+        } else if(c == '1') {
+            if(mode) {
                 res[index++] = '0';
                 res[index++] = '1';
             } else {
@@ -56,21 +56,21 @@ char* encManchester(const char* bits, int mode) {
 void uint32ToBinaray(uint32_t number, char* str, int8_t length) {
     int i = 0;
     length--; // count length without 0
-    for (i = length; i >= 0; i--) {
+    for(i = length; i >= 0; i--) {
         // Bitwise AND extration of the i-th bit
         int bit = (number >> i) & 1;
         // convert the bit to a character of 1 or 0
         str[length - i] = bit + '0';
     }
     // Terminate the string
-    str[length+1] = '\0';
+    str[length + 1] = '\0';
 }
 
 void reverse(char* str) {
     int length = strlen(str);
     int start = 0;
     int end = length - 1;
-    while (start < end) {
+    while(start < end) {
         char temp = str[start];
         str[start] = str[end];
         str[end] = temp;

+ 2 - 1
helpers/meal_pager_custom_event.h

@@ -45,7 +45,8 @@ static inline uint32_t meal_pager_custom_menu_event_pack(uint16_t type, int16_t
     Meal_PagerCustomEventMenu event = {.content = {.type = type, .value = value}};
     return event.packed_value;
 }
-static inline void meal_pager_custom_menu_event_unpack(uint32_t packed_value, uint16_t* type, int16_t* value) {
+static inline void
+    meal_pager_custom_menu_event_unpack(uint32_t packed_value, uint16_t* type, int16_t* value) {
     Meal_PagerCustomEventMenu event = {.packed_value = packed_value};
     if(type) *type = event.content.type;
     if(value) *value = event.content.value;

+ 4 - 4
helpers/meal_pager_haptic.c

@@ -2,7 +2,7 @@
 
 void meal_pager_play_happy_bump(void* context) {
     Meal_Pager* app = context;
-    if (app->haptic != 1) {
+    if(app->haptic != 1) {
         return;
     }
     notification_message(app->notification, &sequence_set_vibro_on);
@@ -12,7 +12,7 @@ void meal_pager_play_happy_bump(void* context) {
 
 void meal_pager_play_bad_bump(void* context) {
     Meal_Pager* app = context;
-    if (app->haptic != 1) {
+    if(app->haptic != 1) {
         return;
     }
     notification_message(app->notification, &sequence_set_vibro_on);
@@ -22,10 +22,10 @@ void meal_pager_play_bad_bump(void* context) {
 
 void meal_pager_play_long_bump(void* context) {
     Meal_Pager* app = context;
-    if (app->haptic != 1) {
+    if(app->haptic != 1) {
         return;
     }
-    for (int i = 0; i < 4; i++) {
+    for(int i = 0; i < 4; i++) {
         notification_message(app->notification, &sequence_set_vibro_on);
         furi_thread_flags_wait(0, FuriFlagWaitAny, 50);
         notification_message(app->notification, &sequence_reset_vibro);

+ 0 - 1
helpers/meal_pager_haptic.h

@@ -8,4 +8,3 @@ void meal_pager_play_happy_bump(void* context);
 void meal_pager_play_bad_bump(void* context);
 
 void meal_pager_play_long_bump(void* context);
-

+ 6 - 4
helpers/meal_pager_led.c

@@ -19,7 +19,7 @@ void meal_pager_blink_stop(Meal_Pager* app) {
 
 void meal_pager_led_set_rgb(void* context, int red, int green, int blue) {
     Meal_Pager* app = context;
-    if (app->led != 1) {
+    if(app->led != 1) {
         return;
     }
     NotificationMessage notification_led_message_1;
@@ -40,7 +40,8 @@ void meal_pager_led_set_rgb(void* context, int red, int green, int blue) {
         NULL,
     };
     notification_message(app->notification, &notification_sequence);
-    furi_thread_flags_wait(0, FuriFlagWaitAny, 10); //Delay, prevent removal from RAM before LED value set    
+    furi_thread_flags_wait(
+        0, FuriFlagWaitAny, 10); //Delay, prevent removal from RAM before LED value set
 }
 
 void meal_pager_led_reset(void* context) {
@@ -48,6 +49,7 @@ void meal_pager_led_reset(void* context) {
     notification_message(app->notification, &sequence_reset_red);
     notification_message(app->notification, &sequence_reset_green);
     notification_message(app->notification, &sequence_reset_blue);
-    
-    furi_thread_flags_wait(0, FuriFlagWaitAny, 300); //Delay, prevent removal from RAM before LED value set    
+
+    furi_thread_flags_wait(
+        0, FuriFlagWaitAny, 300); //Delay, prevent removal from RAM before LED value set
 }

+ 0 - 1
helpers/meal_pager_led.h

@@ -11,4 +11,3 @@ void meal_pager_blink_stop(Meal_Pager* app);
 void meal_pager_led_set_rgb(void* context, int red, int green, int blue);
 
 void meal_pager_led_reset(void* context);
-

+ 2 - 3
helpers/meal_pager_speaker.c

@@ -4,19 +4,18 @@
 
 void meal_pager_play_input_sound(void* context) {
     Meal_Pager* app = context;
-    if (app->speaker != 1) {
+    if(app->speaker != 1) {
         return;
     }
     float volume = 1.0f;
     if(furi_hal_speaker_is_mine() || furi_hal_speaker_acquire(30)) {
         furi_hal_speaker_start(NOTE_INPUT, volume);
     }
-    
 }
 
 void meal_pager_stop_all_sound(void* context) {
     Meal_Pager* app = context;
-    if (app->speaker != 1) {
+    if(app->speaker != 1) {
         return;
     }
     if(furi_hal_speaker_is_mine()) {

+ 34 - 36
helpers/meal_pager_storage.c

@@ -1,6 +1,5 @@
 #include "meal_pager_storage.h"
 
-
 static Storage* meal_pager_open_storage() {
     return furi_record_open(RECORD_STORAGE);
 }
@@ -10,7 +9,7 @@ static void meal_pager_close_storage() {
 }
 
 static void meal_pager_close_config_file(FlipperFormat* file) {
-    if (file == NULL) return;
+    if(file == NULL) return;
     flipper_format_rewind(file);
     flipper_format_file_close(file);
     flipper_format_free(file);
@@ -28,7 +27,7 @@ bool meal_pager_save_subghz_buffer_file_start(void* context, FlipperFormat* ff,
     // Overwrite wont work, so delete first
     if(storage_file_exists(storage, MEAL_PAGER_TMP_FILE)) {
         bool stored = storage_simply_remove(storage, MEAL_PAGER_TMP_FILE);
-        if (!stored) {
+        if(!stored) {
             FURI_LOG_D(TAG, "Cannot remove file, seems to be open");
             return success;
         }
@@ -36,12 +35,11 @@ bool meal_pager_save_subghz_buffer_file_start(void* context, FlipperFormat* ff,
 
     // Open File, create if not exists
     if(!storage_common_stat(storage, MEAL_PAGER_TMP_FILE, NULL) == FSE_OK) {
-        FURI_LOG_D(TAG, "Config file %s is not found. Will create new.", MEAL_PAGER_SETTINGS_SAVE_PATH);
+        FURI_LOG_D(
+            TAG, "Config file %s is not found. Will create new.", MEAL_PAGER_SETTINGS_SAVE_PATH);
         if(storage_common_stat(storage, CONFIG_FILE_DIRECTORY_PATH, NULL) == FSE_NOT_EXIST) {
             FURI_LOG_D(
-                TAG,
-                "Directory %s doesn't exist. Will create new.",
-                CONFIG_FILE_DIRECTORY_PATH);
+                TAG, "Directory %s doesn't exist. Will create new.", CONFIG_FILE_DIRECTORY_PATH);
             if(!storage_simply_mkdir(storage, CONFIG_FILE_DIRECTORY_PATH)) {
                 FURI_LOG_D(TAG, "Error creating directory %s", CONFIG_FILE_DIRECTORY_PATH);
             }
@@ -54,12 +52,14 @@ bool meal_pager_save_subghz_buffer_file_start(void* context, FlipperFormat* ff,
         meal_pager_close_storage();
         return success;
     }
-    
-    success = flipper_format_write_header_cstr(ff, MEAL_PAGER_SUBGHZ_FILE_TYPE, MEAL_PAGER_SUBGHZ_FILE_VERSION) &&
-                   flipper_format_write_string_cstr(ff, "Frequency", MEAL_PAGER_SUBGHZ_FILE_FREQUENCY) &&
-                   flipper_format_write_string_cstr(ff, "Preset", MEAL_PAGER_SUBGHZ_FILE_PRESET) &&
-                   flipper_format_write_string_cstr(ff, "Protocol", MEAL_PAGER_SUBGHZ_FILE_Protocol);
-    //UNUSED(success);            
+
+    success =
+        flipper_format_write_header_cstr(
+            ff, MEAL_PAGER_SUBGHZ_FILE_TYPE, MEAL_PAGER_SUBGHZ_FILE_VERSION) &&
+        flipper_format_write_string_cstr(ff, "Frequency", MEAL_PAGER_SUBGHZ_FILE_FREQUENCY) &&
+        flipper_format_write_string_cstr(ff, "Preset", MEAL_PAGER_SUBGHZ_FILE_PRESET) &&
+        flipper_format_write_string_cstr(ff, "Protocol", MEAL_PAGER_SUBGHZ_FILE_Protocol);
+    //UNUSED(success);
     return success;
     //return ff;
 }
@@ -81,7 +81,7 @@ void meal_pager_save_subghz_buffer_stop(void* context, FlipperFormat* ff) {
 
 void meal_pager_save_settings(void* context) {
     Meal_Pager* app = context;
-    if (app->save_settings == 0) {
+    if(app->save_settings == 0) {
         FURI_LOG_D(TAG, "Skipping Save because Disabled");
         return;
     }
@@ -89,7 +89,7 @@ void meal_pager_save_settings(void* context) {
     FURI_LOG_D(TAG, "Saving Settings to File");
     Storage* storage = meal_pager_open_storage();
     FlipperFormat* fff_file = flipper_format_file_alloc(storage);
-    
+
     // Overwrite wont work, so delete first
     if(storage_file_exists(storage, MEAL_PAGER_SETTINGS_SAVE_PATH)) {
         storage_simply_remove(storage, MEAL_PAGER_SETTINGS_SAVE_PATH);
@@ -97,12 +97,11 @@ void meal_pager_save_settings(void* context) {
 
     // Open File, create if not exists
     if(!storage_common_stat(storage, MEAL_PAGER_SETTINGS_SAVE_PATH, NULL) == FSE_OK) {
-        FURI_LOG_D(TAG, "Config file %s is not found. Will create new.", MEAL_PAGER_SETTINGS_SAVE_PATH);
+        FURI_LOG_D(
+            TAG, "Config file %s is not found. Will create new.", MEAL_PAGER_SETTINGS_SAVE_PATH);
         if(storage_common_stat(storage, CONFIG_FILE_DIRECTORY_PATH, NULL) == FSE_NOT_EXIST) {
             FURI_LOG_D(
-                TAG,
-                "Directory %s doesn't exist. Will create new.",
-                CONFIG_FILE_DIRECTORY_PATH);
+                TAG, "Directory %s doesn't exist. Will create new.", CONFIG_FILE_DIRECTORY_PATH);
             if(!storage_simply_mkdir(storage, CONFIG_FILE_DIRECTORY_PATH)) {
                 FURI_LOG_E(TAG, "Error creating directory %s", CONFIG_FILE_DIRECTORY_PATH);
             }
@@ -115,29 +114,24 @@ void meal_pager_save_settings(void* context) {
         meal_pager_close_storage();
         return;
     }
-    
+
     // Store Settings
     flipper_format_write_header_cstr(
         fff_file, MEAL_PAGER_SETTINGS_HEADER, MEAL_PAGER_SETTINGS_FILE_VERSION);
-    flipper_format_write_uint32(
-        fff_file, MEAL_PAGER_SETTINGS_KEY_PAGER_TYPE, &app->pager_type, 1);
+    flipper_format_write_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_PAGER_TYPE, &app->pager_type, 1);
     flipper_format_write_uint32(
         fff_file, MEAL_PAGER_SETTINGS_KEY_FIRST_STATION, &app->first_station, 1);
     flipper_format_write_uint32(
         fff_file, MEAL_PAGER_SETTINGS_KEY_LAST_STATION, &app->last_station, 1);
     flipper_format_write_uint32(
         fff_file, MEAL_PAGER_SETTINGS_KEY_FIRST_PAGER, &app->first_pager, 1);
-    flipper_format_write_uint32(
-        fff_file, MEAL_PAGER_SETTINGS_KEY_LAST_PAGER, &app->last_pager, 1);
-    flipper_format_write_uint32(
-        fff_file, MEAL_PAGER_SETTINGS_KEY_HAPTIC, &app->haptic, 1);
-    flipper_format_write_uint32(
-        fff_file, MEAL_PAGER_SETTINGS_KEY_SPEAKER, &app->speaker, 1);
-    flipper_format_write_uint32(
-        fff_file, MEAL_PAGER_SETTINGS_KEY_LED, &app->led, 1);
+    flipper_format_write_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_LAST_PAGER, &app->last_pager, 1);
+    flipper_format_write_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_HAPTIC, &app->haptic, 1);
+    flipper_format_write_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_SPEAKER, &app->speaker, 1);
+    flipper_format_write_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_LED, &app->led, 1);
     flipper_format_write_uint32(
         fff_file, MEAL_PAGER_SETTINGS_KEY_SAVE_SETTINGS, &app->save_settings, 1);
-    
+
     if(!flipper_format_rewind(fff_file)) {
         meal_pager_close_config_file(fff_file);
         FURI_LOG_E(TAG, "Rewind error");
@@ -162,7 +156,7 @@ void meal_pager_read_settings(void* context) {
     uint32_t file_version;
     FuriString* temp_str = furi_string_alloc();
 
-    if (!flipper_format_file_open_existing(fff_file, MEAL_PAGER_SETTINGS_SAVE_PATH)) {
+    if(!flipper_format_file_open_existing(fff_file, MEAL_PAGER_SETTINGS_SAVE_PATH)) {
         FURI_LOG_E(TAG, "Cannot open file %s", MEAL_PAGER_SETTINGS_SAVE_PATH);
         meal_pager_close_config_file(fff_file);
         meal_pager_close_storage();
@@ -184,14 +178,18 @@ void meal_pager_read_settings(void* context) {
     }
 
     flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_PAGER_TYPE, &app->pager_type, 1);
-    flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_FIRST_STATION, &app->first_station, 1);
-    flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_LAST_STATION, &app->last_station, 1);
-    flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_FIRST_PAGER, &app->first_pager, 1);
+    flipper_format_read_uint32(
+        fff_file, MEAL_PAGER_SETTINGS_KEY_FIRST_STATION, &app->first_station, 1);
+    flipper_format_read_uint32(
+        fff_file, MEAL_PAGER_SETTINGS_KEY_LAST_STATION, &app->last_station, 1);
+    flipper_format_read_uint32(
+        fff_file, MEAL_PAGER_SETTINGS_KEY_FIRST_PAGER, &app->first_pager, 1);
     flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_LAST_PAGER, &app->last_pager, 1);
     flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_HAPTIC, &app->haptic, 1);
     flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_SPEAKER, &app->speaker, 1);
     flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_LED, &app->led, 1);
-    flipper_format_read_uint32(fff_file, MEAL_PAGER_SETTINGS_KEY_SAVE_SETTINGS, &app->save_settings, 1);
+    flipper_format_read_uint32(
+        fff_file, MEAL_PAGER_SETTINGS_KEY_SAVE_SETTINGS, &app->save_settings, 1);
 
     flipper_format_rewind(fff_file);
 

+ 22 - 15
helpers/retekess/meal_pager_retekess_t119.c

@@ -1,8 +1,6 @@
 
 #include "meal_pager_retekess_t119.h"
 
-
-
 static char* genRawDataT119(int zero, int one, const char* bits) {
     int bitsLen = strlen(bits);
     int lineLen = 256; // Adjust the line length as needed
@@ -15,11 +13,11 @@ static char* genRawDataT119(int zero, int one, const char* bits) {
     customConcat(res, "-6000");
 
     // Append bits and create the line
-    for (int i = 0; i < bitsLen; i++) {
+    for(int i = 0; i < bitsLen; i++) {
         char c = bits[i];
         int t = (c == '0') ? zero : one;
 
-        if (i % 2 == 0) {
+        if(i % 2 == 0) {
             snprintf(line, lineLen, " %d", t);
         } else {
             snprintf(line, lineLen, " -%d", t);
@@ -31,13 +29,17 @@ static char* genRawDataT119(int zero, int one, const char* bits) {
 
     // Append the closing part to the line
     customConcat(res, " 200 -6000");
-    
+
     free(line); // Free memory allocated for the line
 
     return res;
 }
 
-static void meal_pager_retekess_t119_generate_pager(void* context, char* stationId, uint32_t pager, FlipperFormat* ff) {
+static void meal_pager_retekess_t119_generate_pager(
+    void* context,
+    char* stationId,
+    uint32_t pager,
+    FlipperFormat* ff) {
     Meal_Pager* app = context;
     char pagerId[11];
     char* fullId = (char*)malloc(25 * sizeof(char));
@@ -70,19 +72,25 @@ static void meal_pager_retekess_t119_generate_pager(void* context, char* station
     free(rawSignal);
 }
 
-static void meal_pager_retekess_t119_generate_station(void* context, uint32_t station, FlipperFormat* ff) {
+static void
+    meal_pager_retekess_t119_generate_station(void* context, uint32_t station, FlipperFormat* ff) {
     Meal_Pager* app = context;
-    FURI_LOG_D(TAG, "Generating T119 Data for Station %lu. Pagers From %lu to %lu", station, app->first_pager, app->last_pager);
+    FURI_LOG_D(
+        TAG,
+        "Generating T119 Data for Station %lu. Pagers From %lu to %lu",
+        station,
+        app->first_pager,
+        app->last_pager);
     app->current_station = station;
     app->current_pager = app->first_pager;
     char stationId[14];
     uint32ToBinaray(station, stationId, 13);
     reverse(stationId);
     meal_pager_transmit_model_set_station(app->meal_pager_transmit, app->current_station);
-    for (u_int32_t i = app->current_pager;i <= app->last_pager; i++) {
+    for(u_int32_t i = app->current_pager; i <= app->last_pager; i++) {
         meal_pager_retekess_t119_generate_pager(app, stationId, i, ff);
         //furi_thread_flags_wait(0, FuriFlagWaitAny, 1);
-        if (app->stop_transmit) {
+        if(app->stop_transmit) {
             break;
         }
     }
@@ -98,17 +106,17 @@ bool meal_pager_retekess_t119_generate_all(void* context) {
     FlipperFormat* ff = flipper_format_file_alloc(storage);
     bool success = meal_pager_save_subghz_buffer_file_start(app, ff, storage);
 
-    if (!success) {
+    if(!success) {
         FURI_LOG_D(TAG, "failed to save to buffer");
         meal_pager_save_subghz_buffer_stop(app, ff);
         furi_record_close(RECORD_STORAGE);
         return success;
     }
-    
-    for (u_int32_t i = app->current_station;i <= app->last_station; i++) {
+
+    for(u_int32_t i = app->current_station; i <= app->last_station; i++) {
         meal_pager_retekess_t119_generate_station(app, i, ff);
         //furi_thread_flags_wait(0, FuriFlagWaitAny, 100);
-        if (app->stop_transmit) {
+        if(app->stop_transmit) {
             break;
         }
     }
@@ -117,4 +125,3 @@ bool meal_pager_retekess_t119_generate_all(void* context) {
     furi_record_close(RECORD_STORAGE);
     return success;
 }
-

+ 22 - 15
helpers/retekess/meal_pager_retekess_td157.c

@@ -1,8 +1,6 @@
 
 #include "meal_pager_retekess_td157.h"
 
-
-
 static char* genRawDataTD157(int zero, int one, const char* bits) {
     int bitsLen = strlen(bits);
     int lineLen = 256; // Adjust the line length as needed
@@ -15,11 +13,11 @@ static char* genRawDataTD157(int zero, int one, const char* bits) {
     customConcat(res, "-6000");
 
     // Append bits and create the line
-    for (int i = 0; i < bitsLen; i++) {
+    for(int i = 0; i < bitsLen; i++) {
         char c = bits[i];
         int t = (c == '0') ? zero : one;
 
-        if (i % 2 == 0) {
+        if(i % 2 == 0) {
             snprintf(line, lineLen, " %d", t);
         } else {
             snprintf(line, lineLen, " -%d", t);
@@ -31,13 +29,17 @@ static char* genRawDataTD157(int zero, int one, const char* bits) {
 
     // Append the closing part to the line
     customConcat(res, " 200 -6000");
-    
+
     free(line); // Free memory allocated for the line
 
     return res;
 }
 
-static void meal_pager_retekess_td157_generate_pager(void* context, char* stationId, uint32_t pager, FlipperFormat* ff) {
+static void meal_pager_retekess_td157_generate_pager(
+    void* context,
+    char* stationId,
+    uint32_t pager,
+    FlipperFormat* ff) {
     Meal_Pager* app = context;
     char pagerId[11];
     char* fullId = (char*)malloc(25 * sizeof(char));
@@ -58,18 +60,24 @@ static void meal_pager_retekess_td157_generate_pager(void* context, char* statio
     free(rawSignal);
 }
 
-static void meal_pager_retekess_td157_generate_station(void* context, uint32_t station, FlipperFormat* ff) {
+static void
+    meal_pager_retekess_td157_generate_station(void* context, uint32_t station, FlipperFormat* ff) {
     Meal_Pager* app = context;
-    FURI_LOG_D(TAG, "Generating TD157 Data for Station %lu. Pagers From %lu to %lu", station, app->first_pager, app->last_pager);
+    FURI_LOG_D(
+        TAG,
+        "Generating TD157 Data for Station %lu. Pagers From %lu to %lu",
+        station,
+        app->first_pager,
+        app->last_pager);
     app->current_station = station;
     app->current_pager = app->first_pager;
     char stationId[14];
     uint32ToBinaray(station, stationId, 10);
     //reverse(stationId);
     meal_pager_transmit_model_set_station(app->meal_pager_transmit, app->current_station);
-    for (u_int32_t i = app->current_pager;i <= app->last_pager; i++) {
+    for(u_int32_t i = app->current_pager; i <= app->last_pager; i++) {
         meal_pager_retekess_td157_generate_pager(app, stationId, i, ff);
-        if (app->stop_transmit) {
+        if(app->stop_transmit) {
             break;
         }
     }
@@ -85,16 +93,16 @@ bool meal_pager_retekess_td157_generate_all(void* context) {
     FlipperFormat* ff = flipper_format_file_alloc(storage);
     bool success = meal_pager_save_subghz_buffer_file_start(app, ff, storage);
 
-    if (!success) {
+    if(!success) {
         FURI_LOG_D(TAG, "failed to save to buffer");
         meal_pager_save_subghz_buffer_stop(app, ff);
         furi_record_close(RECORD_STORAGE);
         return success;
     }
-    
-    for (u_int32_t i = app->current_station;i <= app->last_station; i++) {
+
+    for(u_int32_t i = app->current_station; i <= app->last_station; i++) {
         meal_pager_retekess_td157_generate_station(app, i, ff);
-        if (app->stop_transmit) {
+        if(app->stop_transmit) {
             break;
         }
     }
@@ -103,4 +111,3 @@ bool meal_pager_retekess_td157_generate_all(void* context) {
     furi_record_close(RECORD_STORAGE);
     return success;
 }
-

+ 6 - 6
helpers/subghz/subghz.c

@@ -7,7 +7,7 @@
 
 SubGhz* subghz_alloc() {
     SubGhz* subghz = malloc(sizeof(SubGhz));
-    
+
     subghz->file_path = furi_string_alloc();
 
     subghz->txrx = subghz_txrx_alloc();
@@ -26,7 +26,6 @@ void subghz_free(SubGhz* subghz) {
     free(subghz);
 }
 
-
 void subghz_scene_transmit_callback_end_tx(void* context) {
     furi_assert(context);
     //UNUSED(context);
@@ -55,13 +54,15 @@ void subghz_send(void* context) {
     }*/
 
     //subghz_txrx_tx_start(subghz->txrx, ff);
-    
+
     FURI_LOG_D(TAG, "Starting Transmission");
-    subghz_txrx_tx_start(app->subghz->txrx, subghz_txrx_get_fff_data(app->subghz->txrx)); //Seems like it must be done this way
+    subghz_txrx_tx_start(
+        app->subghz->txrx,
+        subghz_txrx_get_fff_data(app->subghz->txrx)); //Seems like it must be done this way
 
     FURI_LOG_D(TAG, "setting sugbhz raw file encoder worker callback");
     subghz_txrx_set_raw_file_encoder_worker_callback_end(
-                        app->subghz->txrx, subghz_scene_transmit_callback_end_tx, app);
+        app->subghz->txrx, subghz_scene_transmit_callback_end_tx, app);
     app->state_notifications = SubGhzNotificationStateTx;
 
     /*flipper_format_rewind(ff);
@@ -70,7 +71,6 @@ void subghz_send(void* context) {
 
     furi_record_close(RECORD_STORAGE);*/
 
-
     //subghz_free(subghz);
     FURI_LOG_D(TAG, "Finished Transmitting");
     //meal_pager_blink_stop(app);

+ 4 - 6
helpers/subghz/subghz_i.c

@@ -1,6 +1,5 @@
 #include "subghz_i.h"
 
-//#include "assets_icons.h"
 #include "subghz/types.h"
 #include <math.h>
 #include <furi.h>
@@ -10,7 +9,6 @@
 #include <notification/notification.h>
 #include <notification/notification_messages.h>
 #include <flipper_format/flipper_format.h>
-//#include "views/receiver.h"
 
 #include <flipper_format/flipper_format_i.h>
 #include <lib/toolbox/stream/stream.h>
@@ -48,7 +46,7 @@ void subghz_set_default_preset(SubGhz* subghz) {
 bool subghz_key_load(SubGhz* subghz, const char* file_path) { //, bool show_dialog) {
     furi_assert(subghz);
     furi_assert(file_path);
-    
+
     Storage* storage = furi_record_open(RECORD_STORAGE);
     FlipperFormat* fff_data_file = flipper_format_file_alloc(storage);
     Stream* fff_data_stream =
@@ -57,7 +55,7 @@ bool subghz_key_load(SubGhz* subghz, const char* file_path) { //, bool show_dial
     SubGhzLoadKeyState load_key_state = SubGhzLoadKeyStateParseErr;
     FuriString* temp_str = furi_string_alloc();
     uint32_t temp_data32;
-    
+
     do {
         stream_clean(fff_data_stream);
         if(!flipper_format_file_open_existing(fff_data_file, file_path)) {
@@ -206,8 +204,8 @@ bool subghz_load_protocol_from_file(SubGhz* subghz) {
         subghz->dialogs, subghz->file_path, subghz->file_path, &browser_options);
 
     if(res) {*/
-        //res = subghz_key_load(subghz, furi_string_get_cstr(subghz->file_path), true);
-       res = subghz_key_load(subghz, MEAL_PAGER_TMP_FILE); //, true);
+    //res = subghz_key_load(subghz, furi_string_get_cstr(subghz->file_path), true);
+    res = subghz_key_load(subghz, MEAL_PAGER_TMP_FILE); //, true);
     //}
 
     //furi_string_free(file_path);

+ 0 - 1
helpers/subghz/subghz_i.h

@@ -12,7 +12,6 @@
 #include "views/subghz_read_raw.h"
 
 #include <gui/gui.h>
-#include <assets_icons.h>
 #include <dialogs/dialogs.h>
 #include <gui/scene_manager.h>
 #include <notification/notification_messages.h>

+ 7 - 7
helpers/subghz/subghz_txrx.c

@@ -43,7 +43,7 @@ SubGhzTxRx* subghz_txrx_alloc() {
     subghz_txrx_speaker_set_state(instance, SubGhzSpeakerStateDisable);
 
     instance->worker = subghz_worker_alloc();
-    instance->fff_data = flipper_format_string_alloc(); 
+    instance->fff_data = flipper_format_string_alloc();
 
     instance->environment = subghz_environment_alloc();
     instance->is_database_loaded =
@@ -241,7 +241,7 @@ SubGhzTxRxStartTxState subghz_txrx_tx_start(SubGhzTxRx* instance, FlipperFormat*
     SubGhzTxRxStartTxState ret = SubGhzTxRxStartTxStateErrorParserOthers;
     FuriString* temp_str = furi_string_alloc();
     uint32_t repeat = 200;
-    
+
     FURI_LOG_D(TAG, "starting loop in subghz_txrx_tx_start");
     do {
         FURI_LOG_D(TAG, "looping");
@@ -259,7 +259,7 @@ SubGhzTxRxStartTxState subghz_txrx_tx_start(SubGhzTxRx* instance, FlipperFormat*
         }
         //FURI_LOG_D(TAG, "File loaded");
         ret = SubGhzTxRxStartTxStateOk;
-        
+
         SubGhzRadioPreset* preset = instance->preset;
         instance->transmitter =
             subghz_transmitter_alloc_init(instance->environment, furi_string_get_cstr(temp_str));
@@ -268,14 +268,14 @@ SubGhzTxRxStartTxState subghz_txrx_tx_start(SubGhzTxRx* instance, FlipperFormat*
             FURI_LOG_D(TAG, "transmitter found");
             if(subghz_transmitter_deserialize(instance->transmitter, flipper_format) ==
                SubGhzProtocolStatusOk) {
-            //if (false) {
+                //if (false) {
                 FURI_LOG_D(TAG, "deserialization");
                 if(strcmp(furi_string_get_cstr(preset->name), "") != 0) {
                     FURI_LOG_D(TAG, "got preset name");
                     subghz_txrx_begin(
                         instance,
                         subghz_setting_get_preset_data_by_name(
-                            instance->setting, furi_string_get_cstr(preset->name))); 
+                            instance->setting, furi_string_get_cstr(preset->name)));
                     FURI_LOG_D(TAG, "loaded preset by name");
                     if(preset->frequency) {
                         if(!subghz_txrx_tx(instance, preset->frequency)) {
@@ -286,13 +286,13 @@ SubGhzTxRxStartTxState subghz_txrx_tx_start(SubGhzTxRx* instance, FlipperFormat*
                     } else {
                         ret = SubGhzTxRxStartTxStateErrorParserOthers;
                     }
-        
+
                 } else {
                     FURI_LOG_E(
                         TAG, "Unknown name preset \" %s \"", furi_string_get_cstr(preset->name));
                     ret = SubGhzTxRxStartTxStateErrorParserOthers;
                 }
-                
+
                 if(ret == SubGhzTxRxStartTxStateOk) {
                     //Start TX
                     FURI_LOG_D(TAG, "starting Async TX");

+ 29 - 18
meal_pager.c

@@ -23,7 +23,7 @@ Meal_Pager* meal_pager_app_alloc() {
     Meal_Pager* app = malloc(sizeof(Meal_Pager));
     app->gui = furi_record_open(RECORD_GUI);
     app->notification = furi_record_open(RECORD_NOTIFICATION);
-    
+
     //Turn backlight on, believe me this makes testing your app easier
     notification_message(app->notification, &sequence_display_backlight_on);
 
@@ -33,9 +33,12 @@ Meal_Pager* meal_pager_app_alloc() {
 
     app->scene_manager = scene_manager_alloc(&meal_pager_scene_handlers, app);
     view_dispatcher_set_event_callback_context(app->view_dispatcher, app);
-    view_dispatcher_set_navigation_event_callback(app->view_dispatcher, meal_pager_navigation_event_callback);
-    view_dispatcher_set_tick_event_callback(app->view_dispatcher, meal_pager_tick_event_callback, 100);
-    view_dispatcher_set_custom_event_callback(app->view_dispatcher, meal_pager_custom_event_callback);
+    view_dispatcher_set_navigation_event_callback(
+        app->view_dispatcher, meal_pager_navigation_event_callback);
+    view_dispatcher_set_tick_event_callback(
+        app->view_dispatcher, meal_pager_tick_event_callback, 100);
+    view_dispatcher_set_custom_event_callback(
+        app->view_dispatcher, meal_pager_custom_event_callback);
     app->submenu = submenu_alloc();
 
     // Set defaults, in case no config loaded
@@ -63,14 +66,24 @@ Meal_Pager* meal_pager_app_alloc() {
     // Load configs
     meal_pager_read_settings(app);
 
-    view_dispatcher_add_view(app->view_dispatcher, Meal_PagerViewIdMenu, submenu_get_view(app->submenu));
+    view_dispatcher_add_view(
+        app->view_dispatcher, Meal_PagerViewIdMenu, submenu_get_view(app->submenu));
     app->meal_pager_startscreen = meal_pager_startscreen_alloc();
-    view_dispatcher_add_view(app->view_dispatcher, Meal_PagerViewIdStartscreen, meal_pager_startscreen_get_view(app->meal_pager_startscreen));
+    view_dispatcher_add_view(
+        app->view_dispatcher,
+        Meal_PagerViewIdStartscreen,
+        meal_pager_startscreen_get_view(app->meal_pager_startscreen));
     app->meal_pager_transmit = meal_pager_transmit_alloc(app);
-    view_dispatcher_add_view(app->view_dispatcher, Meal_PagerViewIdTransmit, meal_pager_transmit_get_view(app->meal_pager_transmit));
-    
+    view_dispatcher_add_view(
+        app->view_dispatcher,
+        Meal_PagerViewIdTransmit,
+        meal_pager_transmit_get_view(app->meal_pager_transmit));
+
     app->variable_item_list = variable_item_list_alloc();
-    view_dispatcher_add_view(app->view_dispatcher, Meal_PagerViewIdSettings, variable_item_list_get_view(app->variable_item_list));
+    view_dispatcher_add_view(
+        app->view_dispatcher,
+        Meal_PagerViewIdSettings,
+        variable_item_list_get_view(app->variable_item_list));
 
     //End Scene Additions
 
@@ -79,7 +92,7 @@ Meal_Pager* meal_pager_app_alloc() {
 
 void meal_pager_app_free(Meal_Pager* app) {
     furi_assert(app);
-    
+
     // Scene manager
     scene_manager_free(app->scene_manager);
 
@@ -91,7 +104,7 @@ void meal_pager_app_free(Meal_Pager* app) {
 
     view_dispatcher_free(app->view_dispatcher);
     furi_record_close(RECORD_GUI);
-    
+
     app->gui = NULL;
     app->notification = NULL;
 
@@ -110,10 +123,11 @@ int32_t meal_pager_app(void* p) {
     FURI_LOG_D(TAG, "Started Meal Pager");
 
     Meal_Pager* app = meal_pager_app_alloc();
-    
+
     view_dispatcher_attach_to_gui(app->view_dispatcher, app->gui, ViewDispatcherTypeFullscreen);
-    
-    scene_manager_next_scene(app->scene_manager, Meal_PagerSceneStartscreen); //Start with start screen
+
+    scene_manager_next_scene(
+        app->scene_manager, Meal_PagerSceneStartscreen); //Start with start screen
     //scene_manager_next_scene(app->scene_manager, Meal_PagerSceneMenu); //if you want to directly start with Menu
 
     furi_hal_power_suppress_charge_enter();
@@ -121,12 +135,9 @@ int32_t meal_pager_app(void* p) {
     view_dispatcher_run(app->view_dispatcher);
 
     meal_pager_save_settings(app);
-    
+
     furi_hal_power_suppress_charge_exit();
     meal_pager_app_free(app);
 
     return 0;
 }
-
-
-

+ 1 - 4
meal_pager_i.h

@@ -5,7 +5,6 @@
 #include <gui/gui.h>
 #include <input/input.h>
 #include <stdlib.h>
-#include <assets_icons.h>
 #include <dialogs/dialogs.h>
 #include <notification/notification_messages.h>
 #include <gui/view_dispatcher.h>
@@ -42,7 +41,7 @@ typedef struct {
     Meal_PagerTransmit* meal_pager_transmit;
     DialogsApp* dialogs; // File Browser
     FuriString* file_path; // File Browser
-    uint32_t haptic; 
+    uint32_t haptic;
     uint32_t speaker;
     uint32_t led;
     uint32_t save_settings;
@@ -74,8 +73,6 @@ typedef enum {
     Meal_PagerPagerTypeTD174,
 } Meal_PagerPagerType;
 
-
-
 typedef enum {
     Meal_PagerHapticOff,
     Meal_PagerHapticOn,

+ 16 - 5
scenes/meal_pager_scene_menu.c

@@ -19,10 +19,21 @@ void meal_pager_scene_menu_submenu_callback(void* context, uint32_t index) {
 void meal_pager_scene_menu_on_enter(void* context) {
     Meal_Pager* app = context;
 
-    submenu_add_item(app->submenu, "Send Data", SubmenuIndexTransmit, meal_pager_scene_menu_submenu_callback, app);
-    submenu_add_item(app->submenu, "Settings", SubmenuIndexSettings, meal_pager_scene_menu_submenu_callback, app);
+    submenu_add_item(
+        app->submenu,
+        "Send Data",
+        SubmenuIndexTransmit,
+        meal_pager_scene_menu_submenu_callback,
+        app);
+    submenu_add_item(
+        app->submenu,
+        "Settings",
+        SubmenuIndexSettings,
+        meal_pager_scene_menu_submenu_callback,
+        app);
 
-    submenu_set_selected_item(app->submenu, scene_manager_get_scene_state(app->scene_manager, Meal_PagerSceneMenu));
+    submenu_set_selected_item(
+        app->submenu, scene_manager_get_scene_state(app->scene_manager, Meal_PagerSceneMenu));
 
     view_dispatcher_switch_to_view(app->view_dispatcher, Meal_PagerViewIdMenu);
 }
@@ -41,12 +52,12 @@ bool meal_pager_scene_menu_on_event(void* context, SceneManagerEvent event) {
                 app->scene_manager, Meal_PagerSceneMenu, SubmenuIndexTransmit);
             scene_manager_next_scene(app->scene_manager, Meal_PagerSceneTransmit);
             return true;
-        } else if (event.event == SubmenuIndexSettings) {
+        } else if(event.event == SubmenuIndexSettings) {
             scene_manager_set_scene_state(
                 app->scene_manager, Meal_PagerSceneMenu, SubmenuIndexSettings);
             scene_manager_next_scene(app->scene_manager, Meal_PagerSceneSettings);
             return true;
-        } else if (event.event == Meal_PagerCustomEventViewTransmitterSendStop) {
+        } else if(event.event == Meal_PagerCustomEventViewTransmitterSendStop) {
             app->state_notifications = SubGhzNotificationStateIDLE;
             subghz_txrx_stop(app->subghz->txrx);
             FURI_LOG_D(TAG, "Stop Event from Menu");

+ 6 - 27
scenes/meal_pager_scene_settings.c

@@ -176,22 +176,14 @@ void meal_pager_scene_settings_on_enter(void* context) {
 
     // First Pager
     item = variable_item_list_add(
-        app->variable_item_list,
-        "First Pager",
-        99,
-        meal_pager_scene_settings_set_first_pager,
-        app);
+        app->variable_item_list, "First Pager", 99, meal_pager_scene_settings_set_first_pager, app);
     variable_item_set_current_value_index(item, app->first_pager);
     snprintf(app->first_pager_char, 20, "%lu", app->first_pager);
     variable_item_set_current_value_text(item, app->first_pager_char);
 
     // Last Pager
     item = variable_item_list_add(
-        app->variable_item_list,
-        "Last Pager",
-        99,
-        meal_pager_scene_settings_set_last_pager,
-        app);
+        app->variable_item_list, "Last Pager", 99, meal_pager_scene_settings_set_last_pager, app);
     variable_item_set_current_value_index(item, app->last_pager);
     snprintf(app->last_pager_char, 20, "%lu", app->last_pager);
     variable_item_set_current_value_text(item, app->last_pager_char);
@@ -200,33 +192,21 @@ void meal_pager_scene_settings_on_enter(void* context) {
 
     // Vibro on/off
     item = variable_item_list_add(
-        app->variable_item_list,
-        "Vibro/Haptic:",
-        2,
-        meal_pager_scene_settings_set_haptic,
-        app);
+        app->variable_item_list, "Vibro/Haptic:", 2, meal_pager_scene_settings_set_haptic, app);
     value_index = value_index_uint32(app->haptic, haptic_value, 2);
     variable_item_set_current_value_index(item, value_index);
     variable_item_set_current_value_text(item, haptic_text[value_index]);
 
     // Sound on/off
     item = variable_item_list_add(
-        app->variable_item_list,
-        "Sound:",
-        2,
-        meal_pager_scene_settings_set_speaker,
-        app);
+        app->variable_item_list, "Sound:", 2, meal_pager_scene_settings_set_speaker, app);
     value_index = value_index_uint32(app->speaker, speaker_value, 2);
     variable_item_set_current_value_index(item, value_index);
     variable_item_set_current_value_text(item, speaker_text[value_index]);
 
     // LED Effects on/off
     item = variable_item_list_add(
-        app->variable_item_list,
-        "LED FX:",
-        2,
-        meal_pager_scene_settings_set_led,
-        app);
+        app->variable_item_list, "LED FX:", 2, meal_pager_scene_settings_set_led, app);
     value_index = value_index_uint32(app->led, led_value, 2);
     variable_item_set_current_value_index(item, value_index);
     variable_item_set_current_value_text(item, led_text[value_index]);
@@ -241,7 +221,7 @@ void meal_pager_scene_settings_on_enter(void* context) {
     value_index = value_index_uint32(app->save_settings, settings_value, 2);
     variable_item_set_current_value_index(item, value_index);
     variable_item_set_current_value_text(item, settings_text[value_index]);
-    
+
     view_dispatcher_switch_to_view(app->view_dispatcher, Meal_PagerViewIdSettings);
 }
 
@@ -250,7 +230,6 @@ bool meal_pager_scene_settings_on_event(void* context, SceneManagerEvent event)
     UNUSED(app);
     bool consumed = false;
     if(event.type == SceneManagerEventTypeCustom) {
-        
     }
     return consumed;
 }

+ 25 - 24
scenes/meal_pager_scene_startscreen.c

@@ -11,40 +11,41 @@ void meal_pager_scene_startscreen_callback(Meal_PagerCustomEvent event, void* co
 void meal_pager_scene_startscreen_on_enter(void* context) {
     furi_assert(context);
     Meal_Pager* app = context;
-    meal_pager_startscreen_set_callback(app->meal_pager_startscreen, meal_pager_scene_startscreen_callback, app);
+    meal_pager_startscreen_set_callback(
+        app->meal_pager_startscreen, meal_pager_scene_startscreen_callback, app);
     view_dispatcher_switch_to_view(app->view_dispatcher, Meal_PagerViewIdStartscreen);
 }
 
 bool meal_pager_scene_startscreen_on_event(void* context, SceneManagerEvent event) {
     Meal_Pager* app = context;
     bool consumed = false;
-    
+
     if(event.type == SceneManagerEventTypeCustom) {
         switch(event.event) {
-            case Meal_PagerCustomEventStartscreenLeft:
-            case Meal_PagerCustomEventStartscreenRight:
-                break;
-            case Meal_PagerCustomEventStartscreenUp:
-            case Meal_PagerCustomEventStartscreenDown:
-                break;
-            case Meal_PagerCustomEventStartscreenOk:
-                scene_manager_next_scene(app->scene_manager, Meal_PagerSceneMenu);
-                consumed = true;
-                break;
-            case Meal_PagerCustomEventStartscreenBack:
-                notification_message(app->notification, &sequence_reset_red);
-                notification_message(app->notification, &sequence_reset_green);
-                notification_message(app->notification, &sequence_reset_blue);
-                if(!scene_manager_search_and_switch_to_previous_scene(
-                    app->scene_manager, Meal_PagerSceneStartscreen)) {
-                        scene_manager_stop(app->scene_manager);
-                        view_dispatcher_stop(app->view_dispatcher);
-                    }
-                consumed = true;
-                break;
+        case Meal_PagerCustomEventStartscreenLeft:
+        case Meal_PagerCustomEventStartscreenRight:
+            break;
+        case Meal_PagerCustomEventStartscreenUp:
+        case Meal_PagerCustomEventStartscreenDown:
+            break;
+        case Meal_PagerCustomEventStartscreenOk:
+            scene_manager_next_scene(app->scene_manager, Meal_PagerSceneMenu);
+            consumed = true;
+            break;
+        case Meal_PagerCustomEventStartscreenBack:
+            notification_message(app->notification, &sequence_reset_red);
+            notification_message(app->notification, &sequence_reset_green);
+            notification_message(app->notification, &sequence_reset_blue);
+            if(!scene_manager_search_and_switch_to_previous_scene(
+                   app->scene_manager, Meal_PagerSceneStartscreen)) {
+                scene_manager_stop(app->scene_manager);
+                view_dispatcher_stop(app->view_dispatcher);
+            }
+            consumed = true;
+            break;
         }
     }
-    
+
     return consumed;
 }
 

+ 39 - 40
scenes/meal_pager_scene_transmit.c

@@ -27,63 +27,62 @@ void meal_pager_scene_transmit_on_enter(void* context) {
     meal_pager_transmit_set_callback(app->meal_pager_transmit, meal_pager_transmit_callback, app);
     view_dispatcher_switch_to_view(app->view_dispatcher, Meal_PagerViewIdTransmit);
     bool generated = false;
-    switch (app->pager_type) {
-        case Meal_PagerPagerTypeT119:
-            generated = meal_pager_retekess_t119_generate_all(app);
-            break;
-        case Meal_PagerPagerTypeTD157:
-            generated = meal_pager_retekess_td157_generate_all(app);
-            break;
-        default:
-            generated = false;
-            break;
+    switch(app->pager_type) {
+    case Meal_PagerPagerTypeT119:
+        generated = meal_pager_retekess_t119_generate_all(app);
+        break;
+    case Meal_PagerPagerTypeTD157:
+        generated = meal_pager_retekess_td157_generate_all(app);
+        break;
+    default:
+        generated = false;
+        break;
     }
-    if (!generated) {
+    if(!generated) {
         FURI_LOG_D(TAG, "Could not generate temp file");
         meal_pager_blink_stop(app);
         return;
     }
     FURI_LOG_D(TAG, "Generated tmp.sub");
     FURI_LOG_D(TAG, "Start Transmitting");
-    if (!app->stop_transmit) {
+    if(!app->stop_transmit) {
         meal_pager_transmit_model_set_sending(app->meal_pager_transmit, 1);
         subghz_send(app);
     }
     dolphin_deed(DolphinDeedSubGhzSend);
 }
 
-
 bool meal_pager_scene_transmit_on_event(void* context, SceneManagerEvent event) {
     Meal_Pager* app = context;
     bool consumed = false;
-    
+
     if(event.type == SceneManagerEventTypeCustom) {
         switch(event.event) {
-            case Meal_PagerCustomEventTransmitLeft:
-            case Meal_PagerCustomEventTransmitRight:
-                break;
-            case Meal_PagerCustomEventTransmitUp:
-            case Meal_PagerCustomEventTransmitDown:
-                break;
-            case Meal_PagerCustomEventTransmitBack:
-                app->stop_transmit = true;
-                app->state_notifications = SubGhzNotificationStateIDLE;
-                meal_pager_blink_stop(app);
-                if(!scene_manager_search_and_switch_to_previous_scene(
-                    app->scene_manager, Meal_PagerSceneMenu)) {
-                        scene_manager_stop(app->scene_manager);
-                        view_dispatcher_stop(app->view_dispatcher);
-                    }
-                consumed = true;
-                break;
-            case Meal_PagerCustomEventViewTransmitterSendStop:
-                app->state_notifications = SubGhzNotificationStateIDLE;
-                subghz_txrx_stop(app->subghz->txrx);
-                meal_pager_blink_stop(app);
-                meal_pager_transmit_model_set_sending(app->meal_pager_transmit, 0);
-                scene_manager_next_scene(app->scene_manager, Meal_PagerSceneMenu);
-                FURI_LOG_D(TAG, "Stop Event");
-                break;
+        case Meal_PagerCustomEventTransmitLeft:
+        case Meal_PagerCustomEventTransmitRight:
+            break;
+        case Meal_PagerCustomEventTransmitUp:
+        case Meal_PagerCustomEventTransmitDown:
+            break;
+        case Meal_PagerCustomEventTransmitBack:
+            app->stop_transmit = true;
+            app->state_notifications = SubGhzNotificationStateIDLE;
+            meal_pager_blink_stop(app);
+            if(!scene_manager_search_and_switch_to_previous_scene(
+                   app->scene_manager, Meal_PagerSceneMenu)) {
+                scene_manager_stop(app->scene_manager);
+                view_dispatcher_stop(app->view_dispatcher);
+            }
+            consumed = true;
+            break;
+        case Meal_PagerCustomEventViewTransmitterSendStop:
+            app->state_notifications = SubGhzNotificationStateIDLE;
+            subghz_txrx_stop(app->subghz->txrx);
+            meal_pager_blink_stop(app);
+            meal_pager_transmit_model_set_sending(app->meal_pager_transmit, 0);
+            scene_manager_next_scene(app->scene_manager, Meal_PagerSceneMenu);
+            FURI_LOG_D(TAG, "Stop Event");
+            break;
         }
     } else if(event.type == SceneManagerEventTypeTick) {
         if(app->state_notifications == SubGhzNotificationStateTx) {
@@ -91,7 +90,7 @@ bool meal_pager_scene_transmit_on_event(void* context, SceneManagerEvent event)
         }
         return true;
     }
-    
+
     return consumed;
 }
 

+ 37 - 50
views/meal_pager_startscreen.c

@@ -12,7 +12,6 @@ struct Meal_PagerStartscreen {
     void* context;
 };
 
-
 typedef struct {
     int some_value;
 } Meal_PagerStartscreenModel;
@@ -32,10 +31,10 @@ void meal_pager_startscreen_draw(Canvas* canvas, Meal_PagerStartscreenModel* mod
     canvas_clear(canvas);
     canvas_set_color(canvas, ColorBlack);
     canvas_set_font(canvas, FontPrimary);
-    canvas_draw_str_aligned(canvas, 64, 10, AlignCenter, AlignTop, "Restaurant Pager"); 
+    canvas_draw_str_aligned(canvas, 64, 10, AlignCenter, AlignTop, "Restaurant Pager");
     canvas_set_font(canvas, FontSecondary);
-    canvas_draw_str_aligned(canvas, 64, 22, AlignCenter, AlignTop, "Trigger Tool"); 
-    elements_button_center(canvas, "Start"); 
+    canvas_draw_str_aligned(canvas, 64, 22, AlignCenter, AlignTop, "Trigger Tool");
+    elements_button_center(canvas, "Start");
 }
 
 static void meal_pager_startscreen_model_init(Meal_PagerStartscreenModel* const model) {
@@ -43,36 +42,36 @@ static void meal_pager_startscreen_model_init(Meal_PagerStartscreenModel* const
 }
 
 bool meal_pager_startscreen_input(InputEvent* event, void* context) {
-    furi_assert(context); 
+    furi_assert(context);
     Meal_PagerStartscreen* instance = context;
-    if (event->type == InputTypeRelease) {
+    if(event->type == InputTypeRelease) {
         switch(event->key) {
-            case InputKeyBack:
-                with_view_model(
-                    instance->view,
-                    Meal_PagerStartscreenModel * model,
-                    {
-                        UNUSED(model);
-                        instance->callback(Meal_PagerCustomEventStartscreenBack, instance->context);
-                    },
-                    true);
-                break;
-            case InputKeyLeft:
-            case InputKeyRight:
-            case InputKeyUp:
-            case InputKeyDown:
-            case InputKeyOk:
-                with_view_model(
-                    instance->view,
-                    Meal_PagerStartscreenModel* model,
-                    {
-                        UNUSED(model);
-                        instance->callback(Meal_PagerCustomEventStartscreenOk, instance->context);
-                    },
-                    true);
-                break;
-            case InputKeyMAX:
-                break;
+        case InputKeyBack:
+            with_view_model(
+                instance->view,
+                Meal_PagerStartscreenModel * model,
+                {
+                    UNUSED(model);
+                    instance->callback(Meal_PagerCustomEventStartscreenBack, instance->context);
+                },
+                true);
+            break;
+        case InputKeyLeft:
+        case InputKeyRight:
+        case InputKeyUp:
+        case InputKeyDown:
+        case InputKeyOk:
+            with_view_model(
+                instance->view,
+                Meal_PagerStartscreenModel * model,
+                {
+                    UNUSED(model);
+                    instance->callback(Meal_PagerCustomEventStartscreenOk, instance->context);
+                },
+                true);
+            break;
+        case InputKeyMAX:
+            break;
         }
     }
     return true;
@@ -88,11 +87,8 @@ void meal_pager_startscreen_enter(void* context) {
     with_view_model(
         instance->view,
         Meal_PagerStartscreenModel * model,
-        {
-            meal_pager_startscreen_model_init(model);
-        },
-        true
-    );
+        { meal_pager_startscreen_model_init(model); },
+        true);
 }
 
 Meal_PagerStartscreen* meal_pager_startscreen_alloc() {
@@ -108,12 +104,9 @@ Meal_PagerStartscreen* meal_pager_startscreen_alloc() {
     with_view_model(
         instance->view,
         Meal_PagerStartscreenModel * model,
-        {
-            meal_pager_startscreen_model_init(model);
-        },
-        true
-    );
-    
+        { meal_pager_startscreen_model_init(model); },
+        true);
+
     return instance;
 }
 
@@ -121,12 +114,7 @@ void meal_pager_startscreen_free(Meal_PagerStartscreen* instance) {
     furi_assert(instance);
 
     with_view_model(
-        instance->view,
-        Meal_PagerStartscreenModel * model,
-        {
-            UNUSED(model);
-        },
-        true);
+        instance->view, Meal_PagerStartscreenModel * model, { UNUSED(model); }, true);
     view_free(instance->view);
     free(instance);
 }
@@ -135,4 +123,3 @@ View* meal_pager_startscreen_get_view(Meal_PagerStartscreen* instance) {
     furi_assert(instance);
     return instance->view;
 }
-

+ 34 - 67
views/meal_pager_transmit.c

@@ -18,7 +18,6 @@ struct Meal_PagerTransmit {
     void* context;
 };
 
-
 typedef struct {
     uint32_t pager_type;
     uint32_t station;
@@ -46,12 +45,13 @@ void meal_pager_transmit_draw(Canvas* canvas, Meal_PagerTransmitModel* model) {
     char pagerText[20] = "";
     snprintf(stationText, 20, "Station: %lu", model->station);
     snprintf(pagerText, 20, "Pager: %lu", model->pager);
-    canvas_draw_str_aligned(canvas, 0, 10, AlignLeft, AlignTop, pager_type_text_long[model->pager_type]); 
+    canvas_draw_str_aligned(
+        canvas, 0, 10, AlignLeft, AlignTop, pager_type_text_long[model->pager_type]);
     canvas_set_font(canvas, FontSecondary);
-    if (model->sending == 0) {
+    if(model->sending == 0) {
         canvas_draw_str_aligned(canvas, 0, 22, AlignLeft, AlignTop, "Generating Data");
-        canvas_draw_str_aligned(canvas, 0, 32, AlignLeft, AlignTop, stationText); 
-        canvas_draw_str_aligned(canvas, 0, 42, AlignLeft, AlignTop, pagerText); 
+        canvas_draw_str_aligned(canvas, 0, 32, AlignLeft, AlignTop, stationText);
+        canvas_draw_str_aligned(canvas, 0, 42, AlignLeft, AlignTop, pagerText);
     } else {
         canvas_draw_str_aligned(canvas, 0, 22, AlignLeft, AlignTop, "Sending Data");
     }
@@ -78,12 +78,7 @@ void meal_pager_transmit_model_set_station(Meal_PagerTransmit* instance, uint32_
     model->station = station;
     view_commit_model(instance->view, false);
     with_view_model(
-        instance->view,
-        Meal_PagerTransmitModel* model,
-        {
-            UNUSED(model);
-        },
-        true);
+        instance->view, Meal_PagerTransmitModel * model, { UNUSED(model); }, true);
 }
 
 void meal_pager_transmit_model_set_sending(Meal_PagerTransmit* instance, uint32_t value) {
@@ -92,12 +87,7 @@ void meal_pager_transmit_model_set_sending(Meal_PagerTransmit* instance, uint32_
     model->sending = value;
     view_commit_model(instance->view, false);
     with_view_model(
-        instance->view,
-        Meal_PagerTransmitModel* model,
-        {
-            UNUSED(model);
-        },
-        true);
+        instance->view, Meal_PagerTransmitModel * model, { UNUSED(model); }, true);
 }
 
 void meal_pager_transmit_model_set_pager(Meal_PagerTransmit* instance, uint32_t pager) {
@@ -106,44 +96,34 @@ void meal_pager_transmit_model_set_pager(Meal_PagerTransmit* instance, uint32_t
     model->pager = pager;
     view_commit_model(instance->view, false);
     with_view_model(
-        instance->view,
-        Meal_PagerTransmitModel* model,
-        {
-            UNUSED(model);
-        },
-        true);
+        instance->view, Meal_PagerTransmitModel * model, { UNUSED(model); }, true);
 }
 
 bool meal_pager_transmit_input(InputEvent* event, void* context) {
-    furi_assert(context); 
+    furi_assert(context);
     Meal_PagerTransmit* instance = context;
-    if (event->type == InputTypeRelease) {
+    if(event->type == InputTypeRelease) {
         switch(event->key) {
-            case InputKeyBack:
-                with_view_model(
-                    instance->view,
-                    Meal_PagerTransmitModel * model,
-                    {
-                        UNUSED(model);
-                        instance->callback(Meal_PagerCustomEventTransmitBack, instance->context);
-                    },
-                    true);
-                break;
-            case InputKeyLeft:
-            case InputKeyRight:
-            case InputKeyUp:
-            case InputKeyDown:
-            case InputKeyOk:
-                with_view_model(
-                    instance->view,
-                    Meal_PagerTransmitModel* model,
-                    {
-                        UNUSED(model);
-                    },
-                    true);
-                break;
-            case InputKeyMAX:
-                break;
+        case InputKeyBack:
+            with_view_model(
+                instance->view,
+                Meal_PagerTransmitModel * model,
+                {
+                    UNUSED(model);
+                    instance->callback(Meal_PagerCustomEventTransmitBack, instance->context);
+                },
+                true);
+            break;
+        case InputKeyLeft:
+        case InputKeyRight:
+        case InputKeyUp:
+        case InputKeyDown:
+        case InputKeyOk:
+            with_view_model(
+                instance->view, Meal_PagerTransmitModel * model, { UNUSED(model); }, true);
+            break;
+        case InputKeyMAX:
+            break;
         }
     }
     return true;
@@ -159,13 +139,7 @@ void meal_pager_transmit_enter(void* context) {
     furi_assert(context);
     Meal_PagerTransmit* instance = (Meal_PagerTransmit*)context;
     with_view_model(
-        instance->view,
-        Meal_PagerTransmitModel * model,
-        {
-            UNUSED(model);
-        },
-        true
-    );
+        instance->view, Meal_PagerTransmitModel * model, { UNUSED(model); }, true);
 }
 
 Meal_PagerTransmit* meal_pager_transmit_alloc(void* context) {
@@ -187,9 +161,8 @@ Meal_PagerTransmit* meal_pager_transmit_alloc(void* context) {
             meal_pager_transmit_model_init(model);
             //meal_pager_transmit_model_set_type(instance, 0);
         },
-        true
-    );
-    
+        true);
+
     return instance;
 }
 
@@ -198,12 +171,7 @@ void meal_pager_transmit_free(Meal_PagerTransmit* instance) {
     furi_assert(instance);
 
     with_view_model(
-        instance->view,
-        Meal_PagerTransmitModel * model,
-        {
-            UNUSED(model);
-        },
-        true);
+        instance->view, Meal_PagerTransmitModel * model, { UNUSED(model); }, true);
     view_free(instance->view);
     free(instance);
 }
@@ -212,4 +180,3 @@ View* meal_pager_transmit_get_view(Meal_PagerTransmit* instance) {
     furi_assert(instance);
     return instance->view;
 }
-

+ 0 - 1
views/meal_pager_transmit.h

@@ -17,7 +17,6 @@ void meal_pager_transmit_model_set_type(Meal_PagerTransmit* instance, uint32_t t
 void meal_pager_transmit_model_set_station(Meal_PagerTransmit* instance, uint32_t station);
 void meal_pager_transmit_model_set_pager(Meal_PagerTransmit* instance, uint32_t pager);
 
-
 View* meal_pager_transmit_get_view(Meal_PagerTransmit* meal_pager_static);
 
 Meal_PagerTransmit* meal_pager_transmit_alloc();