Explorar el Código

Signal Generator app: UI update (#1829)

* Signal Generator: UI update
* icons renamed

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Nikolay Minaylov hace 3 años
padre
commit
1a1f711897

+ 16 - 3
applications/plugins/signal_generator/scenes/signal_gen_scene_mco.c

@@ -1,12 +1,17 @@
 #include "../signal_gen_app_i.h"
 #include "../signal_gen_app_i.h"
 
 
 typedef enum {
 typedef enum {
+    LineIndexPin,
     LineIndexSource,
     LineIndexSource,
     LineIndexDivision,
     LineIndexDivision,
 } LineIndex;
 } LineIndex;
 
 
+static const char* const mco_pin_names[] = {
+    "13(Tx)",
+};
+
 static const char* const mco_source_names[] = {
 static const char* const mco_source_names[] = {
-    "32768",
+    "32768Hz",
     "64MHz",
     "64MHz",
     "~100K",
     "~100K",
     "~200K",
     "~200K",
@@ -81,14 +86,22 @@ void signal_gen_scene_mco_on_enter(void* context) {
 
 
     VariableItem* item;
     VariableItem* item;
 
 
+    item = variable_item_list_add(var_item_list, "GPIO Pin", COUNT_OF(mco_pin_names), NULL, NULL);
+    variable_item_set_current_value_index(item, 0);
+    variable_item_set_current_value_text(item, mco_pin_names[0]);
+
     item = variable_item_list_add(
     item = variable_item_list_add(
-        var_item_list, "Source", COUNT_OF(mco_source_names), mco_source_list_change_callback, app);
+        var_item_list,
+        "Frequency",
+        COUNT_OF(mco_source_names),
+        mco_source_list_change_callback,
+        app);
     variable_item_set_current_value_index(item, 0);
     variable_item_set_current_value_index(item, 0);
     variable_item_set_current_value_text(item, mco_source_names[0]);
     variable_item_set_current_value_text(item, mco_source_names[0]);
 
 
     item = variable_item_list_add(
     item = variable_item_list_add(
         var_item_list,
         var_item_list,
-        "Division",
+        "Freq. divider",
         COUNT_OF(mco_divisor_names),
         COUNT_OF(mco_divisor_names),
         mco_divisor_list_change_callback,
         mco_divisor_list_change_callback,
         app);
         app);

+ 2 - 2
applications/plugins/signal_generator/scenes/signal_gen_scene_start.c

@@ -16,10 +16,10 @@ void signal_gen_scene_start_on_enter(void* context) {
     Submenu* submenu = app->submenu;
     Submenu* submenu = app->submenu;
 
 
     submenu_add_item(
     submenu_add_item(
-        submenu, "PWM", SubmenuIndexPwm, signal_gen_scene_start_submenu_callback, app);
+        submenu, "PWM Generator", SubmenuIndexPwm, signal_gen_scene_start_submenu_callback, app);
     submenu_add_item(
     submenu_add_item(
         submenu,
         submenu,
-        "Clock Output",
+        "Clock Generator",
         SubmenuIndexClockOutput,
         SubmenuIndexClockOutput,
         signal_gen_scene_start_submenu_callback,
         signal_gen_scene_start_submenu_callback,
         app);
         app);

+ 8 - 8
applications/plugins/signal_generator/views/signal_gen_pwm.c

@@ -9,7 +9,7 @@ typedef enum {
     LineIndexTotalCount
     LineIndexTotalCount
 } LineIndex;
 } LineIndex;
 
 
-static const char* const pwm_ch_names[] = {"TIM1(2)", "LPTIM2(4)"};
+static const char* const pwm_ch_names[] = {"2(A7)", "4(A4)"};
 
 
 struct SignalGenPwm {
 struct SignalGenPwm {
     View* view;
     View* view;
@@ -31,8 +31,8 @@ typedef struct {
 #define ITEM_H 64 / 3
 #define ITEM_H 64 / 3
 #define ITEM_W 128
 #define ITEM_W 128
 
 
-#define VALUE_X 95
-#define VALUE_W 55
+#define VALUE_X 100
+#define VALUE_W 45
 
 
 #define FREQ_VALUE_X 62
 #define FREQ_VALUE_X 62
 #define FREQ_MAX 1000000UL
 #define FREQ_MAX 1000000UL
@@ -126,11 +126,11 @@ static void signal_gen_pwm_draw_callback(Canvas* canvas, void* _model) {
 
 
     for(uint8_t line = 0; line < LineIndexTotalCount; line++) {
     for(uint8_t line = 0; line < LineIndexTotalCount; line++) {
         if(line == LineIndexChannel) {
         if(line == LineIndexChannel) {
-            line_label = "PWM Channel";
+            line_label = "GPIO Pin";
         } else if(line == LineIndexFrequency) {
         } else if(line == LineIndexFrequency) {
             line_label = "Frequency";
             line_label = "Frequency";
         } else if(line == LineIndexDuty) {
         } else if(line == LineIndexDuty) {
-            line_label = "Duty Cycle";
+            line_label = "Pulse width";
         }
         }
 
 
         canvas_set_color(canvas, ColorBlack);
         canvas_set_color(canvas, ColorBlack);
@@ -162,9 +162,9 @@ static void signal_gen_pwm_draw_callback(Canvas* canvas, void* _model) {
             canvas_set_font(canvas, FontSecondary);
             canvas_set_font(canvas, FontSecondary);
 
 
             if(model->edit_mode) {
             if(model->edit_mode) {
-                uint8_t icon_x = (FREQ_VALUE_X - 1) + (FREQ_DIGITS_NB - model->edit_digit - 1) * 6;
-                canvas_draw_icon(canvas, icon_x, text_y - 9, &I_SmallArrowUp_4x7);
-                canvas_draw_icon(canvas, icon_x, text_y + 4, &I_SmallArrowDown_4x7);
+                uint8_t icon_x = (FREQ_VALUE_X) + (FREQ_DIGITS_NB - model->edit_digit - 1) * 6;
+                canvas_draw_icon(canvas, icon_x, text_y - 9, &I_SmallArrowUp_3x5);
+                canvas_draw_icon(canvas, icon_x, text_y + 5, &I_SmallArrowDown_3x5);
             }
             }
         } else if(line == LineIndexDuty) {
         } else if(line == LineIndexDuty) {
             snprintf(val_text, sizeof(val_text), "%d%%", model->duty);
             snprintf(val_text, sizeof(val_text), "%d%%", model->duty);

BIN
assets/icons/Interface/SmallArrowDown_3x5.png


BIN
assets/icons/Interface/SmallArrowUp_3x5.png


+ 3 - 1
firmware/targets/f7/api_symbols.csv

@@ -1,5 +1,5 @@
 entry,status,name,type,params
 entry,status,name,type,params
-Version,+,2.1,,
+Version,+,2.2,,
 Header,+,applications/services/bt/bt_service/bt.h,,
 Header,+,applications/services/bt/bt_service/bt.h,,
 Header,+,applications/services/cli/cli.h,,
 Header,+,applications/services/cli/cli.h,,
 Header,+,applications/services/cli/cli_vcp.h,,
 Header,+,applications/services/cli/cli_vcp.h,,
@@ -2739,7 +2739,9 @@ Variable,+,I_SDQuestion_35x43,const Icon,
 Variable,+,I_SDcardFail_11x8,const Icon,
 Variable,+,I_SDcardFail_11x8,const Icon,
 Variable,+,I_SDcardMounted_11x8,const Icon,
 Variable,+,I_SDcardMounted_11x8,const Icon,
 Variable,+,I_Scanning_123x52,const Icon,
 Variable,+,I_Scanning_123x52,const Icon,
+Variable,+,I_SmallArrowDown_3x5,const Icon,
 Variable,+,I_SmallArrowDown_4x7,const Icon,
 Variable,+,I_SmallArrowDown_4x7,const Icon,
+Variable,+,I_SmallArrowUp_3x5,const Icon,
 Variable,+,I_SmallArrowUp_4x7,const Icon,
 Variable,+,I_SmallArrowUp_4x7,const Icon,
 Variable,+,I_Smile_18x18,const Icon,
 Variable,+,I_Smile_18x18,const Icon,
 Variable,+,I_Space_65x18,const Icon,
 Variable,+,I_Space_65x18,const Icon,