Skip to content

Commit

Permalink
Merge branch 'dev' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
xMasterX committed Oct 17, 2023
2 parents c71d04a + b93a063 commit da18305
Show file tree
Hide file tree
Showing 27 changed files with 395 additions and 169 deletions.
211 changes: 175 additions & 36 deletions .ci_files/rgb.patch

Large diffs are not rendered by default.

34 changes: 9 additions & 25 deletions CHANGELOG.md
@@ -1,29 +1,13 @@
## New changes
**Summary: BLE Core2 (Copro) crashes should be fixed with this update, Apple BLE Spam app and other apps updated to the latest versions, NFC file sort crashes has been fixed, other fixes and improvements see below:**
* SubGHz: Nice Flor S - added custom button code 0x3
* NFC: Fixes out of memory crash if we open folder with more than 300 files in it
* LF RFID: Fixed logic in `t5577_write_with_pass` (by @baugp | PR #612)
* Infrared: Updated universal assets (by @amec0e | PR #607 #619)
* **Apple BLE Spam app** updated to latest version (by @Willy-JL) -> (app can be found in builds ` `, `e`, `n`, `r`)
* OFW: Fix spelling across some project files
* OFW: CCID: Support PC To Reader Transfer Block data
* OFW: Firmware: bigger thread name storage. Notification app: better BacklightEnforce edge cases handling.
* OFW: Lib: update stm32wb_copro to 1.17.3 release
* OFW: FuriHal ble: length fix for fw version prop
* OFW: add documentation SubGhz Bin_RAW file format
* OFW: fbt: glob improvements
* OFW: HEX input UI improvements
* OFW: Ble: fix null-ptr dereference in bt_change_profile
* OFW: Add the coding in the shell animation
* OFW: FuriHal,BleGlue: prevent sleep while HCI command executed, proper bt api rpc locking. Fixes random system lockups.
* OFW: fbt: reworked tool path handling
* OFW: Gui: handle view port lockup and notify developer about it
* OFW: Added `fal_embedded` parameter for PLUGIN apps
* OFW: Fix multiline aligned text going out of bounds (again)
* OFW: Add Initial CCID support
* OFW: Add confirmation before exiting USB-UART
* OFW: Add extended I2C HAL functions -> **Breaking API change 38.x -> 39.x**
* OFW: New clock switch schema, **fixes random core2 crashes**
* SubGHz: Add 4 more systems to Add Manually (untested!)
* SubGHz: Add Manually fixes
* SubGHz: Added NiceFlor-S to ignore options, removed colons. (by @G2Dolphin | PR #620)
* Misc code cleanup
* RGB: Fix white color on reboot, move settings, add custom color option
* **BLE Spam app** updated to latest version (Android, Windows support) (by @Willy-JL) -> (app can be found in builds ` `, `e`, `n`, `r`)
* OFW: Fix double arrows and add proper indication
* OFW: SubGHz: add manually fix 12-bits is 0xFFF (or 0xFF0) CAME/NICE 12-bit
* OFW: Fix various crashes if debug libraries used

----

Expand Down
4 changes: 2 additions & 2 deletions applications/main/bad_usb/helpers/ducky_script.c
Expand Up @@ -294,7 +294,7 @@ static int32_t ducky_script_execute_next(BadUsbScript* bad_usb, File* script_fil
return delay_val;
} else if(delay_val < 0) { // Script error
bad_usb->st.error_line = bad_usb->st.line_cur - 1;
FURI_LOG_E(WORKER_TAG, "Unknown command at line %u", bad_usb->st.line_cur - 1U);
FURI_LOG_E(WORKER_TAG, "Unknown command at line %zu", bad_usb->st.line_cur - 1U);
return SCRIPT_STATE_ERROR;
} else {
return (delay_val + bad_usb->defdelay);
Expand Down Expand Up @@ -333,7 +333,7 @@ static int32_t ducky_script_execute_next(BadUsbScript* bad_usb, File* script_fil
return delay_val;
} else if(delay_val < 0) {
bad_usb->st.error_line = bad_usb->st.line_cur;
FURI_LOG_E(WORKER_TAG, "Unknown command at line %u", bad_usb->st.line_cur);
FURI_LOG_E(WORKER_TAG, "Unknown command at line %zu", bad_usb->st.line_cur);
return SCRIPT_STATE_ERROR;
} else {
return (delay_val + bad_usb->defdelay);
Expand Down
6 changes: 3 additions & 3 deletions applications/main/bad_usb/helpers/ducky_script.h
Expand Up @@ -24,10 +24,10 @@ typedef enum {

typedef struct {
BadUsbWorkerState state;
uint16_t line_cur;
uint16_t line_nb;
size_t line_cur;
size_t line_nb;
uint32_t delay_remain;
uint16_t error_line;
size_t error_line;
char error[64];
} BadUsbState;

Expand Down
8 changes: 4 additions & 4 deletions applications/main/bad_usb/views/bad_usb_view.c
Expand Up @@ -82,7 +82,7 @@ static void bad_usb_draw_callback(Canvas* canvas, void* _model) {
canvas_set_font(canvas, FontPrimary);
canvas_draw_str_aligned(canvas, 127, 33, AlignRight, AlignBottom, "ERROR:");
canvas_set_font(canvas, FontSecondary);
furi_string_printf(disp_str, "line %u", model->state.error_line);
furi_string_printf(disp_str, "line %zu", model->state.error_line);
canvas_draw_str_aligned(
canvas, 127, 46, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
furi_string_reset(disp_str);
Expand All @@ -105,7 +105,7 @@ static void bad_usb_draw_callback(Canvas* canvas, void* _model) {
}
canvas_set_font(canvas, FontBigNumbers);
furi_string_printf(
disp_str, "%u", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
disp_str, "%zu", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
canvas_draw_str_aligned(
canvas, 114, 40, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
furi_string_reset(disp_str);
Expand All @@ -124,7 +124,7 @@ static void bad_usb_draw_callback(Canvas* canvas, void* _model) {
}
canvas_set_font(canvas, FontBigNumbers);
furi_string_printf(
disp_str, "%u", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
disp_str, "%zu", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
canvas_draw_str_aligned(
canvas, 114, 40, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
furi_string_reset(disp_str);
Expand All @@ -142,7 +142,7 @@ static void bad_usb_draw_callback(Canvas* canvas, void* _model) {
}
canvas_set_font(canvas, FontBigNumbers);
furi_string_printf(
disp_str, "%u", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
disp_str, "%zu", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
canvas_draw_str_aligned(
canvas, 114, 40, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
furi_string_reset(disp_str);
Expand Down
10 changes: 7 additions & 3 deletions applications/main/subghz/helpers/subghz_custom_event.h
Expand Up @@ -25,8 +25,12 @@ typedef enum {
SubmenuIndexStilmatic,
SubmenuIndexDTMNeo433,
SubmenuIndexGibidi433,
SubmenuIndexNiceMHouse_433_92,
SubmenuIndexJCM_433_92,
SubmenuIndexNormstahl_433_92,
SubmenuIndexGSN,
SubmenuIndexAprimatic,
SubmenuIndexHCS101_433_92,
SubmenuIndexANMotorsAT4,
SubmenuIndexAlutechAT4N,
SubmenuIndexNiceFlo12bit,
Expand All @@ -51,9 +55,9 @@ typedef enum {
SubmenuIndexGateTX,
SubmenuIndexDoorHan_315_00,
SubmenuIndexDoorHan_433_92,
SubmenuIndexLiftMaster_315_00,
SubmenuIndexLiftMaster_390_00,
SubmenuIndexLiftMaster_433_00,
SubmenuIndexSecPlus_v1_315_00,
SubmenuIndexSecPlus_v1_390_00,
SubmenuIndexSecPlus_v1_433_00,
SubmenuIndexSecPlus_v2_310_00,
SubmenuIndexSecPlus_v2_315_00,
SubmenuIndexSecPlus_v2_390_00,
Expand Down
35 changes: 26 additions & 9 deletions applications/main/subghz/scenes/subghz_scene_receiver_config.c
Expand Up @@ -12,6 +12,7 @@ enum SubGhzSettingIndex {
SubGhzSettingIndexIgnoreCars,
SubGhzSettingIndexIgnoreMagellan,
SubGhzSettingIndexIgnorePrinceton,
SubGhzSettingIndexIgnoreNiceFlorS,
SubGhzSettingIndexSound,
SubGhzSettingIndexResetToDefault,
SubGhzSettingIndexLock,
Expand Down Expand Up @@ -278,6 +279,10 @@ static void subghz_scene_receiver_config_set_princeton(VariableItem* item) {
subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_Princeton);
}

static void subghz_scene_receiver_config_set_niceflors(VariableItem* item) {
subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_NiceFlorS);
}

static void subghz_scene_receiver_config_var_list_enter_callback(void* context, uint32_t index) {
furi_assert(context);
SubGhz* subghz = context;
Expand Down Expand Up @@ -336,7 +341,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {

item = variable_item_list_add(
subghz->variable_item_list,
"Frequency:",
"Frequency",
subghz_setting_get_frequency_count(setting),
subghz_scene_receiver_config_set_frequency,
subghz);
Expand All @@ -356,7 +361,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {

item = variable_item_list_add(
subghz->variable_item_list,
"Modulation:",
"Modulation",
subghz_setting_get_preset_count(setting),
subghz_scene_receiver_config_set_preset,
subghz);
Expand All @@ -371,7 +376,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {
// Hopping
item = variable_item_list_add(
subghz->variable_item_list,
"Hopping:",
"Hopping",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_hopping_running,
subghz);
Expand All @@ -385,7 +390,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {
SubGhzCustomEventManagerSet) {
item = variable_item_list_add(
subghz->variable_item_list,
"Bin RAW:",
"Bin RAW",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_bin_raw,
subghz);
Expand All @@ -399,7 +404,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {
SubGhzCustomEventManagerSet) {
item = variable_item_list_add(
subghz->variable_item_list,
"Ignore Starline:",
"Ignore Starline",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_starline,
subghz);
Expand All @@ -411,7 +416,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {

item = variable_item_list_add(
subghz->variable_item_list,
"Ignore Cars:",
"Ignore Cars",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_auto_alarms,
subghz);
Expand All @@ -423,7 +428,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {

item = variable_item_list_add(
subghz->variable_item_list,
"Ignore Magellan:",
"Ignore Magellan",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_magellan,
subghz);
Expand All @@ -435,7 +440,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {

item = variable_item_list_add(
subghz->variable_item_list,
"Ignore Princeton:",
"Ignore Princeton",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_princeton,
subghz);
Expand All @@ -444,12 +449,24 @@ void subghz_scene_receiver_config_on_enter(void* context) {
subghz->ignore_filter, SubGhzProtocolFlag_Princeton);
variable_item_set_current_value_index(item, value_index);
variable_item_set_current_value_text(item, combobox_text[value_index]);

item = variable_item_list_add(
subghz->variable_item_list,
"Ignore Nice Flor-S / Nice One",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_niceflors,
subghz);

value_index = subghz_scene_receiver_config_ignore_filter_get_index(
subghz->ignore_filter, SubGhzProtocolFlag_NiceFlorS);
variable_item_set_current_value_index(item, value_index);
variable_item_set_current_value_text(item, combobox_text[value_index]);
}

// Enable speaker, will send all incoming noises and signals to speaker so you can listen how your remote sounds like :)
item = variable_item_list_add(
subghz->variable_item_list,
"Sound:",
"Sound",
COMBO_BOX_COUNT,
subghz_scene_receiver_config_set_speaker,
subghz);
Expand Down

0 comments on commit da18305

Please sign in to comment.