Signal Generator app: UI update (#1829)
* Signal Generator: UI update * icons renamed Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
parent
4000f0cac5
commit
1a1f711897
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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_X 100
|
||||||
#define VALUE_W 55
|
#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;
|
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_4x7);
|
canvas_draw_icon(canvas, icon_x, text_y - 9, &I_SmallArrowUp_3x5);
|
||||||
canvas_draw_icon(canvas, icon_x, text_y + 4, &I_SmallArrowDown_4x7);
|
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
Normal file
BIN
assets/icons/Interface/SmallArrowDown_3x5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
BIN
assets/icons/Interface/SmallArrowUp_3x5.png
Normal file
BIN
assets/icons/Interface/SmallArrowUp_3x5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user