Skip to content

Commit

Permalink
Latest Release RM0503-2020-0.101.3-09760e7 on PATREON - APP FIXES
Browse files Browse the repository at this point in the history
Mostly by WIlly-JL, some with thanks to Kuronons, some with thanks to original creators or OFW
  • Loading branch information
RogueMaster committed May 4, 2024
2 parents 2d60cf1 + 064d9f7 commit 59fd282
Show file tree
Hide file tree
Showing 88 changed files with 136 additions and 39 deletions.
9 changes: 7 additions & 2 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@ This software is for experimental purposes only and is not meant for any illegal
- Updater: [Gzipped resources (220% faster FW upload) + Updater improvements (By Willy-JL)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/commit/0f0b062366af85f614ee0dc1380fc0bc9551063f)
- UL: [Electra fix protocol naming (By xMasterX)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/commit/a89a67d1033751b3c5fa9ab2fdac4caaa1afaac4)
- [ESP Flasher resources updated (By Willy-JL) to include resources for flashing Wardriver, AirTag Scanner & Marauder for MultiBoardS3](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/commit/82b0c93e4b9e90dd8ee95beadefff9f3510d010c)
- Updater: [Flashlight v1.1 (By xMasterX)](https://github.com/xMasterX/flipper-flashlight)
- Updater: [HEX Viewer v2.0 (By QtRoS)](https://github.com/QtRoS/flipperzero-firmware)
- Updater: [USB Mass Storage v1.3 (By nminaylov)](https://github.com/flipperdevices/flipperzero-good-faps/tree/nm/usb_mass_storage_app/mass_storage)
- Updater: [Sub-GHz Playlist v1.0 (By darmiel)](https://github.com/darmiel/flipper-playlist)
- Updater: [Sub-GHz Remote v1.3 (By gid9798)](https://github.com/DarkFlippers/SubGHz_Remote)

<a name="release">

Expand Down Expand Up @@ -552,8 +557,8 @@ $ ./fbt dolphin_ext
- [Spotify Remote v0.1 (By benjamindrussell)](https://github.com/benjamindrussell/flipper-spotify-remote) `Req: ESP32` with [ESP32 Spotify Remote](https://github.com/benjamindrussell/esp32-spotify-remote)
- [SPI Mem Manager v1.3 (By drunkbatya)-OFW](https://github.com/flipperdevices/flipperzero-good-faps/tree/dev/spi_mem_manager)
- [Sub-GHz Bruteforcer v3.11.3 (By Ganapati/xMasterX/derskythe)](https://github.com/derskythe/flipperzero-subbrute/tree/master)
- [Sub-GHz Playlist (By darmiel)](https://github.com/darmiel/flipper-playlist)
- [Sub-GHz Remote (Refactored) + Configurator v1.3 (By gid9798)](https://github.com/DarkFlippers/SubGHz_Remote) [(Merged Into One By ESurge)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/pull/655) - Previously: [(By ESurge)](https://github.com/ESurge/flipperzero-firmware-unirfremix) [(Original By jimilinuxguy)](https://github.com/jimilinuxguy/flipperzero-universal-rf-remote/tree/028d615c83f059bb2c905530ddb3d4efbd3cbcae/applications/jukebox)
- [Sub-GHz Playlist v1.0 (By darmiel)](https://github.com/darmiel/flipper-playlist)
- [Sub-GHz Remote v1.3 (By gid9798)](https://github.com/DarkFlippers/SubGHz_Remote)
- [Sub-GHz Rolling Flaws v1.5 (By jamisonderek)](https://github.com/jamisonderek/flipper-zero-tutorials)
- [SWD Probe v1.1 (By g3gg0)](https://github.com/g3gg0/flipper-swd_probe)
- [T5577 Multiwriter v0.2 (By Leptopt1los)](https://github.com/Leptopt1los/t5577_multiwriter)
Expand Down
1 change: 1 addition & 0 deletions applications/external/flashlight/application.fam
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ App(
apptype=FlipperAppType.EXTERNAL,
entry_point="flashlight_app",
stack_size=2 * 1024,
fap_icon_assets="icons",
fap_icon="flash10px.png",
fap_category="GPIO",
fap_author="xMasterX",
Expand Down
12 changes: 8 additions & 4 deletions applications/external/flashlight/flashlight.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
#include <stdlib.h>
#include <gui/elements.h>

#include "flashlight_icons.h"

typedef enum {
EventTypeTick,
EventTypeKey,
Expand All @@ -28,17 +30,19 @@ static void render_callback(Canvas* const canvas, void* ctx) {
furi_mutex_acquire(plugin_state->mutex, FuriWaitForever);

canvas_set_font(canvas, FontPrimary);
elements_multiline_text_aligned(canvas, 64, 2, AlignCenter, AlignTop, "Flashlight");
elements_multiline_text_aligned(canvas, 64, 4, AlignCenter, AlignTop, "Flashlight");

canvas_set_font(canvas, FontSecondary);

canvas_draw_icon(canvas, 0, 17, &I_led_connections);

if(!plugin_state->is_on) {
elements_multiline_text_aligned(
canvas, 64, 28, AlignCenter, AlignTop, "Press OK button turn on");
canvas, 64, 44, AlignCenter, AlignTop, "Press OK button turn on");
} else {
elements_multiline_text_aligned(canvas, 64, 28, AlignCenter, AlignTop, "Light is on!");
elements_multiline_text_aligned(canvas, 64, 38, AlignCenter, AlignTop, "Light is on!");
elements_multiline_text_aligned(
canvas, 64, 40, AlignCenter, AlignTop, "Press OK button to off");
canvas, 64, 50, AlignCenter, AlignTop, "Press OK button to off");
}

furi_mutex_release(plugin_state->mutex);
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 2 additions & 4 deletions applications/external/hex_viewer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,5 @@ The app allows you to view various files as HEX

Feel free to send PRs!

**Useful links**:

- App URL: https://lab.flipper.net/apps/hex_viewer
- Catalog's manifest: [flipper-application-catalog/applications/Tools/hex_viewer/manifest.yml](https://github.com/flipperdevices/flipper-application-catalog/blob/main/applications/Tools/hex_viewer/manifest.yml)
App URL: https://lab.flipper.net/apps/hex_viewer
Catalog's manifest: [flipper-application-catalog/applications/Tools/hex_viewer/manifest.yml](https://github.com/flipperdevices/flipper-application-catalog/blob/main/applications/Tools/hex_viewer/manifest.yml)
15 changes: 10 additions & 5 deletions applications/external/hex_viewer/hex_viewer.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,12 @@ void hex_viewer_app_free(HexViewer* app) {

// View Dispatcher
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdMenu);
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdStartscreen);
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdScroll);
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdSettings);

submenu_free(app->submenu);
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdStartscreen);
hex_viewer_startscreen_free(app->hex_viewer_startscreen);
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdScroll);
text_input_free(app->text_input);
view_dispatcher_remove_view(app->view_dispatcher, HexViewerViewIdSettings);
variable_item_list_free(app->variable_item_list);

view_dispatcher_free(app->view_dispatcher);
Expand All @@ -129,7 +128,13 @@ int32_t hex_viewer_app(void* p) {

view_dispatcher_attach_to_gui(app->view_dispatcher, app->gui, ViewDispatcherTypeFullscreen);

scene_manager_next_scene(app->scene_manager, HexViewerSceneStartscreen);
if(p && strlen(p) && hex_viewer_open_file(app, (const char*)p)) {
hex_viewer_read_file(app);
scene_manager_next_scene(app->scene_manager, HexViewerSceneStartscreen);
} else {
scene_manager_next_scene(app->scene_manager, HexViewerSceneStartscreen);
scene_manager_next_scene(app->scene_manager, HexViewerSceneOpen);
}

furi_hal_power_suppress_charge_enter();

Expand Down
Binary file added applications/external/hex_viewer/icons/hex_10px.bmp
Binary file not shown.
6 changes: 6 additions & 0 deletions applications/external/mass_storage/mass_storage_app.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@ MassStorageApp* mass_storage_app_alloc(char* arg) {
MassStorageAppViewStart,
variable_item_list_get_view(app->variable_item_list));

app->widget = widget_alloc();
view_dispatcher_add_view(
app->view_dispatcher, MassStorageAppViewWidget, widget_get_view(app->widget));

app->popup = popup_alloc();
view_dispatcher_add_view(
app->view_dispatcher, MassStorageAppViewPopup, popup_get_view(app->popup));
Expand All @@ -121,12 +125,14 @@ void mass_storage_app_free(MassStorageApp* app) {
view_dispatcher_remove_view(app->view_dispatcher, MassStorageAppViewTextInput);
view_dispatcher_remove_view(app->view_dispatcher, MassStorageAppViewStart);
view_dispatcher_remove_view(app->view_dispatcher, MassStorageAppViewLoading);
view_dispatcher_remove_view(app->view_dispatcher, MassStorageAppViewWidget);
view_dispatcher_remove_view(app->view_dispatcher, MassStorageAppViewPopup);

mass_storage_free(app->mass_storage_view);
text_input_free(app->text_input);
variable_item_list_free(app->variable_item_list);
loading_free(app->loading);
widget_free(app->widget);
popup_free(app->popup);

// View dispatcher
Expand Down
5 changes: 4 additions & 1 deletion applications/external/mass_storage/mass_storage_app_i.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@
#include <gui/modules/variable_item_list.h>
#include <gui/modules/text_input.h>
#include <gui/modules/loading.h>
#include <gui/modules/widget.h>
#include <gui/modules/popup.h>
#include <storage/storage.h>
#include "views/mass_storage_view.h"
#include <mass_storage_icons.h>

#define MASS_STORAGE_APP_PATH_FOLDER APP_ASSETS_PATH("")
#define MASS_STORAGE_APP_PATH_FOLDER STORAGE_APP_DATA_PATH_PREFIX
#define MASS_STORAGE_APP_EXTENSION ".img"
#define MASS_STORAGE_FILE_NAME_LEN 40

Expand All @@ -27,6 +28,7 @@ struct MassStorageApp {
Storage* fs_api;
ViewDispatcher* view_dispatcher;
SceneManager* scene_manager;
Widget* widget;
Popup* popup;
DialogsApp* dialogs;
TextInput* text_input;
Expand All @@ -52,6 +54,7 @@ typedef enum {
MassStorageAppViewTextInput,
MassStorageAppViewWork,
MassStorageAppViewLoading,
MassStorageAppViewWidget,
MassStorageAppViewPopup,
} MassStorageAppView;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ ADD_SCENE(mass_storage, file_select, FileSelect)
ADD_SCENE(mass_storage, work, Work)
ADD_SCENE(mass_storage, create_image, CreateImage)
ADD_SCENE(mass_storage, create_image_name, CreateImageName)
ADD_SCENE(mass_storage, usb_locked, UsbLocked)
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include "../mass_storage_app_i.h"

void mass_storage_scene_usb_locked_on_enter(void* context) {
MassStorageApp* app = context;

widget_add_icon_element(app->widget, 78, 0, &I_ActiveConnection_50x64);
widget_add_string_multiline_element(
app->widget, 3, 2, AlignLeft, AlignTop, FontPrimary, "Connection\nis active!");
widget_add_string_multiline_element(
app->widget,
3,
30,
AlignLeft,
AlignTop,
FontSecondary,
"Disconnect from\nPC or phone to\nuse this function.");

view_dispatcher_switch_to_view(app->view_dispatcher, MassStorageAppViewWidget);
}

bool mass_storage_scene_usb_locked_on_event(void* context, SceneManagerEvent event) {
MassStorageApp* app = context;
bool consumed = false;

if(event.type == SceneManagerEventTypeBack) {
consumed = scene_manager_search_and_switch_to_previous_scene(
app->scene_manager, MassStorageSceneFileSelect);
if(!consumed) {
consumed = scene_manager_search_and_switch_to_previous_scene(
app->scene_manager, MassStorageSceneStart);
}
}

return consumed;
}

void mass_storage_scene_usb_locked_on_exit(void* context) {
MassStorageApp* app = context;
widget_reset(app->widget);
}
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ App(
apptype=FlipperAppType.EXTERNAL,
entry_point="clock_app",
stack_size=2 * 1024,
fap_icon="ClockIcon.png",
fap_icon="clock.png",
fap_category="Tools",
fap_author="nymda & Willy-JL",
fap_weburl="https://github.com/nymda/FlipperNightStand",
Expand Down
Binary file removed applications/external/playlist/playlist_10px.png
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ App(
stack_size=2 * 1024,
icon="A_Sub1ghz_14",
fap_category="Sub-GHz",
fap_icon="playlist_10px.png",
fap_icon="subplaylist_10px.png",
fap_icon_assets="images",
fap_author="darmiel",
fap_version=(1, 0),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include <storage/storage.h>

#include <lib/toolbox/path.h>
#include "subghz_playlist_icons.h"
#include <subghz_playlist_icons.h>

#include <lib/subghz/protocols/protocol_items.h>
#include <flipper_format/flipper_format_i.h>
Expand All @@ -22,7 +22,6 @@
#include "playlist_file.h"
#include "canvas_helper.h"

#define PLAYLIST_FOLDER EXT_PATH("subghz/playlist")
#define PLAYLIST_EXT ".txt"
#define TAG "Playlist"

Expand Down Expand Up @@ -723,9 +722,7 @@ void playlist_free(Playlist* app) {
free(app);
}

int32_t playlist_app(void* p) {
UNUSED(p);

int32_t playlist_app(char* p) {
// create playlist folder
{
Storage* storage = furi_record_open(RECORD_STORAGE);
Expand All @@ -743,11 +740,13 @@ int32_t playlist_app(void* p) {
furi_hal_power_suppress_charge_enter();

// select playlist file
{
if(p && strlen(p)) {
furi_string_set(app->file_path, p);
} else {
DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS);
DialogsFileBrowserOptions browser_options;
dialog_file_browser_set_basic_options(&browser_options, PLAYLIST_EXT, &I_sub1_10px);
browser_options.hide_ext = false;
browser_options.base_path = PLAYLIST_FOLDER;

const bool res =
dialog_file_browser_show(dialogs, app->file_path, app->file_path, &browser_options);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@

#include <storage/storage.h>

#define PLAYLIST_FOLDER EXT_PATH("subghz/playlist")

int playlist_count_playlist_items(Storage* storage, const char* file_path);
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# [Sub-GHz Remote (Refactored) + Configurator v1.3 (By gid9798)](https://github.com/DarkFlippers/SubGHz_Remote)
# [(Merged Into One By ESurge)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/pull/655)
# Previously: [(By ESurge)](https://github.com/ESurge/flipperzero-firmware-unirfremix)
# [(Original By jimilinuxguy)](https://github.com/jimilinuxguy/flipperzero-universal-rf-remote/tree/028d615c83f059bb2c905530ddb3d4efbd3cbcae/applications/jukebox)
App(
appid="subghz_remote_refactored",
name="Sub-GHz Remote",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,11 @@ typedef enum {
SubRemCustomEventSceneEditPreviewSaved,

SubRemCustomEventSceneNewName,

#ifdef FW_ORIGIN_Official
SubRemCustomEventSceneFwWarningExit,
SubRemCustomEventSceneFwWarningNext,
SubRemCustomEventSceneFwWarningContinue,
#endif

} SubRemCustomEvent;
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ SubRemLoadSubState subrem_sub_preset_load(
}

if(!strcmp(furi_string_get_cstr(temp_str), "CUSTOM")) {
//TODO FL-3551: add Custom_preset_module
//TODO Does this work properly?
//delete preset if it already exists
subghz_setting_delete_custom_preset(setting, furi_string_get_cstr(temp_str));
//load custom preset from file
Expand Down Expand Up @@ -158,7 +158,9 @@ SubRemLoadSubState subrem_sub_preset_load(
if(protocol->flag & SubGhzProtocolFlag_Send) {
if((protocol->type == SubGhzProtocolTypeStatic) ||
(protocol->type == SubGhzProtocolTypeDynamic) ||
#ifndef FW_ORIGIN_Official
(protocol->type == SubGhzProtocolTypeBinRAW) ||
#endif
(protocol->type == SubGhzProtocolTypeRAW)) {
sub_preset->type = protocol->type;
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
#include <applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h>
#include <lib/subghz/devices/cc1101_int/cc1101_int_interconnect.h>

#ifndef FW_ORIGIN_Official
#include <lib/subghz/blocks/custom_btn.h>
#endif

#define TAG "SubGhz"

Expand Down Expand Up @@ -657,12 +659,14 @@ bool subghz_txrx_get_debug_pin_state(SubGhzTxRx* instance) {
return instance->debug_pin_state;
}

#ifndef FW_ORIGIN_Official
void subghz_txrx_reset_dynamic_and_custom_btns(SubGhzTxRx* instance) {
furi_assert(instance);
subghz_environment_reset_keeloq(instance->environment);

subghz_custom_btns_reset();
}
#endif

SubGhzReceiver* subghz_txrx_get_receiver(SubGhzTxRx* instance) {
furi_assert(instance);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ bool subghz_txrx_radio_device_is_tx_allowed(SubGhzTxRx* instance, uint32_t frequ

void subghz_txrx_set_debug_pin_state(SubGhzTxRx* instance, bool state);
bool subghz_txrx_get_debug_pin_state(SubGhzTxRx* instance);

#ifndef FW_ORIGIN_Official
void subghz_txrx_reset_dynamic_and_custom_btns(SubGhzTxRx* instance);

#endif
SubGhzReceiver* subghz_txrx_get_receiver(SubGhzTxRx* instance); // TODO use only in DecodeRaw
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ ADD_SCENE(subrem, edit_submenu, EditSubMenu)
ADD_SCENE(subrem, edit_label, EditLabel)
ADD_SCENE(subrem, open_sub_file, OpenSubFile)
ADD_SCENE(subrem, edit_preview, EditPreview)
ADD_SCENE(subrem, enter_new_name, EnterNewName)
ADD_SCENE(subrem, enter_new_name, EnterNewName)
#ifdef FW_ORIGIN_Official
ADD_SCENE(subrem, fw_warning, FwWarning)
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ void subrem_scene_edit_label_on_enter(void* context) {
app->file_name_tmp,
25,
false);

#ifndef FW_ORIGIN_Official
text_input_set_minimum_length(app->text_input, 0);

#endif
widget_add_string_element(
app->widget, 63, 12, AlignCenter, AlignCenter, FontPrimary, "Empty Label Name");
widget_add_string_element(
Expand Down
Loading

0 comments on commit 59fd282

Please sign in to comment.