From 55ef087fe7c16e810e7b8a0dbcf7b52ddfb8dc2c Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 9 Aug 2023 02:14:21 +0200 Subject: [PATCH 1/3] Fix magspoof power issues --- applications/external/magspoof/helpers/mag_helpers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/applications/external/magspoof/helpers/mag_helpers.c b/applications/external/magspoof/helpers/mag_helpers.c index 89c451f62..1f7c2ae20 100644 --- a/applications/external/magspoof/helpers/mag_helpers.c +++ b/applications/external/magspoof/helpers/mag_helpers.c @@ -153,6 +153,7 @@ void tx_deinit_rfid() { furi_hal_gpio_write(RFID_PIN_OUT, 0); furi_hal_rfid_pins_reset(); + furi_hal_power_disable_otg(); } void tx_init_rf(int hz) { @@ -186,6 +187,7 @@ bool tx_init(MagSetting* setting) { tx_init_rfid(); break; case MagTxStateGPIO: + furi_hal_power_enable_otg(); // gpio_item_configure_all_pins(GpioModeOutputPushPull); furi_hal_gpio_init(GPIO_PIN_A, GpioModeOutputPushPull, GpioPullNo, GpioSpeedLow); furi_hal_gpio_init(GPIO_PIN_B, GpioModeOutputPushPull, GpioPullNo, GpioSpeedLow); @@ -236,6 +238,7 @@ bool tx_deinit(MagSetting* setting) { furi_hal_gpio_init(GPIO_PIN_ENABLE, GpioModeAnalog, GpioPullNo, GpioSpeedLow); //gpio_item_configure_all_pins(GpioModeAnalog); + furi_hal_power_disable_otg(); break; case MagTxStatePiezo: tx_deinit_piezo(); From bfb9296d078534497eb16aee19baf9c75f827f00 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 9 Aug 2023 21:09:38 +0200 Subject: [PATCH 2/3] Short name for all menu styles --- applications/services/gui/modules/menu.c | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/applications/services/gui/modules/menu.c b/applications/services/gui/modules/menu.c index fd250f448..0229ef4d1 100644 --- a/applications/services/gui/modules/menu.c +++ b/applications/services/gui/modules/menu.c @@ -87,6 +87,7 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { if(items_count) { MenuItem* item; size_t shift_position; + FuriString* name = furi_string_alloc(); switch(XTREME_SETTINGS()->menu_style) { case MenuStyleList: { for(uint8_t i = 0; i < 3; i++) { @@ -94,9 +95,10 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { shift_position = (position + items_count + i - 1) % items_count; item = MenuItemArray_get(model->items, shift_position); menu_centered_icon(canvas, item, 4, 3 + 22 * i, 14, 14); + menu_short_name(item, name); size_t scroll_counter = menu_scroll_counter(model, i == 1); - elements_scrollable_text_line_str( - canvas, 22, 14 + 22 * i, 98, item->label, scroll_counter, false, false); + elements_scrollable_text_line( + canvas, 22, 14 + 22 * i, 98, name, scroll_counter, false); } // Frame and scrollbar elements_frame(canvas, 0, 21, 128 - 5, 21); @@ -104,7 +106,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { break; } case MenuStyleWii: { - FuriString* name = furi_string_alloc(); if(items_count > 6 && position >= 4) { if(position >= items_count - 2 + (items_count % 2)) { shift_position = position - (position % 2) - 4; @@ -123,7 +124,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { x_off = (i / 2) * 43 + 1; y_off = (i % 2) * 32; bool selected = item_i == position; - size_t scroll_counter = menu_scroll_counter(model, selected); if(selected) { elements_slightly_rounded_box(canvas, 0 + x_off, 0 + y_off, 40, 30); canvas_set_color(canvas, ColorWhite); @@ -131,6 +131,7 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { item = MenuItemArray_get(model->items, item_i); menu_centered_icon(canvas, item, x_off, y_off, 40, 20); menu_short_name(item, name); + size_t scroll_counter = menu_scroll_counter(model, selected); elements_scrollable_text_line_centered( canvas, 20 + x_off, 26 + y_off, 36, name, scroll_counter, false, true); if(selected) { @@ -139,7 +140,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { elements_frame(canvas, 0 + x_off, 0 + y_off, 40, 30); } } - furi_string_free(name); break; } case MenuStyleDsi: { @@ -172,13 +172,14 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { canvas_set_color(canvas, ColorBlack); canvas_set_font(canvas, FontPrimary); + menu_short_name(item, name); size_t scroll_counter = menu_scroll_counter(model, true); - elements_scrollable_text_line_str( + elements_scrollable_text_line_centered( canvas, pos_x, pos_y - height / 2 - 8, 126, - item->label, + name, scroll_counter, false, true); @@ -222,15 +223,15 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { canvas_set_color(canvas, ColorBlack); canvas_set_font(canvas, FontSecondary); + menu_short_name(item, name); size_t scroll_counter = menu_scroll_counter(model, true); - elements_scrollable_text_line_str( + elements_scrollable_text_line( canvas, pos_x + width / 2 + 2, pos_y + height / 2 + 7, 74, - item->label, + name, scroll_counter, - false, false); } else { pos_x += (width + 1) * i + (i < 0 ? -6 : 6); @@ -243,7 +244,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { } case MenuStyleVertical: { canvas_set_orientation(canvas, CanvasOrientationVertical); - FuriString* name = furi_string_alloc(); shift_position = model->vertical_offset; canvas_set_font(canvas, FontSecondary); size_t item_i; @@ -253,7 +253,6 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { if(item_i >= items_count) continue; y_off = 16 * i; bool selected = item_i == position; - size_t scroll_counter = menu_scroll_counter(model, selected); if(selected) { elements_slightly_rounded_box(canvas, 0, y_off, 64, 16); canvas_set_color(canvas, ColorWhite); @@ -261,19 +260,20 @@ static void menu_draw_callback(Canvas* canvas, void* _model) { item = MenuItemArray_get(model->items, item_i); menu_centered_icon(canvas, item, 0, y_off, 16, 16); menu_short_name(item, name); + size_t scroll_counter = menu_scroll_counter(model, selected); elements_scrollable_text_line( canvas, 17, y_off + 12, 46, name, scroll_counter, false); if(selected) { canvas_set_color(canvas, ColorBlack); } } - furi_string_free(name); canvas_set_orientation(canvas, CanvasOrientationHorizontal); break; } default: break; } + furi_string_free(name); } else { canvas_draw_str(canvas, 2, 32, "Empty"); elements_scrollbar(canvas, 0, 0); From 6f0ccaacabd1082bedc1bf25673461aea23f2332 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 9 Aug 2023 21:18:12 +0200 Subject: [PATCH 3/3] Add option to skip devbuild --nobuild --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 37515be68..f118e279d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,7 +54,7 @@ jobs: run: bash .github/workflow_data/package.sh - name: Send devbuild webhook - if: "github.event_name == 'push' && github.ref_name == 'dev'" + if: "github.event_name == 'push' && github.ref_name == 'dev' && !contains(github.event.head_commit.message, '--nobuild')" env: NC_HOST: "https://cloud.cynthialabs.net/" NC_USER: "${{ secrets.NC_USER }}"