|
@@ -10,19 +10,20 @@
|
|
|
|
|
|
|
|
TamaApp* g_ctx;
|
|
TamaApp* g_ctx;
|
|
|
FuriMutex* g_state_mutex;
|
|
FuriMutex* g_state_mutex;
|
|
|
-int layout_mode = 0; // 0: landscape; 1: portrait => 2: portrait <= 3: big landscape
|
|
|
|
|
|
|
+uint8_t layout_mode =
|
|
|
|
|
+ 1; // 0: landscape (small); 1: landscape (big); 2: landscape (full); 3: portrait => 4: portrait <=
|
|
|
bool in_menu = false;
|
|
bool in_menu = false;
|
|
|
|
|
|
|
|
-int speed = 1;
|
|
|
|
|
-const int speed_options[] = {1, 2, 4};
|
|
|
|
|
-const int min_speed = 1;
|
|
|
|
|
-const int max_speed = 4;
|
|
|
|
|
-const int speed_options_size = 3;
|
|
|
|
|
|
|
+uint8_t speed = 1;
|
|
|
|
|
+const uint8_t speed_options[] = {1, 2, 4};
|
|
|
|
|
+const uint8_t min_speed = 1;
|
|
|
|
|
+const uint8_t max_speed = 4;
|
|
|
|
|
+const uint8_t speed_options_size = 3;
|
|
|
// = sizeof(speed_options) / sizeof(speed_options[0]);
|
|
// = sizeof(speed_options) / sizeof(speed_options[0]);
|
|
|
|
|
|
|
|
-int menu_cursor = 0; // 0: A+C; 1: layout mode; 2: speed
|
|
|
|
|
-const int menu_items = 4; // 3: Close menu, Save & Exit
|
|
|
|
|
-bool sub_menu_default = true;
|
|
|
|
|
|
|
+uint8_t menu_cursor = 3; // 0: A+C; 1: layout mode; 2: speed
|
|
|
|
|
+const uint8_t menu_items = 4; // 3: Close menu, Save & Exit
|
|
|
|
|
+uint8_t sub_menu_default = 0;
|
|
|
|
|
|
|
|
static const Icon* icons_list[] = {
|
|
static const Icon* icons_list[] = {
|
|
|
&I_icon_0,
|
|
&I_icon_0,
|
|
@@ -36,20 +37,19 @@ static const Icon* icons_list[] = {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// static void draw_landscape(Canvas* const canvas, void* cb_ctx)
|
|
// static void draw_landscape(Canvas* const canvas, void* cb_ctx)
|
|
|
-static void draw_landscape(Canvas* const canvas, int scale) {
|
|
|
|
|
|
|
+static void draw_landscape(Canvas* const canvas, uint8_t scale) {
|
|
|
// FURI_LOG_D(TAG, "Drawing frame");
|
|
// FURI_LOG_D(TAG, "Drawing frame");
|
|
|
// Calculate positioning
|
|
// Calculate positioning
|
|
|
uint16_t canv_width = canvas_width(canvas);
|
|
uint16_t canv_width = canvas_width(canvas);
|
|
|
uint16_t canv_height = canvas_height(canvas);
|
|
uint16_t canv_height = canvas_height(canvas);
|
|
|
- uint16_t lcd_matrix_scaled_width = 32 * TAMA_SCREEN_SCALE_FACTOR * scale;
|
|
|
|
|
- uint16_t lcd_matrix_scaled_height = 16 * TAMA_SCREEN_SCALE_FACTOR * scale;
|
|
|
|
|
- // uint16_t lcd_matrix_top = 0;
|
|
|
|
|
- uint16_t lcd_matrix_top = (canv_height - lcd_matrix_scaled_height) / 2;
|
|
|
|
|
|
|
+ uint16_t lcd_matrix_scaled_width = 32 * scale;
|
|
|
|
|
+ uint16_t lcd_matrix_scaled_height = 16 * scale;
|
|
|
|
|
+ uint16_t lcd_matrix_top = (canv_height - lcd_matrix_scaled_height) / 2; // 0
|
|
|
uint16_t lcd_matrix_left = (canv_width - lcd_matrix_scaled_width) / 2;
|
|
uint16_t lcd_matrix_left = (canv_width - lcd_matrix_scaled_width) / 2;
|
|
|
|
|
|
|
|
- uint16_t lcd_icon_upper_top = lcd_matrix_top - TAMA_LCD_ICON_SIZE - TAMA_LCD_ICON_MARGIN;
|
|
|
|
|
|
|
+ // uint16_t lcd_icon_upper_top = lcd_matrix_top - TAMA_LCD_ICON_SIZE - TAMA_LCD_ICON_MARGIN;
|
|
|
|
|
+ // uint16_t lcd_icon_lower_top = lcd_matrix_top + lcd_matrix_scaled_height + TAMA_LCD_ICON_MARGIN;
|
|
|
uint16_t lcd_icon_upper_left = lcd_matrix_left;
|
|
uint16_t lcd_icon_upper_left = lcd_matrix_left;
|
|
|
- uint16_t lcd_icon_lower_top = lcd_matrix_top + lcd_matrix_scaled_height + TAMA_LCD_ICON_MARGIN;
|
|
|
|
|
uint16_t lcd_icon_lower_left = lcd_matrix_left;
|
|
uint16_t lcd_icon_lower_left = lcd_matrix_left;
|
|
|
uint16_t lcd_icon_spacing_horiz =
|
|
uint16_t lcd_icon_spacing_horiz =
|
|
|
(lcd_matrix_scaled_width - (4 * TAMA_LCD_ICON_SIZE)) / 3 + TAMA_LCD_ICON_SIZE;
|
|
(lcd_matrix_scaled_width - (4 * TAMA_LCD_ICON_SIZE)) / 3 + TAMA_LCD_ICON_SIZE;
|
|
@@ -60,50 +60,53 @@ static void draw_landscape(Canvas* const canvas, int scale) {
|
|
|
uint32_t row_pixels = g_ctx->framebuffer[row];
|
|
uint32_t row_pixels = g_ctx->framebuffer[row];
|
|
|
for(uint8_t col = 0; col < 32; ++col) {
|
|
for(uint8_t col = 0; col < 32; ++col) {
|
|
|
if(row_pixels & 1) {
|
|
if(row_pixels & 1) {
|
|
|
- canvas_draw_box(
|
|
|
|
|
- canvas,
|
|
|
|
|
- x,
|
|
|
|
|
- y,
|
|
|
|
|
- TAMA_SCREEN_SCALE_FACTOR * scale,
|
|
|
|
|
- TAMA_SCREEN_SCALE_FACTOR * scale);
|
|
|
|
|
|
|
+ canvas_draw_box(canvas, x, y, scale, scale);
|
|
|
}
|
|
}
|
|
|
- x += TAMA_SCREEN_SCALE_FACTOR * scale;
|
|
|
|
|
|
|
+ x += scale;
|
|
|
row_pixels >>= 1;
|
|
row_pixels >>= 1;
|
|
|
}
|
|
}
|
|
|
- y += TAMA_SCREEN_SCALE_FACTOR * scale;
|
|
|
|
|
|
|
+ y += scale;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Start drawing icons
|
|
// Start drawing icons
|
|
|
uint8_t lcd_icons = g_ctx->icons;
|
|
uint8_t lcd_icons = g_ctx->icons;
|
|
|
|
|
|
|
|
// Draw top icons
|
|
// Draw top icons
|
|
|
- if(scale == 1)
|
|
|
|
|
- y = lcd_icon_upper_top;
|
|
|
|
|
- else
|
|
|
|
|
- y = 0;
|
|
|
|
|
- // y = 64 - TAMA_LCD_ICON_SIZE;
|
|
|
|
|
|
|
+ y = 0;
|
|
|
uint16_t x_ic = lcd_icon_upper_left;
|
|
uint16_t x_ic = lcd_icon_upper_left;
|
|
|
for(uint8_t i = 0; i < 4; ++i) {
|
|
for(uint8_t i = 0; i < 4; ++i) {
|
|
|
if(lcd_icons & 1) {
|
|
if(lcd_icons & 1) {
|
|
|
canvas_draw_icon(canvas, x_ic, y, icons_list[i]);
|
|
canvas_draw_icon(canvas, x_ic, y, icons_list[i]);
|
|
|
}
|
|
}
|
|
|
// x_ic += TAMA_LCD_ICON_SIZE + 4;
|
|
// x_ic += TAMA_LCD_ICON_SIZE + 4;
|
|
|
|
|
+ // if(scale == 3) {
|
|
|
|
|
+ // y += 16;
|
|
|
|
|
+ // } else {
|
|
|
x_ic += lcd_icon_spacing_horiz;
|
|
x_ic += lcd_icon_spacing_horiz;
|
|
|
|
|
+ // }
|
|
|
lcd_icons >>= 1;
|
|
lcd_icons >>= 1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Draw bottom icons
|
|
// Draw bottom icons
|
|
|
- if(scale == 1)
|
|
|
|
|
- y = lcd_icon_lower_top;
|
|
|
|
|
- else
|
|
|
|
|
- y = 64 - TAMA_LCD_ICON_SIZE;
|
|
|
|
|
|
|
+ y = 64 - TAMA_LCD_ICON_SIZE;
|
|
|
|
|
+ // if(scale == 3) {
|
|
|
|
|
+ // y = 0;
|
|
|
|
|
+ // x_ic = 128 - TAMA_LCD_ICON_SIZE;
|
|
|
|
|
+ // x_ic = 0;
|
|
|
|
|
+ // } else {
|
|
|
|
|
+ // y = 64 - TAMA_LCD_ICON_SIZE;
|
|
|
x_ic = lcd_icon_lower_left;
|
|
x_ic = lcd_icon_lower_left;
|
|
|
|
|
+ // }
|
|
|
for(uint8_t i = 4; i < 8; ++i) {
|
|
for(uint8_t i = 4; i < 8; ++i) {
|
|
|
// canvas_draw_frame(canvas, x_ic, y, TAMA_LCD_ICON_SIZE, TAMA_LCD_ICON_SIZE);
|
|
// canvas_draw_frame(canvas, x_ic, y, TAMA_LCD_ICON_SIZE, TAMA_LCD_ICON_SIZE);
|
|
|
if(lcd_icons & 1) {
|
|
if(lcd_icons & 1) {
|
|
|
canvas_draw_icon(canvas, x_ic, y, icons_list[i]);
|
|
canvas_draw_icon(canvas, x_ic, y, icons_list[i]);
|
|
|
}
|
|
}
|
|
|
|
|
+ // if(scale == 3) {
|
|
|
|
|
+ // y += 16;
|
|
|
|
|
+ // } else {
|
|
|
x_ic += lcd_icon_spacing_horiz;
|
|
x_ic += lcd_icon_spacing_horiz;
|
|
|
|
|
+ // }
|
|
|
lcd_icons >>= 1;
|
|
lcd_icons >>= 1;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -250,9 +253,11 @@ static void draw_menu(Canvas* const canvas) {
|
|
|
canvas_draw_triangle(canvas, 4, 36, 6, 6, CanvasDirectionLeftToRight);
|
|
canvas_draw_triangle(canvas, 4, 36, 6, 6, CanvasDirectionLeftToRight);
|
|
|
break;
|
|
break;
|
|
|
case menu_items - 1:
|
|
case menu_items - 1:
|
|
|
- if(sub_menu_default) {
|
|
|
|
|
|
|
+ if(sub_menu_default == 0) {
|
|
|
canvas_draw_triangle(canvas, 4, 56, 6, 6, CanvasDirectionLeftToRight);
|
|
canvas_draw_triangle(canvas, 4, 56, 6, 6, CanvasDirectionLeftToRight);
|
|
|
- } else {
|
|
|
|
|
|
|
+ } else if(sub_menu_default == 1) {
|
|
|
|
|
+ canvas_draw_triangle(canvas, 36, 56, 6, 6, CanvasDirectionLeftToRight);
|
|
|
|
|
+ } else if(sub_menu_default == 2) {
|
|
|
canvas_draw_triangle(canvas, 67, 56, 6, 6, CanvasDirectionLeftToRight);
|
|
canvas_draw_triangle(canvas, 67, 56, 6, 6, CanvasDirectionLeftToRight);
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
@@ -260,19 +265,22 @@ static void draw_menu(Canvas* const canvas) {
|
|
|
canvas_draw_str(canvas, 12, 20, "A+C (mute/change time)");
|
|
canvas_draw_str(canvas, 12, 20, "A+C (mute/change time)");
|
|
|
switch(layout_mode) {
|
|
switch(layout_mode) {
|
|
|
case 0:
|
|
case 0:
|
|
|
- canvas_draw_str(canvas, 12, 30, "Orientation: Landscape");
|
|
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 30, "Layout: Landscape (small)");
|
|
|
break;
|
|
break;
|
|
|
case 1:
|
|
case 1:
|
|
|
- canvas_draw_str(canvas, 12, 30, "Orientation: Portrait =>");
|
|
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 30, "Layout: Landscape (big)");
|
|
|
break;
|
|
break;
|
|
|
case 2:
|
|
case 2:
|
|
|
- canvas_draw_str(canvas, 12, 30, "Orientation: Portrait <=");
|
|
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 30, "Layout: Landscape (full)");
|
|
|
break;
|
|
break;
|
|
|
case 3:
|
|
case 3:
|
|
|
- canvas_draw_str(canvas, 12, 30, "Orientation: Big Landscape");
|
|
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 30, "Layout: Portrait =>");
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 4:
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 30, "Layout: Portrait <=");
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
- canvas_draw_str(canvas, 12, 30, "Orientation: ???");
|
|
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 30, "Layout: ???");
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
switch(speed) { // match with speed_options
|
|
switch(speed) { // match with speed_options
|
|
@@ -298,7 +306,8 @@ static void draw_menu(Canvas* const canvas) {
|
|
|
canvas_draw_str(canvas, 12, 40, "Speed ??x");
|
|
canvas_draw_str(canvas, 12, 40, "Speed ??x");
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
- canvas_draw_str(canvas, 12, 60, "Close menu");
|
|
|
|
|
|
|
+ canvas_draw_str(canvas, 12, 60, "Close");
|
|
|
|
|
+ canvas_draw_str(canvas, 44, 60, "Save");
|
|
|
canvas_draw_str(canvas, 75, 60, "Save & Exit");
|
|
canvas_draw_str(canvas, 75, 60, "Save & Exit");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -355,16 +364,19 @@ static void tama_p1_draw_callback(Canvas* const canvas, void* cb_ctx) {
|
|
|
} else {
|
|
} else {
|
|
|
switch(layout_mode) {
|
|
switch(layout_mode) {
|
|
|
case 0:
|
|
case 0:
|
|
|
- draw_landscape(canvas, 1);
|
|
|
|
|
|
|
+ draw_landscape(canvas, TAMA_SCREEN_SCALE_FACTOR); // 2
|
|
|
break;
|
|
break;
|
|
|
case 1:
|
|
case 1:
|
|
|
- draw_portrait_right(canvas);
|
|
|
|
|
|
|
+ draw_landscape(canvas, 3);
|
|
|
break;
|
|
break;
|
|
|
case 2:
|
|
case 2:
|
|
|
- draw_portrait_left(canvas);
|
|
|
|
|
|
|
+ draw_landscape(canvas, 4);
|
|
|
break;
|
|
break;
|
|
|
case 3:
|
|
case 3:
|
|
|
- draw_landscape(canvas, 2);
|
|
|
|
|
|
|
+ draw_portrait_right(canvas);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 4:
|
|
|
|
|
+ draw_portrait_left(canvas);
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
break;
|
|
break;
|
|
@@ -756,12 +768,12 @@ int32_t tama_p1_app(void* p) {
|
|
|
if(menu_cursor > 0) {
|
|
if(menu_cursor > 0) {
|
|
|
menu_cursor -= 1;
|
|
menu_cursor -= 1;
|
|
|
} else {
|
|
} else {
|
|
|
- sub_menu_default = true;
|
|
|
|
|
|
|
+ sub_menu_default = 0;
|
|
|
menu_cursor = menu_items - 1;
|
|
menu_cursor = menu_items - 1;
|
|
|
}
|
|
}
|
|
|
} else if(event.input.key == InputKeyDown && event.input.type == InputTypePress) {
|
|
} else if(event.input.key == InputKeyDown && event.input.type == InputTypePress) {
|
|
|
if(menu_cursor < menu_items - 1) {
|
|
if(menu_cursor < menu_items - 1) {
|
|
|
- sub_menu_default = true;
|
|
|
|
|
|
|
+ sub_menu_default = 0;
|
|
|
menu_cursor += 1;
|
|
menu_cursor += 1;
|
|
|
} else {
|
|
} else {
|
|
|
menu_cursor = 0;
|
|
menu_cursor = 0;
|
|
@@ -771,11 +783,12 @@ int32_t tama_p1_app(void* p) {
|
|
|
case 1:
|
|
case 1:
|
|
|
switch(layout_mode) {
|
|
switch(layout_mode) {
|
|
|
case 0:
|
|
case 0:
|
|
|
- layout_mode = 3;
|
|
|
|
|
|
|
+ layout_mode = 4;
|
|
|
break;
|
|
break;
|
|
|
case 1:
|
|
case 1:
|
|
|
case 2:
|
|
case 2:
|
|
|
case 3:
|
|
case 3:
|
|
|
|
|
+ case 4:
|
|
|
layout_mode -= 1;
|
|
layout_mode -= 1;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
@@ -784,7 +797,17 @@ int32_t tama_p1_app(void* p) {
|
|
|
speed_down();
|
|
speed_down();
|
|
|
break;
|
|
break;
|
|
|
case menu_items - 1:
|
|
case menu_items - 1:
|
|
|
- sub_menu_default = !sub_menu_default;
|
|
|
|
|
|
|
+ switch(sub_menu_default) {
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ sub_menu_default = 2;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ sub_menu_default -= 1;
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
break;
|
|
break;
|
|
@@ -796,9 +819,10 @@ int32_t tama_p1_app(void* p) {
|
|
|
case 0:
|
|
case 0:
|
|
|
case 1:
|
|
case 1:
|
|
|
case 2:
|
|
case 2:
|
|
|
|
|
+ case 3:
|
|
|
layout_mode += 1;
|
|
layout_mode += 1;
|
|
|
break;
|
|
break;
|
|
|
- case 3:
|
|
|
|
|
|
|
+ case 4:
|
|
|
layout_mode = 0;
|
|
layout_mode = 0;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
@@ -807,7 +831,17 @@ int32_t tama_p1_app(void* p) {
|
|
|
speed_up();
|
|
speed_up();
|
|
|
break;
|
|
break;
|
|
|
case menu_items - 1:
|
|
case menu_items - 1:
|
|
|
- sub_menu_default = !sub_menu_default;
|
|
|
|
|
|
|
+ switch(sub_menu_default) {
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ sub_menu_default += 1;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ sub_menu_default = 0;
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
break;
|
|
break;
|
|
@@ -840,9 +874,14 @@ int32_t tama_p1_app(void* p) {
|
|
|
break;
|
|
break;
|
|
|
case menu_items - 1:
|
|
case menu_items - 1:
|
|
|
default:
|
|
default:
|
|
|
- if(sub_menu_default) {
|
|
|
|
|
|
|
+ switch(sub_menu_default) {
|
|
|
|
|
+ case 0:
|
|
|
in_menu = false;
|
|
in_menu = false;
|
|
|
- } else {
|
|
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ tama_p1_save_state();
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 2:
|
|
|
if(speed != 1) {
|
|
if(speed != 1) {
|
|
|
speed = 1;
|
|
speed = 1;
|
|
|
tamalib_set_speed(speed);
|
|
tamalib_set_speed(speed);
|
|
@@ -850,8 +889,10 @@ int32_t tama_p1_app(void* p) {
|
|
|
furi_timer_stop(timer);
|
|
furi_timer_stop(timer);
|
|
|
running = false;
|
|
running = false;
|
|
|
tama_p1_save_state();
|
|
tama_p1_save_state();
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
} else if(event.input.key == InputKeyBack) {
|
|
} else if(event.input.key == InputKeyBack) {
|
|
@@ -860,8 +901,9 @@ int32_t tama_p1_app(void* p) {
|
|
|
} else { // out of menu
|
|
} else { // out of menu
|
|
|
if(input_type == InputTypePress || input_type == InputTypeRelease) {
|
|
if(input_type == InputTypePress || input_type == InputTypeRelease) {
|
|
|
switch(layout_mode) {
|
|
switch(layout_mode) {
|
|
|
- case 3:
|
|
|
|
|
case 0:
|
|
case 0:
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ case 2:
|
|
|
switch(event.input.key) {
|
|
switch(event.input.key) {
|
|
|
case InputKeyLeft:
|
|
case InputKeyLeft:
|
|
|
tamalib_set_button(BTN_LEFT, tama_btn_state);
|
|
tamalib_set_button(BTN_LEFT, tama_btn_state);
|
|
@@ -879,7 +921,7 @@ int32_t tama_p1_app(void* p) {
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
- case 1:
|
|
|
|
|
|
|
+ case 3:
|
|
|
switch(event.input.key) {
|
|
switch(event.input.key) {
|
|
|
case InputKeyDown:
|
|
case InputKeyDown:
|
|
|
tamalib_set_button(BTN_LEFT, tama_btn_state);
|
|
tamalib_set_button(BTN_LEFT, tama_btn_state);
|
|
@@ -897,7 +939,7 @@ int32_t tama_p1_app(void* p) {
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
- case 2:
|
|
|
|
|
|
|
+ case 4:
|
|
|
switch(event.input.key) {
|
|
switch(event.input.key) {
|
|
|
case InputKeyUp:
|
|
case InputKeyUp:
|
|
|
tamalib_set_button(BTN_LEFT, tama_btn_state);
|
|
tamalib_set_button(BTN_LEFT, tama_btn_state);
|
|
@@ -930,15 +972,16 @@ int32_t tama_p1_app(void* p) {
|
|
|
}
|
|
}
|
|
|
if(event.input.key == InputKeyOk) {
|
|
if(event.input.key == InputKeyOk) {
|
|
|
tamalib_set_button(BTN_MIDDLE, tama_btn_state);
|
|
tamalib_set_button(BTN_MIDDLE, tama_btn_state);
|
|
|
- } else if(
|
|
|
|
|
- event.input.key == InputKeyBack &&
|
|
|
|
|
- event.input.type == InputTypeShort) {
|
|
|
|
|
- if(speed != 1) {
|
|
|
|
|
- speed = 1;
|
|
|
|
|
- tamalib_set_speed(speed);
|
|
|
|
|
- }
|
|
|
|
|
- tama_p1_save_state();
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ // else if(
|
|
|
|
|
+ // event.input.key == InputKeyBack &&
|
|
|
|
|
+ // event.input.type == InputTypeShort) {
|
|
|
|
|
+ // if(speed != 1) {
|
|
|
|
|
+ // speed = 1;
|
|
|
|
|
+ // tamalib_set_speed(speed);
|
|
|
|
|
+ // }
|
|
|
|
|
+ // tama_p1_save_state();
|
|
|
|
|
+ // }
|
|
|
}
|
|
}
|
|
|
if(event.input.key == InputKeyBack && event.input.type == InputTypeLong) {
|
|
if(event.input.key == InputKeyBack && event.input.type == InputTypeLong) {
|
|
|
if(speed != 1) {
|
|
if(speed != 1) {
|
|
@@ -949,6 +992,13 @@ int32_t tama_p1_app(void* p) {
|
|
|
running = false;
|
|
running = false;
|
|
|
tama_p1_save_state();
|
|
tama_p1_save_state();
|
|
|
}
|
|
}
|
|
|
|
|
+ // else if(event.input.key == InputKeyBack && event.input.type == InputTypeRepeat) {
|
|
|
|
|
+ // if(speed != 1) {
|
|
|
|
|
+ // speed = 1;
|
|
|
|
|
+ // tamalib_set_speed(speed);
|
|
|
|
|
+ // }
|
|
|
|
|
+ // tama_p1_save_state();
|
|
|
|
|
+ // }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
furi_mutex_release(g_state_mutex);
|
|
furi_mutex_release(g_state_mutex);
|