From ceaf2d4153f987c31240031d433476f703139c3f Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:31:10 +0300 Subject: [PATCH 1/6] add js adc by jamisonderek https://github.com/Next-Flip/Momentum-Firmware/pull/143/files --- .../examples/apps/Scripts/js_examples/adc.js | 42 +++++ applications/system/js_app/modules/js_gpio.c | 153 ++++++++++++++++-- 2 files changed, 180 insertions(+), 15 deletions(-) create mode 100644 applications/system/js_app/examples/apps/Scripts/js_examples/adc.js diff --git a/applications/system/js_app/examples/apps/Scripts/js_examples/adc.js b/applications/system/js_app/examples/apps/Scripts/js_examples/adc.js new file mode 100644 index 000000000..0506d348c --- /dev/null +++ b/applications/system/js_app/examples/apps/Scripts/js_examples/adc.js @@ -0,0 +1,42 @@ +// This is an example of how to use the analog pins (ADC) on the Flipper Zero. +// The example uses a reference voltage of 2048mV (2.048V), but you can also use 2500mV (2.5V). +// The example reads the values of the analog pins A7, A6, and A4 and prints them to the console. +// The example also checks if the value of A7 is twice the value of A6 and breaks the loop if it is. +// The example uses the analog pins A7, A6, and A4, but you can also use PC3, PC1, and PC0. + +let gpio = require("gpio"); + +// initialize pins A7, A6, A4 as analog (you can also use PC3, PC1, PC0) +gpio.init("PA7", "analog", "no"); // pin, mode, pull +gpio.init("PA6", "analog", "no"); // pin, mode, pull +gpio.init("PA4", "analog", "no"); // pin, mode, pull + +gpio.startAnalog(2048); // vRef = 2.048V (you can also use 2500 for a 2.5V reference voltage) + +while (true) { + let pa7_value = gpio.readAnalog("PA7"); + let pa6_value = gpio.readAnalog("PA6"); + let pa4_value = gpio.readAnalog("PA4"); + print("A7: " + to_string(pa7_value) + " A6: " + to_string(pa6_value) + " A4: " + to_string(pa4_value)); + delay(100); + if (pa7_value === pa6_value * 2) { + break; + } +} +print("A7 is twice A6!"); + +gpio.stopAnalog(); + +// possible analog pins https://docs.flipper.net/gpio-and-modules#miFsS +// "PA7" aka 2 +// "PA6" aka 3 +// "PA4" aka 4 +// "PC3" aka 7 +// "PC1" aka 15 +// "PC0" aka 16 + +// possible modes +// "analog" + +// possible pull +// "no" diff --git a/applications/system/js_app/modules/js_gpio.c b/applications/system/js_app/modules/js_gpio.c index 8f6158418..ce65837b1 100644 --- a/applications/system/js_app/modules/js_gpio.c +++ b/applications/system/js_app/modules/js_gpio.c @@ -3,25 +3,30 @@ #include #include +typedef struct { + FuriHalAdcHandle* handle; +} JsGpioInst; + typedef struct { const GpioPin* pin; const char* name; + const FuriHalAdcChannel channel; } GpioPinCtx; static const GpioPinCtx js_gpio_pins[] = { - {.pin = &gpio_ext_pa7, .name = "PA7"}, // 2 - {.pin = &gpio_ext_pa6, .name = "PA6"}, // 3 - {.pin = &gpio_ext_pa4, .name = "PA4"}, // 4 - {.pin = &gpio_ext_pb3, .name = "PB3"}, // 5 - {.pin = &gpio_ext_pb2, .name = "PB2"}, // 6 - {.pin = &gpio_ext_pc3, .name = "PC3"}, // 7 - {.pin = &gpio_swclk, .name = "PA14"}, // 10 - {.pin = &gpio_swdio, .name = "PA13"}, // 12 - {.pin = &gpio_usart_tx, .name = "PB6"}, // 13 - {.pin = &gpio_usart_rx, .name = "PB7"}, // 14 - {.pin = &gpio_ext_pc1, .name = "PC1"}, // 15 - {.pin = &gpio_ext_pc0, .name = "PC0"}, // 16 - {.pin = &gpio_ibutton, .name = "PB14"}, // 17 + {.pin = &gpio_ext_pa7, .name = "PA7", .channel = FuriHalAdcChannel12}, // 2 + {.pin = &gpio_ext_pa6, .name = "PA6", .channel = FuriHalAdcChannel11}, // 3 + {.pin = &gpio_ext_pa4, .name = "PA4", .channel = FuriHalAdcChannel9}, // 4 + {.pin = &gpio_ext_pb3, .name = "PB3", .channel = FuriHalAdcChannelNone}, // 5 + {.pin = &gpio_ext_pb2, .name = "PB2", .channel = FuriHalAdcChannelNone}, // 6 + {.pin = &gpio_ext_pc3, .name = "PC3", .channel = FuriHalAdcChannel4}, // 7 + {.pin = &gpio_swclk, .name = "PA14", .channel = FuriHalAdcChannelNone}, // 10 + {.pin = &gpio_swdio, .name = "PA13", .channel = FuriHalAdcChannelNone}, // 12 + {.pin = &gpio_usart_tx, .name = "PB6", .channel = FuriHalAdcChannelNone}, // 13 + {.pin = &gpio_usart_rx, .name = "PB7", .channel = FuriHalAdcChannelNone}, // 14 + {.pin = &gpio_ext_pc1, .name = "PC1", .channel = FuriHalAdcChannel2}, // 15 + {.pin = &gpio_ext_pc0, .name = "PC0", .channel = FuriHalAdcChannel1}, // 16 + {.pin = &gpio_ibutton, .name = "PB14", .channel = FuriHalAdcChannelNone}, // 17 }; bool js_gpio_get_gpio_pull(const char* pull, GpioPull* value) { @@ -92,6 +97,15 @@ const GpioPin* js_gpio_get_gpio_pin(const char* name) { return NULL; } +FuriHalAdcChannel js_gpio_get_gpio_channel(const char* name) { + for(size_t i = 0; i < COUNT_OF(js_gpio_pins); i++) { + if(strcmp(js_gpio_pins[i].name, name) == 0) { + return js_gpio_pins[i].channel; + } + } + return FuriHalAdcChannelNone; +} + static void js_gpio_init(struct mjs* mjs) { mjs_val_t pin_arg = mjs_arg(mjs, 0); mjs_val_t mode_arg = mjs_arg(mjs, 1); @@ -232,18 +246,127 @@ static void js_gpio_read(struct mjs* mjs) { mjs_return(mjs, mjs_mk_boolean(mjs, value)); } +static void js_gpio_read_analog(struct mjs* mjs) { + mjs_val_t obj_inst = mjs_get(mjs, mjs_get_this(mjs), INST_PROP_NAME, ~0); + JsGpioInst* gpio = mjs_get_ptr(mjs, obj_inst); + furi_assert(gpio); + + if(gpio->handle == NULL) { + mjs_prepend_errorf(mjs, MJS_INTERNAL_ERROR, "Analog mode not started"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + mjs_val_t pin_arg = mjs_arg(mjs, 0); + + if(!mjs_is_string(pin_arg)) { + mjs_prepend_errorf(mjs, MJS_BAD_ARGS_ERROR, "Argument must be a string"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + const char* pin_name = mjs_get_string(mjs, &pin_arg, NULL); + if(!pin_name) { + mjs_prepend_errorf(mjs, MJS_BAD_ARGS_ERROR, "Failed to get pin name"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + FuriHalAdcChannel channel = js_gpio_get_gpio_channel(pin_name); + if(channel == FuriHalAdcChannelNone) { + mjs_prepend_errorf(mjs, MJS_BAD_ARGS_ERROR, "Invalid pin name"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + uint16_t adc_value = furi_hal_adc_read(gpio->handle, channel); + float adc_mv = furi_hal_adc_convert_to_voltage(gpio->handle, adc_value); + + mjs_return(mjs, mjs_mk_number(mjs, adc_mv)); +} + +static void js_gpio_start_analog(struct mjs* mjs) { + mjs_val_t obj_inst = mjs_get(mjs, mjs_get_this(mjs), INST_PROP_NAME, ~0); + JsGpioInst* gpio = mjs_get_ptr(mjs, obj_inst); + furi_assert(gpio); + + FuriHalAdcScale scale = FuriHalAdcScale2048; + if(mjs_nargs(mjs) > 0) { + mjs_val_t scale_arg = mjs_arg(mjs, 0); + + if(!mjs_is_number(scale_arg)) { + mjs_prepend_errorf(mjs, MJS_BAD_ARGS_ERROR, "Argument must be a number"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + int32_t scale_num = mjs_get_int32(mjs, scale_arg); + if(scale_num == 2048 || scale_num == 2000) { // 2 volt reference + scale = FuriHalAdcScale2048; + } else if(scale_num == 2500) { // 2.5 volt reference + scale = FuriHalAdcScale2500; + } else { + mjs_prepend_errorf(mjs, MJS_BAD_ARGS_ERROR, "Invalid scale"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + } + + if(gpio->handle != NULL) { + mjs_prepend_errorf(mjs, MJS_INTERNAL_ERROR, "Analog mode already started"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + gpio->handle = furi_hal_adc_acquire(); + furi_hal_adc_configure_ex( + gpio->handle, + scale, + FuriHalAdcClockSync64, + FuriHalAdcOversample64, + FuriHalAdcSamplingtime247_5); +} + +static void js_gpio_stop_analog(struct mjs* mjs) { + mjs_val_t obj_inst = mjs_get(mjs, mjs_get_this(mjs), INST_PROP_NAME, ~0); + JsGpioInst* gpio = mjs_get_ptr(mjs, obj_inst); + furi_assert(gpio); + + if(gpio->handle == NULL) { + mjs_prepend_errorf(mjs, MJS_INTERNAL_ERROR, "Analog mode not started"); + mjs_return(mjs, MJS_UNDEFINED); + return; + } + + furi_hal_adc_release(gpio->handle); + gpio->handle = NULL; +} + static void* js_gpio_create(struct mjs* mjs, mjs_val_t* object) { + JsGpioInst* gpio = malloc(sizeof(JsGpioInst)); + gpio->handle = NULL; mjs_val_t gpio_obj = mjs_mk_object(mjs); + mjs_set(mjs, gpio_obj, INST_PROP_NAME, ~0, mjs_mk_foreign(mjs, gpio)); mjs_set(mjs, gpio_obj, "init", ~0, MJS_MK_FN(js_gpio_init)); mjs_set(mjs, gpio_obj, "write", ~0, MJS_MK_FN(js_gpio_write)); mjs_set(mjs, gpio_obj, "read", ~0, MJS_MK_FN(js_gpio_read)); + mjs_set(mjs, gpio_obj, "readAnalog", ~0, MJS_MK_FN(js_gpio_read_analog)); + mjs_set(mjs, gpio_obj, "startAnalog", ~0, MJS_MK_FN(js_gpio_start_analog)); + mjs_set(mjs, gpio_obj, "stopAnalog", ~0, MJS_MK_FN(js_gpio_stop_analog)); *object = gpio_obj; - return (void*)1; + return (void*)gpio; } static void js_gpio_destroy(void* inst) { - UNUSED(inst); + if(inst != NULL) { + JsGpioInst* gpio = (JsGpioInst*)inst; + if(gpio->handle != NULL) { + furi_hal_adc_release(gpio->handle); + gpio->handle = NULL; + } + free(gpio); + } // loop through all pins and reset them to analog mode for(size_t i = 0; i < COUNT_OF(js_gpio_pins); i++) { From 798be4589af6145a5ead903250c0a86dc5c5148b Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:31:24 +0300 Subject: [PATCH 2/6] Revert "revert usb cdc config changes to verify issue 3452" This reverts commit eb013ab6ec4c5ae43de0cff567288dad270e099b. --- targets/f7/furi_hal/furi_hal_usb_cdc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/targets/f7/furi_hal/furi_hal_usb_cdc.c b/targets/f7/furi_hal/furi_hal_usb_cdc.c index 865c6a448..4679df14f 100644 --- a/targets/f7/furi_hal/furi_hal_usb_cdc.c +++ b/targets/f7/furi_hal/furi_hal_usb_cdc.c @@ -7,13 +7,13 @@ #include "usb.h" #include "usb_cdc.h" -#define CDC0_RXD_EP 0x01 +#define CDC0_RXD_EP 0x02 #define CDC0_TXD_EP 0x82 -#define CDC0_NTF_EP 0x83 +#define CDC0_NTF_EP 0x81 #define CDC1_RXD_EP 0x04 -#define CDC1_TXD_EP 0x85 -#define CDC1_NTF_EP 0x86 +#define CDC1_TXD_EP 0x84 +#define CDC1_NTF_EP 0x83 #define CDC_NTF_SZ 0x08 From ab55a9405cb6cc2293560b36ff693f5e0e97436e Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:05:08 +0300 Subject: [PATCH 3/6] upd changelog --- CHANGELOG.md | 62 ++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f14120ae1..a14cf28a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,38 +1,32 @@ -## New changes -* Apps: **Mifare Nested - ported to latest API** using old nfc lib (by @xMasterX) (original app made by @AloneLiberty) (+ mem management fix by @Willy-JL) - [Python app running on PC is required](https://github.com/AloneLiberty/FlipperNestedRecovery) -* LFRFID: **Electra fix** non-initialized encoded epilogue on render (by @Leptopt1los) -* JS: Move examples to subfolder `js_examples` -* Apps: HID app improvements and fixes
-`- Move new mouse jiggler into mouse jiggler stealth and bring back previous version of mouse jiggler too`
-`- Set stealth jiggler max time default value to 4 min and min value to 1 min`
-`- Merge OFW changes`
-`- More OFW merge fixes` (by @Willy-JL | PR #753)
+## Main changes +- SubGHz: + - Add new protocol - legrand 18bit (by @user890104) + - OFW: Princeton protocol add custom guard time support +- NFC: + - Fix Mifare DESFire reading (revert of buffer check workaround for rare emv cases) + - OFW: Mifare Plus detection support + - OFW: Felica emulation + - OFW: Write to ultralight cards is now possible (no UID writing) + - OFW: Fixed infinite loop in dictionary attack scene +* JS: `adc` support in `gpio` module (by @jamisonderek) +* BadUSB: Add Finnish keyboard layout (by @nicou | PR #761) * Apps: **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev) -* OFW (TLSF branch): SubGHz: fix memory corrupt in read raw view -* OFW: **NFC App: fix changing UID** -* OFW: Replaced obsolete-format delay -* OFW: **Archive: fix condition race on exit** -* OFW: Text Box: fix displaying text with end text focus -* OFW: FuriHal: add flash ops stats, workaround bug in SHCI_C2_SetSystemClock -* OFW: Icons: compression fixes & larger dimension support -* OFW: **Text Box rework** -* OFW: Fix calling both `view_free_model()` and `view_free()` -* OFW: JS: Add textbox module -* OFW: JS: Add math module -* OFW: **NFC: add Slix capabilities** -* OFW: Settings refactor fixes -* OFW: JS: Add submenu module -* OFW: **Skylanders plugin** -* OFW: Settings menu refactoring -* OFW: NFC: Mf Desfire fix reading big files -* OFW: Infrared: Add Toshiba RAS-2518D -* OFW: **vscode: config fixes** -* OFW: Ble: new connection parameters negotiation scheme -* OFW: FuriHal: move version init to early stage -* OFW: Add support for R_ARM_REL32 relocations. -* OFW: Remove unused DolphinWait_61x59 icon -* OFW: Add the Akira animation -* OFW: **Desktop: fix crash on autolock after restart in locked state** +## Other changes +* Misc: Revert USB CDC changes to fix usb serial +* Misc: Fix usage of deprecated `icon_get_data` +* NFC: Fix typo in parsers +* Apps: Fix `input_callback` and `timer_callback` usage of non `void` argument as input +* OFW: SubGhz: fix navigation GUI +* OFW: Furi: event loop +* OFW: Code Cleanup: unused includes, useless checks, unused variables, etc... +* OFW: SubGhz: fix gui "No transition to the "Saved" menu when deleting a SubGHz RAW file" +* OFW: RPC: Add TarExtract command, some small fixes +* OFW: Use static synchronisation primitives +* OFW: cleanup of various warnings from clangd +* OFW: Add initial ISO7816 support +* OFW: fbt, vscode: tweaks for cdb generation for clangd +* OFW: Updater: fix inability to update with bigger updater.bin +* OFW: Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start.

#### Known NFC post-refactor regressions list: - Mifare Mini clones reading is broken (original mini working fine) (OFW) From fab79f284035f659cbdc84ceb726df81e2d895af Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 12 Jun 2024 19:26:45 +0300 Subject: [PATCH 4/6] rework messages test --- .ci_files/anims_ofw.txt | 198 ---------------------------- .ci_files/devbuild_msg_discord.txt | 16 +++ .ci_files/devbuild_msg_telegram.txt | 22 ++++ .ci_files/release_msg_discord.txt | 16 +++ .ci_files/release_msg_telegram.txt | 22 ++++ .drone.yml | 198 ++++++++-------------------- CHANGELOG.md | 17 ++- ReadMe.md | 2 +- 8 files changed, 140 insertions(+), 351 deletions(-) delete mode 100644 .ci_files/anims_ofw.txt create mode 100644 .ci_files/devbuild_msg_discord.txt create mode 100644 .ci_files/devbuild_msg_telegram.txt create mode 100644 .ci_files/release_msg_discord.txt create mode 100644 .ci_files/release_msg_telegram.txt diff --git a/.ci_files/anims_ofw.txt b/.ci_files/anims_ofw.txt deleted file mode 100644 index 42e18ad3f..000000000 --- a/.ci_files/anims_ofw.txt +++ /dev/null @@ -1,198 +0,0 @@ -Filetype: Flipper Animation Manifest -Version: 1 - -Name: L1_Waves_128x50 -Min butthurt: 0 -Max butthurt: 5 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Laptop_128x51 -Min butthurt: 0 -Max butthurt: 7 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L1_Sleep_128x64 -Min butthurt: 0 -Max butthurt: 10 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Recording_128x51 -Min butthurt: 0 -Max butthurt: 8 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L1_Furippa1_128x64 -Min butthurt: 0 -Max butthurt: 6 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L1_Read_books_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L1_Cry_128x64 -Min butthurt: 8 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Boxing_128x64 -Min butthurt: 10 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Mad_fist_128x64 -Min butthurt: 9 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Mods_128x64 -Min butthurt: 0 -Max butthurt: 9 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Painting_128x64 -Min butthurt: 0 -Max butthurt: 7 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Leaving_sad_128x64 -Min butthurt: 14 -Max butthurt: 14 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Senpai_128x64 -Min butthurt: 0 -Max butthurt: 5 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Kaiju_128x64 -Min butthurt: 0 -Max butthurt: 10 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_My_dude_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L2_Wake_up_128x64 -Min butthurt: 0 -Max butthurt: 12 -Min level: 2 -Max level: 3 -Weight: 3 - -Name: L2_Furippa2_128x64 -Min butthurt: 0 -Max butthurt: 6 -Min level: 2 -Max level: 2 -Weight: 3 - -Name: L2_Hacking_pc_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 2 -Max level: 2 -Weight: 3 - -Name: L2_Soldering_128x64 -Min butthurt: 0 -Max butthurt: 10 -Min level: 2 -Max level: 2 -Weight: 3 - -Name: L2_Dj_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 2 -Max level: 3 -Weight: 3 - -Name: L3_Furippa3_128x64 -Min butthurt: 0 -Max butthurt: 6 -Min level: 3 -Max level: 3 -Weight: 3 - -Name: L3_Hijack_radio_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 3 -Max level: 3 -Weight: 3 - -Name: L3_Lab_research_128x54 -Min butthurt: 0 -Max butthurt: 10 -Min level: 3 -Max level: 3 -Weight: 3 - -Name: L1_Sad_song_128x64 -Min butthurt: 8 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L2_Coding_in_the_shell_128x64 -Min butthurt: 0 -Max butthurt: 12 -Min level: 2 -Max level: 3 -Weight: 3 - -Name: L2_Secret_door_128x64 -Min butthurt: 0 -Max butthurt: 12 -Min level: 2 -Max level: 3 -Weight: 3 - -Name: L3_Freedom_2_dolphins_128x64 -Min butthurt: 0 -Max butthurt: 12 -Min level: 3 -Max level: 3 -Weight: 5 - -Name: L1_Akira_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 1 -Max level: 3 -Weight: 5 diff --git a/.ci_files/devbuild_msg_discord.txt b/.ci_files/devbuild_msg_discord.txt new file mode 100644 index 000000000..1b7b7bd7f --- /dev/null +++ b/.ci_files/devbuild_msg_discord.txt @@ -0,0 +1,16 @@ +## New Unleashed FW Dev Build + +**Build** - (buildnum) +**Commit** - [(commitsha)](https://github.com/DarkFlippers/unleashed-firmware/commit/(commitsha)) +### Sponsor our project -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev) +How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)? + +### Install FW via Web Updater: +[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz&channel=dev-cfw&version=(buildnum)) > ` ` +[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz&channel=dev-cfw&version=(buildnum)e) > `e` +[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz&channel=dev-cfw&version=(buildnum)c) > `c` +[RGB patch - only for hardware mod!](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)r.tgz&channel=dev-cfw&version=(buildnum)r) > `r` +What ` `, `e`, `c`, `r` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-n-r-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater) +### Direct tgz download links: +[Default](https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz) > ` ` - [Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz) > `e` - [No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz) > `c` - [RGB patch - only for hardware mod!](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)r.tgz) > `r` + diff --git a/.ci_files/devbuild_msg_telegram.txt b/.ci_files/devbuild_msg_telegram.txt new file mode 100644 index 000000000..e03d19c6c --- /dev/null +++ b/.ci_files/devbuild_msg_telegram.txt @@ -0,0 +1,22 @@ +**New Unleashed FW Dev Build** + +**Build** - (buildnum) +**Commit** - [(commitsha)](https://github.com/DarkFlippers/unleashed-firmware/commit/(commitsha)) +**Sponsor our project** -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev) + +How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)? + +**Install FW via Web Updater:** +[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz&channel=dev-cfw&version=(buildnum)) > ` ` +[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz&channel=dev-cfw&version=(buildnum)e) > `e` +[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz&channel=dev-cfw&version=(buildnum)c) > `c` +[RGB patch - only for hardware mod!](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)r.tgz&channel=dev-cfw&version=(buildnum)r) > `r` + +What ` `, `e`, `c`, `r` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-n-r-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater) + +**Direct tgz download links:** +[Default](https://unleashedflip.com/fw/dev/flipper-z-f7-update-(buildnum).tgz) > ` ` +[Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)e.tgz) > `e` +[No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)c.tgz) > `c` +[RGB patch - only for hardware mod!](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(buildnum)r.tgz) > `r` + diff --git a/.ci_files/release_msg_discord.txt b/.ci_files/release_msg_discord.txt new file mode 100644 index 000000000..079135f40 --- /dev/null +++ b/.ci_files/release_msg_discord.txt @@ -0,0 +1,16 @@ +## New Unleashed firmware released! + +**Version:** (releasever) +**Github:** [Release](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/(releasever)) +### Sponsor our project -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev) +How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)? + +### Install FW via Web Updater: +[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz&channel=release-cfw&version=(releasever)) > ` ` +[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz&channel=release-cfw&version=(releasever)e) > `e` +[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz&channel=release-cfw&version=(releasever)c) > `c` +[RGB patch - only for hardware mod!](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)r.tgz&channel=release-cfw&version=(releasever)r) > `r` +What ` `, `e`, `c`, `r` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-n-r-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater) +### Direct tgz download links: +[Default](https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz) > ` ` - [Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz) > `e` - [No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz) > `c` - [RGB patch - only for hardware mod!](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)r.tgz) > `r` + diff --git a/.ci_files/release_msg_telegram.txt b/.ci_files/release_msg_telegram.txt new file mode 100644 index 000000000..95248c624 --- /dev/null +++ b/.ci_files/release_msg_telegram.txt @@ -0,0 +1,22 @@ +**New Unleashed firmware released!** + +**Version:** (releasever) +**Github:** [Release](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/(releasever)) +**Sponsor our project** -> [Patreon](https://patreon.com/mmxdev) or [Boosty](https://boosty.to/mmxdev) + +How to [install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)? + +**Install FW via Web Updater:** +[Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz&channel=release-cfw&version=(releasever)) > ` ` +[Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz&channel=release-cfw&version=(releasever)e) > `e` +[No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz&channel=release-cfw&version=(releasever)c) > `c` +[RGB patch - only for hardware mod!](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)r.tgz&channel=release-cfw&version=(releasever)r) > `r` + +What ` `, `e`, `c`, `r` means? -> [versions info](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md#what-n-r-e---c-means-what-i-need-to-download-if-i-dont-want-to-use-web-updater) + +**Direct tgz download links:** +[Default](https://unleashedflip.com/fw/(releasever)/flipper-z-f7-update-(releasever).tgz) > ` ` +[Extra apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)e.tgz) > `e` +[No apps](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)c.tgz) > `c` +[RGB patch - only for hardware mod!](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-(releasever)r.tgz) > `r` + diff --git a/.drone.yml b/.drone.yml index 021e5348b..c487c6236 100644 --- a/.drone.yml +++ b/.drone.yml @@ -100,46 +100,11 @@ steps: - mv dist/f7-C/* artifacts-rgb-patch/ - ls -laS artifacts-rgb-patch - ls -laS artifacts-rgb-patch/f7-update-${DRONE_TAG}r - environment: - FBT_TOOLS_CUSTOM_LINK: - from_secret: fbt_link - - - name: "Build with ofw anims" - image: hfdj/fztools - pull: never - commands: - - git clean -df - - git checkout -- . - - rm -f assets/dolphin/external/manifest.txt - - cp .ci_files/anims_ofw.txt assets/dolphin/external/manifest.txt - - rm -rf applications/main/clock_app/resources/apps/ - - export DIST_SUFFIX=${DRONE_TAG}n - - export WORKFLOW_BRANCH_OR_TAG=no-custom-anims - - export FORCE_NO_DIRTY=yes - - export FBT_GIT_SUBMODULE_SHALLOW=1 - - rm -f build/f7-firmware-C/toolbox/version.* - - ./fbt COMPACT=1 DEBUG=0 updater_package - - wget https://github.com/xMasterX/all-the-plugins/releases/latest/download/all-the-apps-base.tgz - - tar zxf all-the-apps-base.tgz - - mkdir -p applications/main/clock_app/resources/apps - - mkdir -p applications/main/clock_app/resources/apps_data - - cp -R base_pack_build/artifacts-base/* applications/main/clock_app/resources/apps/ - - cp -R base_pack_build/apps_data/* applications/main/clock_app/resources/apps_data/ - - rm -rf base_pack_build - - rm -rf all-the-apps-base.tgz - - rm -f build/f7-firmware-C/toolbox/version.* - - ./fbt COMPACT=1 DEBUG=0 updater_package - - mkdir artifacts-ofw-anims - - mv dist/f7-C/* artifacts-ofw-anims/ - - ls -laS artifacts-ofw-anims - - ls -laS artifacts-ofw-anims/f7-update-${DRONE_TAG}n - sed -i 's/(version)/'${DRONE_TAG}'/g' CHANGELOG.md - echo '# [Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')' >> CHANGELOG.md - echo '' >> CHANGELOG.md - echo '### [Version with only main apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&channel=release-cfw&version='${DRONE_TAG}'c)' >> CHANGELOG.md - echo '' >> CHANGELOG.md - - echo '### [Version without custom animations - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)' >> CHANGELOG.md - - echo '' >> CHANGELOG.md - echo '### [Version with RGB patch - only for hardware mod! - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)' >> CHANGELOG.md - echo '' >> CHANGELOG.md - echo '## [Version with Extra apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' >> CHANGELOG.md @@ -153,23 +118,19 @@ steps: - cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.tgz . - cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.tgz . - cp artifacts-clean/flipper-z-f7-update-${DRONE_TAG}c.tgz . - - cp artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.tgz . - cp artifacts-default/flipper-z-f7-update-${DRONE_TAG}.tgz . - zip -r artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.zip artifacts-extra-apps/f7-update-${DRONE_TAG}e - zip -r artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.zip artifacts-rgb-patch/f7-update-${DRONE_TAG}r - zip -r artifacts-clean/flipper-z-f7-update-${DRONE_TAG}c.zip artifacts-clean/f7-update-${DRONE_TAG}c - - zip -r artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.zip artifacts-ofw-anims/f7-update-${DRONE_TAG}n - zip -r artifacts-default/flipper-z-f7-update-${DRONE_TAG}.zip artifacts-default/f7-update-${DRONE_TAG} - tar czpf artifacts-default/flipper-z-any-scripts-${DRONE_TAG}.tgz scripts - rm -rf artifacts-extra-apps/f7-update-${DRONE_TAG} - rm -rf artifacts-rgb-patch/f7-update-${DRONE_TAG} - rm -rf artifacts-clean/f7-update-${DRONE_TAG} - - rm -rf artifacts-ofw-anims/f7-update-${DRONE_TAG} - rm -rf artifacts-default/f7-update-${DRONE_TAG} - ls -laS artifacts-extra-apps - ls -laS artifacts-rgb-patch - ls -laS artifacts-clean - - ls -laS artifacts-ofw-anims - ls -laS artifacts-default - mv artifacts-default/ ${DRONE_TAG} - ls -laS ${DRONE_TAG} @@ -195,21 +156,6 @@ steps: - ${DRONE_TAG}/*.dfu - ${DRONE_TAG}/*.bin - - name: "Upload no-anims to updates srv" - image: appleboy/drone-scp:linux-amd64 - settings: - host: - from_secret: dep_host - username: - from_secret: dep_user - password: - from_secret: dep_passwd - port: - from_secret: dep_port - target: - from_secret: dep_target_noanim - source: flipper-z-f7-update-${DRONE_TAG}n.tgz - - name: "Upload extra apps version to updates srv" image: appleboy/drone-scp:linux-amd64 settings: @@ -267,7 +213,6 @@ steps: files: - ${DRONE_TAG}/*.tgz - ${DRONE_TAG}/*.zip - - artifacts-ofw-anims/*.tgz - artifacts-extra-apps/*.tgz - artifacts-rgb-patch/*.tgz - artifacts-clean/*.tgz @@ -289,51 +234,6 @@ steps: commands: - curl -X POST -F 'key='$UPD_KEY'' $UPD_URL - - name: "Send files to telegram" - image: appleboy/drone-telegram - settings: - token: - from_secret: tgtoken - to: - from_secret: tgid - format: markdown - message: "New Unleashed firmware released! - - - Version: {{build.tag}} - - - [-> Sponsor our project](https://boosty.to/mmxdev) - - - [-Github - Changelog-](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/${DRONE_TAG}) - - - [-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md) - - - [-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/releases/latest) - - - [-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz&channel=release-cfw&version=${DRONE_TAG}) - - - [-Version with only main apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}c.tgz&channel=release-cfw&version=${DRONE_TAG}c) - - - [-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-${DRONE_TAG}n.tgz&channel=release-cfw&version=${DRONE_TAG}n) - - - [-Version with RGB patch - only for hardware mod! - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz&channel=release-cfw&version=${DRONE_TAG}r) - - - [-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz) - - - [-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}e.tgz&channel=release-cfw&version=${DRONE_TAG}e)" - document: - - ${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz - - name: "Send discord notification" image: hfdj/fztools pull: never @@ -343,8 +243,38 @@ steps: commands: - wget "https://raw.githubusercontent.com/fieu/discord.sh/2253303efc0e7211ac2777d2535054cbb872f1e0/discord.sh" - chmod +x ./discord.sh - - echo 'New Unleashed firmware released!\n\nVersion - '${DRONE_TAG}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[[Github - Changelog]](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')\n\n[-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)\n\n[-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/releases/latest)\n\n[-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/'${DRONE_TAG}'/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')\n\n[-Version with only main apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&channel=release-cfw&version='${DRONE_TAG}'c)\n\n[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)\n\n[-Version with RGB patch - only for hardware mod! - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)\n\n[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz)\n\n[-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' > messagedisc.txt - - ./discord.sh --text "$(jq -Rs . changelogcut.txt + - truncate -s -1 changelogcut.txt + - tail -c +2 changelogcut.txt > changelogready.txt + - rm -f changelogcut.txt + - echo '' >> changelogready.txt + - echo '## [Read full changelog](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')' >> changelogready.txt + - sed -i 's/(releasever)/'${DRONE_TAG}'/g' .ci_files/release_msg_discord.txt + - sed -i 's/(releasever)/'${DRONE_TAG}'/g' .ci_files/release_msg_telegram.txt + - cp .ci_files/release_msg_telegram.txt tg_release_message.tpl + - ./discord.sh --title "Main changes" --description "$(jq -Rs .
/p' CHANGELOG.md | sed -e 's/

//' > changelogcut.txt + - truncate -s -1 changelogcut.txt + - sed -i 's/(buildnum)/'${DRONE_BUILD_NUMBER}'/g' .ci_files/devbuild_msg_discord.txt + - sed -i 's/(commitsha)/'${DRONE_COMMIT_SHA}'/g' .ci_files/devbuild_msg_discord.txt + - sed -i 's/(buildnum)/'${DRONE_BUILD_NUMBER}'/g' .ci_files/devbuild_msg_telegram.txt + - sed -i 's/(commitsha)/'${DRONE_COMMIT_SHA}'/g' .ci_files/devbuild_msg_telegram.txt + - cp .ci_files/devbuild_msg_telegram.txt tg_dev_message.tpl + - ./discord.sh --title "Changelog" --description "$(jq -Rs . Sponsor our project](https://boosty.to/mmxdev) - - - [-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}) - - - [-Version with only main apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}c.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}c) - - - [-Version with RGB patch - only for hardware mod! - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}r) - - - [-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz) - - - [-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}e)" - - - name: "Send build to telegram" + - name: "Send default build to telegram" image: appleboy/drone-telegram settings: token: @@ -631,7 +555,7 @@ steps: to: from_secret: tgid_dev format: markdown - message: "Regular Build:" + message: "Default Build:" document: - dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz @@ -655,22 +579,10 @@ steps: to: from_secret: tgid_dev format: markdown - message: "Build with extra apps pack:" + message: "Build with extra apps:" document: - flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz - - name: "Send discord notification" - image: hfdj/fztools - pull: never - environment: - DISCORD_WEBHOOK: - from_secret: dis_dev_webhook - commands: - - wget "https://raw.githubusercontent.com/fieu/discord.sh/2253303efc0e7211ac2777d2535054cbb872f1e0/discord.sh" - - chmod +x ./discord.sh - - echo 'Unleashed firmware dev build successful!\n\nBuild - '${DRONE_BUILD_NUMBER}'\n\nCommit - https://github.com/DarkFlippers/unleashed-firmware/commit/'${DRONE_COMMIT_SHA}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'e.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'e)\n\n[-Version with only main apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'c.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'c)\n\n[-Version with RGB patch - only for hardware mod! - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'r)\n\n[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz)\n\n[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}')' > messagedisc.txt - - ./discord.sh --text "$(jq -Rs . +### What `r`, `e`, ` `, `c` means? What I need to download if I don't want to use Web updater? +What build I should download and what this name means - `flipper-z-f7-update-(version)(r / e / c).tgz` ?
`flipper-z` = for Flipper Zero device
`f7` = Hardware version - same for all flipper zero devices
`update` = Update package, contains updater, all assets (plugins, IR libs, etc.), and firmware itself
`(version)` = Firmware version
-| Designation | 3 Custom Animation | [Base Apps](https://github.com/xMasterX/all-the-plugins#default-pack) | [Extra Apps](https://github.com/xMasterX/all-the-plugins#extra-pack) | ⚠️RGB mode* | -|-----|:---:|:---:|:---:|:---:| -| ` ` | ✅ | ✅ | | | -| `c` | ✅ | | | | -| `n` | | ✅ | | | -| `e` | ✅ | ✅ | ✅ | | -| `r` | ✅ | ✅ | ✅ | ⚠️ | +| Designation | [Base Apps](https://github.com/xMasterX/all-the-plugins#default-pack) | [Extra Apps](https://github.com/xMasterX/all-the-plugins#extra-pack) | ⚠️RGB mode* | +|-----|:---:|:---:|:---:| +| ` ` | ✅ | | | +| `c` | | | | +| `e` | ✅ | ✅ | | +| `r` | ✅ | ✅ | ⚠️ | ⚠️This is [hardware mod](https://github.com/quen0n/flipperzero-firmware-rgb#readme), works only on modded flippers! do not install on non modded device! diff --git a/ReadMe.md b/ReadMe.md index 1567936bd..56f098d80 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -165,7 +165,7 @@ See full list and sources here: [xMasterX/all-the-plugins](https://github.com/xM # Instructions ## First look at official docs [docs.flipper.net](https://docs.flipper.net/) -## [How to install](/documentation/HowToInstall.md) - [versions info](/CHANGELOG.md#recommended-update-option---web-updater): `n`,` `,`e`... +## [How to install](/documentation/HowToInstall.md) - [versions info](/CHANGELOG.md#recommended-update-option---web-updater): `r`,` `,`e`... ## Firmware & Development ### - **Developer Documentation** - [developer.flipper.net](https://developer.flipper.net/flipperzero/doxygen) From 4f6aff4bd1e5198d9316d12ef22ca5557ead2be8 Mon Sep 17 00:00:00 2001 From: SG Date: Wed, 12 Jun 2024 17:35:15 +0100 Subject: [PATCH 5/6] Loader: fix crash on locked via cli loader --- applications/services/loader/loader.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/applications/services/loader/loader.c b/applications/services/loader/loader.c index 55f620293..16ec9b5eb 100644 --- a/applications/services/loader/loader.c +++ b/applications/services/loader/loader.c @@ -463,13 +463,19 @@ static LoaderStatus loader_do_start_by_name( do { // check lock if(loader_do_is_locked(loader)) { - const char* current_thread_name = - furi_thread_get_name(furi_thread_get_id(loader->app.thread)); - status = loader_make_status_error( - LoaderStatusErrorAppStarted, - error_message, - "Loader is locked, please close the \"%s\" first", - current_thread_name); + if(loader->app.thread == (FuriThread*)LOADER_MAGIC_THREAD_VALUE) { + status = loader_make_status_error( + LoaderStatusErrorAppStarted, error_message, "Loader is locked"); + } else { + const char* current_thread_name = + furi_thread_get_name(furi_thread_get_id(loader->app.thread)); + + status = loader_make_status_error( + LoaderStatusErrorAppStarted, + error_message, + "Loader is locked, please close the \"%s\" first", + current_thread_name); + } break; } From 295271ec8ba50dacc28c0c54a7e486f86212615e Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Wed, 12 Jun 2024 19:56:40 +0300 Subject: [PATCH 6/6] better install links in release --- .ci_files/release_msg_telegram.txt | 2 +- .drone.yml | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.ci_files/release_msg_telegram.txt b/.ci_files/release_msg_telegram.txt index 95248c624..f561fee21 100644 --- a/.ci_files/release_msg_telegram.txt +++ b/.ci_files/release_msg_telegram.txt @@ -1,4 +1,4 @@ -**New Unleashed firmware released!** +**New Unleashed firmware released** **Version:** (releasever) **Github:** [Release](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/(releasever)) diff --git a/.drone.yml b/.drone.yml index c487c6236..d14ebd517 100644 --- a/.drone.yml +++ b/.drone.yml @@ -101,13 +101,14 @@ steps: - ls -laS artifacts-rgb-patch - ls -laS artifacts-rgb-patch/f7-update-${DRONE_TAG}r - sed -i 's/(version)/'${DRONE_TAG}'/g' CHANGELOG.md - - echo '# [Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')' >> CHANGELOG.md + - echo '# Install FW via Web Updater:' >> CHANGELOG.md + - echo '### [Default](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}') > ` `' >> CHANGELOG.md - echo '' >> CHANGELOG.md - - echo '### [Version with only main apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&channel=release-cfw&version='${DRONE_TAG}'c)' >> CHANGELOG.md + - echo '### [Extra apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e) > `e`' >> CHANGELOG.md - echo '' >> CHANGELOG.md - - echo '### [Version with RGB patch - only for hardware mod! - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)' >> CHANGELOG.md + - echo '### [No apps](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'c.tgz&channel=release-cfw&version='${DRONE_TAG}'c) > `c`' >> CHANGELOG.md - echo '' >> CHANGELOG.md - - echo '## [Version with Extra apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' >> CHANGELOG.md + - echo '### [RGB patch - only for hardware mod!](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r) > `r`' >> CHANGELOG.md environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link