mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 20:58:36 -07:00
Merge branch 'dev' of https://github.com/Flipper-XFW/Xtreme-Firmware into new-app-system
This commit is contained in:
@@ -23,15 +23,15 @@ void ibutton_scene_emulate_on_enter(void* context) {
|
|||||||
|
|
||||||
furi_string_printf(
|
furi_string_printf(
|
||||||
tmp,
|
tmp,
|
||||||
"%s\n[%s]",
|
"[%s]\n%s",
|
||||||
furi_string_empty(ibutton->file_path) ? "Unsaved Key" : ibutton->key_name,
|
ibutton_protocols_get_name(ibutton->protocols, ibutton_key_get_protocol_id(key)),
|
||||||
ibutton_protocols_get_name(ibutton->protocols, ibutton_key_get_protocol_id(key)));
|
furi_string_empty(ibutton->file_path) ? "Unsaved Key" : ibutton->key_name);
|
||||||
|
|
||||||
widget_add_text_box_element(
|
widget_add_text_box_element(
|
||||||
widget, 52, 38, 75, 26, AlignCenter, AlignCenter, furi_string_get_cstr(tmp), true);
|
widget, 52, 30, 75, 40, AlignCenter, AlignCenter, furi_string_get_cstr(tmp), true);
|
||||||
|
|
||||||
widget_add_string_multiline_element(
|
widget_add_string_multiline_element(
|
||||||
widget, 88, 10, AlignCenter, AlignTop, FontPrimary, "iButton\nemulating");
|
widget, 88, 5, AlignCenter, AlignTop, FontPrimary, "iButton\nemulating");
|
||||||
|
|
||||||
ibutton_worker_emulate_set_callback(ibutton->worker, ibutton_scene_emulate_callback, ibutton);
|
ibutton_worker_emulate_set_callback(ibutton->worker, ibutton_scene_emulate_callback, ibutton);
|
||||||
ibutton_worker_emulate_start(ibutton->worker, key);
|
ibutton_worker_emulate_start(ibutton->worker, key);
|
||||||
|
|||||||
@@ -11,12 +11,12 @@ void ibutton_scene_info_on_enter(void* context) {
|
|||||||
|
|
||||||
furi_string_printf(
|
furi_string_printf(
|
||||||
tmp,
|
tmp,
|
||||||
"\e#%s [%s]\e#",
|
"\e#%s\n[%s]\e#",
|
||||||
ibutton->key_name,
|
ibutton->key_name,
|
||||||
ibutton_protocols_get_name(ibutton->protocols, protocol_id));
|
ibutton_protocols_get_name(ibutton->protocols, protocol_id));
|
||||||
|
|
||||||
widget_add_text_box_element(
|
widget_add_text_box_element(
|
||||||
widget, 0, 2, 128, 12, AlignLeft, AlignTop, furi_string_get_cstr(tmp), true);
|
widget, 0, 2, 128, 40, AlignLeft, AlignTop, furi_string_get_cstr(tmp), true);
|
||||||
|
|
||||||
furi_string_reset(tmp);
|
furi_string_reset(tmp);
|
||||||
ibutton_protocols_render_brief_data(ibutton->protocols, key, tmp);
|
ibutton_protocols_render_brief_data(ibutton->protocols, key, tmp);
|
||||||
|
|||||||
@@ -42,12 +42,12 @@ void ibutton_scene_write_on_enter(void* context) {
|
|||||||
|
|
||||||
furi_string_printf(
|
furi_string_printf(
|
||||||
tmp,
|
tmp,
|
||||||
"%s\n[%s]",
|
"[%s]\n%s",
|
||||||
ibutton->key_name,
|
ibutton_protocols_get_name(ibutton->protocols, protocol_id),
|
||||||
ibutton_protocols_get_name(ibutton->protocols, protocol_id));
|
ibutton->key_name);
|
||||||
|
|
||||||
widget_add_text_box_element(
|
widget_add_text_box_element(
|
||||||
widget, 52, 38, 75, 26, AlignCenter, AlignCenter, furi_string_get_cstr(tmp), true);
|
widget, 52, 30, 75, 40, AlignCenter, AlignCenter, furi_string_get_cstr(tmp), true);
|
||||||
|
|
||||||
ibutton_worker_write_set_callback(worker, ibutton_scene_write_callback, ibutton);
|
ibutton_worker_write_set_callback(worker, ibutton_scene_write_callback, ibutton);
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ void ibutton_scene_write_on_enter(void* context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
widget_add_string_multiline_element(
|
widget_add_string_multiline_element(
|
||||||
widget, 88, 10, AlignCenter, AlignTop, FontPrimary, furi_string_get_cstr(tmp));
|
widget, 88, 5, AlignCenter, AlignTop, FontPrimary, furi_string_get_cstr(tmp));
|
||||||
|
|
||||||
ibutton_notification_message(ibutton, iButtonNotificationMessageEmulateStart);
|
ibutton_notification_message(ibutton, iButtonNotificationMessageEmulateStart);
|
||||||
view_dispatcher_switch_to_view(ibutton->view_dispatcher, iButtonViewWidget);
|
view_dispatcher_switch_to_view(ibutton->view_dispatcher, iButtonViewWidget);
|
||||||
|
|||||||
@@ -167,16 +167,16 @@ static InfraredApp* infrared_alloc() {
|
|||||||
view_dispatcher_add_view(
|
view_dispatcher_add_view(
|
||||||
view_dispatcher, InfraredViewTextInput, text_input_get_view(infrared->text_input));
|
view_dispatcher, InfraredViewTextInput, text_input_get_view(infrared->text_input));
|
||||||
|
|
||||||
|
infrared->dialog_ex = dialog_ex_alloc();
|
||||||
|
view_dispatcher_add_view(
|
||||||
|
view_dispatcher, InfraredViewDialogEx, dialog_ex_get_view(infrared->dialog_ex));
|
||||||
|
|
||||||
infrared->variable_item_list = variable_item_list_alloc();
|
infrared->variable_item_list = variable_item_list_alloc();
|
||||||
view_dispatcher_add_view(
|
view_dispatcher_add_view(
|
||||||
infrared->view_dispatcher,
|
infrared->view_dispatcher,
|
||||||
InfraredViewVariableItemList,
|
InfraredViewVariableItemList,
|
||||||
variable_item_list_get_view(infrared->variable_item_list));
|
variable_item_list_get_view(infrared->variable_item_list));
|
||||||
|
|
||||||
infrared->dialog_ex = dialog_ex_alloc();
|
|
||||||
view_dispatcher_add_view(
|
|
||||||
view_dispatcher, InfraredViewDialogEx, dialog_ex_get_view(infrared->dialog_ex));
|
|
||||||
|
|
||||||
infrared->button_menu = button_menu_alloc();
|
infrared->button_menu = button_menu_alloc();
|
||||||
view_dispatcher_add_view(
|
view_dispatcher_add_view(
|
||||||
view_dispatcher, InfraredViewButtonMenu, button_menu_get_view(infrared->button_menu));
|
view_dispatcher, InfraredViewButtonMenu, button_menu_get_view(infrared->button_menu));
|
||||||
@@ -224,12 +224,12 @@ static void infrared_free(InfraredApp* infrared) {
|
|||||||
view_dispatcher_remove_view(view_dispatcher, InfraredViewTextInput);
|
view_dispatcher_remove_view(view_dispatcher, InfraredViewTextInput);
|
||||||
text_input_free(infrared->text_input);
|
text_input_free(infrared->text_input);
|
||||||
|
|
||||||
view_dispatcher_remove_view(infrared->view_dispatcher, InfraredViewVariableItemList);
|
|
||||||
variable_item_list_free(infrared->variable_item_list);
|
|
||||||
|
|
||||||
view_dispatcher_remove_view(view_dispatcher, InfraredViewDialogEx);
|
view_dispatcher_remove_view(view_dispatcher, InfraredViewDialogEx);
|
||||||
dialog_ex_free(infrared->dialog_ex);
|
dialog_ex_free(infrared->dialog_ex);
|
||||||
|
|
||||||
|
view_dispatcher_remove_view(infrared->view_dispatcher, InfraredViewVariableItemList);
|
||||||
|
variable_item_list_free(infrared->variable_item_list);
|
||||||
|
|
||||||
view_dispatcher_remove_view(view_dispatcher, InfraredViewButtonMenu);
|
view_dispatcher_remove_view(view_dispatcher, InfraredViewButtonMenu);
|
||||||
button_menu_free(infrared->button_menu);
|
button_menu_free(infrared->button_menu);
|
||||||
|
|
||||||
@@ -271,11 +271,6 @@ static void infrared_free(InfraredApp* infrared) {
|
|||||||
furi_string_free(infrared->file_path);
|
furi_string_free(infrared->file_path);
|
||||||
furi_string_free(infrared->button_name);
|
furi_string_free(infrared->button_name);
|
||||||
|
|
||||||
// Disable 5v power if was enabled for external module
|
|
||||||
if(furi_hal_power_is_otg_enabled()) {
|
|
||||||
furi_hal_power_disable_otg();
|
|
||||||
}
|
|
||||||
|
|
||||||
free(infrared);
|
free(infrared);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,10 @@
|
|||||||
#include <gui/modules/loading.h>
|
#include <gui/modules/loading.h>
|
||||||
#include <gui/modules/submenu.h>
|
#include <gui/modules/submenu.h>
|
||||||
#include <gui/modules/dialog_ex.h>
|
#include <gui/modules/dialog_ex.h>
|
||||||
#include <gui/modules/variable_item_list.h>
|
|
||||||
#include <gui/modules/text_input.h>
|
#include <gui/modules/text_input.h>
|
||||||
#include <gui/modules/button_menu.h>
|
#include <gui/modules/button_menu.h>
|
||||||
#include <gui/modules/button_panel.h>
|
#include <gui/modules/button_panel.h>
|
||||||
|
#include <gui/modules/variable_item_list.h>
|
||||||
|
|
||||||
#include <storage/storage.h>
|
#include <storage/storage.h>
|
||||||
#include <dialogs/dialogs.h>
|
#include <dialogs/dialogs.h>
|
||||||
@@ -109,10 +109,10 @@ struct InfraredApp {
|
|||||||
|
|
||||||
Submenu* submenu; /**< Standard view for displaying application menus. */
|
Submenu* submenu; /**< Standard view for displaying application menus. */
|
||||||
TextInput* text_input; /**< Standard view for receiving user text input. */
|
TextInput* text_input; /**< Standard view for receiving user text input. */
|
||||||
VariableItemList* variable_item_list; /**< Standard view for displaying option menus. */
|
|
||||||
DialogEx* dialog_ex; /**< Standard view for displaying dialogs. */
|
DialogEx* dialog_ex; /**< Standard view for displaying dialogs. */
|
||||||
ButtonMenu* button_menu; /**< Custom view for interacting with IR remotes. */
|
ButtonMenu* button_menu; /**< Custom view for interacting with IR remotes. */
|
||||||
Popup* popup; /**< Standard view for displaying messages. */
|
Popup* popup; /**< Standard view for displaying messages. */
|
||||||
|
VariableItemList* variable_item_list;
|
||||||
|
|
||||||
ViewStack* view_stack; /**< Standard view for displaying stacked interfaces. */
|
ViewStack* view_stack; /**< Standard view for displaying stacked interfaces. */
|
||||||
InfraredDebugView* debug_view; /**< Custom view for displaying debug information. */
|
InfraredDebugView* debug_view; /**< Custom view for displaying debug information. */
|
||||||
@@ -137,13 +137,13 @@ struct InfraredApp {
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
InfraredViewSubmenu,
|
InfraredViewSubmenu,
|
||||||
InfraredViewTextInput,
|
InfraredViewTextInput,
|
||||||
InfraredViewVariableItemList,
|
|
||||||
InfraredViewDialogEx,
|
InfraredViewDialogEx,
|
||||||
InfraredViewButtonMenu,
|
InfraredViewButtonMenu,
|
||||||
InfraredViewPopup,
|
InfraredViewPopup,
|
||||||
InfraredViewStack,
|
InfraredViewStack,
|
||||||
InfraredViewDebugView,
|
InfraredViewDebugView,
|
||||||
InfraredViewMove,
|
InfraredViewMove,
|
||||||
|
InfraredViewVariableItemList,
|
||||||
} InfraredView;
|
} InfraredView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
Filetype: IR library file
|
Filetype: IR library file
|
||||||
Version: 1
|
Version: 1
|
||||||
# Last Updated 1st Oct, 2023
|
# Last Updated 29th Oct, 2023
|
||||||
# Last Checked 1st Oct, 2023
|
# Last Checked 29th Oct, 2023
|
||||||
#
|
#
|
||||||
name: Power
|
name: Power
|
||||||
type: parsed
|
type: parsed
|
||||||
@@ -2393,3 +2393,69 @@ type: parsed
|
|||||||
protocol: NECext
|
protocol: NECext
|
||||||
address: 69 69 00 00
|
address: 69 69 00 00
|
||||||
command: 0E F1 00 00
|
command: 0E F1 00 00
|
||||||
|
#
|
||||||
|
name: Power
|
||||||
|
type: parsed
|
||||||
|
protocol: NECext
|
||||||
|
address: 01 3E 00 00
|
||||||
|
command: 0A F5 00 00
|
||||||
|
#
|
||||||
|
name: Mute
|
||||||
|
type: parsed
|
||||||
|
protocol: NECext
|
||||||
|
address: 01 3E 00 00
|
||||||
|
command: 0B F4 00 00
|
||||||
|
#
|
||||||
|
name: Vol_up
|
||||||
|
type: parsed
|
||||||
|
protocol: NECext
|
||||||
|
address: 01 3E 00 00
|
||||||
|
command: 1E E1 00 00
|
||||||
|
#
|
||||||
|
name: Vol_dn
|
||||||
|
type: parsed
|
||||||
|
protocol: NECext
|
||||||
|
address: 01 3E 00 00
|
||||||
|
command: 5F A0 00 00
|
||||||
|
#
|
||||||
|
name: Ch_next
|
||||||
|
type: parsed
|
||||||
|
protocol: NECext
|
||||||
|
address: 01 3E 00 00
|
||||||
|
command: 1F E0 00 00
|
||||||
|
#
|
||||||
|
name: Ch_prev
|
||||||
|
type: parsed
|
||||||
|
protocol: NECext
|
||||||
|
address: 01 3E 00 00
|
||||||
|
command: 5C A3 00 00
|
||||||
|
#
|
||||||
|
name: Power
|
||||||
|
type: parsed
|
||||||
|
protocol: NEC
|
||||||
|
address: 38 00 00 00
|
||||||
|
command: 01 00 00 00
|
||||||
|
#
|
||||||
|
name: Vol_up
|
||||||
|
type: parsed
|
||||||
|
protocol: NEC
|
||||||
|
address: 38 00 00 00
|
||||||
|
command: 0C 00 00 00
|
||||||
|
#
|
||||||
|
name: Vol_dn
|
||||||
|
type: parsed
|
||||||
|
protocol: NEC
|
||||||
|
address: 38 00 00 00
|
||||||
|
command: 10 00 00 00
|
||||||
|
#
|
||||||
|
name: Ch_next
|
||||||
|
type: parsed
|
||||||
|
protocol: NEC
|
||||||
|
address: 38 00 00 00
|
||||||
|
command: 18 00 00 00
|
||||||
|
#
|
||||||
|
name: Ch_prev
|
||||||
|
type: parsed
|
||||||
|
protocol: NEC
|
||||||
|
address: 38 00 00 00
|
||||||
|
command: 1C 00 00 00
|
||||||
|
|||||||
@@ -4012,3 +4012,96 @@ AA4DDA458EBB
|
|||||||
CA80E51FA52B
|
CA80E51FA52B
|
||||||
C2A0105EB028
|
C2A0105EB028
|
||||||
67B1B3A4E497
|
67B1B3A4E497
|
||||||
|
##############################################
|
||||||
|
# STB - keys from Bucharest Public Transport
|
||||||
|
# Found with FlipperNestedRecovery by Z3r0L1nk
|
||||||
|
330075000850
|
||||||
|
2FA9B556A4F6
|
||||||
|
91B1B62402D5
|
||||||
|
9AE05868233F
|
||||||
|
6D2BF79566A8
|
||||||
|
60D53F070572
|
||||||
|
09F4EC8D7A66
|
||||||
|
D017A84BB582
|
||||||
|
1719EB5DAC66
|
||||||
|
96AECCC0F7EB
|
||||||
|
A64536FAC799
|
||||||
|
7BF0BE85080F
|
||||||
|
E9B376925A00
|
||||||
|
44B61F116125
|
||||||
|
E861FDE1B59F
|
||||||
|
5CD02DAD8ADE
|
||||||
|
5FA28B8E8BA4
|
||||||
|
C497C3BE8273
|
||||||
|
B1EEAA640EF6
|
||||||
|
1E13EFF32CE2
|
||||||
|
D6818C29ED9B
|
||||||
|
050BF33DC217
|
||||||
|
41CD3CD99DD5
|
||||||
|
02DB253DC0C7
|
||||||
|
25467EB0212F
|
||||||
|
DF7C4EC20B50
|
||||||
|
5703815494EF
|
||||||
|
9F14D35BAC08
|
||||||
|
F697E87E759D
|
||||||
|
D9762D114AE5
|
||||||
|
AC935925A876
|
||||||
|
5AD3FC074A4C
|
||||||
|
19BA6776233F
|
||||||
|
EEF144866688
|
||||||
|
C34FAA1931CA
|
||||||
|
8A0DFD9B7AEA
|
||||||
|
D3AEB15D410B
|
||||||
|
251BDBF1C71D
|
||||||
|
286A8893AC6F
|
||||||
|
6A86C1895A21
|
||||||
|
D7142E0F6D0D
|
||||||
|
B0A3212D47A5
|
||||||
|
1581C317B073
|
||||||
|
8EF0AA6432FA
|
||||||
|
AD00EFD353E4
|
||||||
|
439FB891279F
|
||||||
|
141DF3B1C017
|
||||||
|
58DBC850A4D5
|
||||||
|
14CD299DC0C7
|
||||||
|
B48D7E4E508F
|
||||||
|
32774E46C64F
|
||||||
|
61152534ACEF
|
||||||
|
280FD37AD407
|
||||||
|
C789E4568B99
|
||||||
|
122F595302AA
|
||||||
|
84A3FD4BA0C6
|
||||||
|
B0D58BF147B7
|
||||||
|
15B35D0BF715
|
||||||
|
##############################################
|
||||||
|
# Metrorex - keys from Subway Bucharest Public Transport
|
||||||
|
# Found with FlipperNestedRecovery by Z3r0L1nk
|
||||||
|
7246FCE86427
|
||||||
|
1415FFFED68D
|
||||||
|
8C524B535E1D
|
||||||
|
0FC4B1D2EBBA
|
||||||
|
280713CBA260
|
||||||
|
EDC9CC9109A2
|
||||||
|
DCD003CF0EA3
|
||||||
|
DD30A13519C3
|
||||||
|
8A35039F6CD6
|
||||||
|
538BF58687EB
|
||||||
|
E3007FA4F781
|
||||||
|
F654D6C7004F
|
||||||
|
7C20975C6EC9
|
||||||
|
C992F85B2DDD
|
||||||
|
156EED7C5F9D
|
||||||
|
16785FD65BA7
|
||||||
|
A2D5D7469472
|
||||||
|
585462E190F2
|
||||||
|
FA4D2B3BAFEA
|
||||||
|
251780F9FBE6
|
||||||
|
EA4987F8D096
|
||||||
|
48B390984150
|
||||||
|
EA19E58DD046
|
||||||
|
1C000EB0752F
|
||||||
|
96227EDADBCF
|
||||||
|
3F41891454EE
|
||||||
|
7EDAE7923287
|
||||||
|
11DDA4862A1C
|
||||||
|
##############################################
|
||||||
|
|||||||
@@ -93,8 +93,9 @@ static void updater_main_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
canvas_draw_icon(canvas, 7, 54, &I_Ok_btn_9x9);
|
canvas_draw_icon(canvas, 7, 54, &I_Ok_btn_9x9);
|
||||||
canvas_draw_icon(canvas, 75, 55, &I_Pin_back_arrow_10x8);
|
canvas_draw_icon(canvas, 75, 55, &I_Pin_back_arrow_10x8);
|
||||||
} else {
|
} else {
|
||||||
canvas_draw_str_aligned(canvas, 55, 14, AlignLeft, AlignTop, "UPDATING");
|
canvas_draw_str_aligned(canvas, 82, 16, AlignCenter, AlignTop, "Xtreme FW");
|
||||||
canvas_set_font(canvas, FontSecondary);
|
canvas_set_font(canvas, FontSecondary);
|
||||||
|
canvas_draw_str_aligned(canvas, 82, 6, AlignCenter, AlignTop, "Installing");
|
||||||
canvas_draw_str_aligned(
|
canvas_draw_str_aligned(
|
||||||
canvas, 64, 51, AlignCenter, AlignTop, furi_string_get_cstr(model->status));
|
canvas, 64, 51, AlignCenter, AlignTop, furi_string_get_cstr(model->status));
|
||||||
canvas_draw_icon(canvas, 4, 5, &I_Updating_32x40);
|
canvas_draw_icon(canvas, 4, 5, &I_Updating_32x40);
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 4.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -31,7 +31,7 @@ bool subghz_protocol_secplus_v2_create_data(
|
|||||||
* @param flipper_format Pointer to a FlipperFormat instance
|
* @param flipper_format Pointer to a FlipperFormat instance
|
||||||
* @param serial Serial number, 28 bit
|
* @param serial Serial number, 28 bit
|
||||||
* @param btn Button number, 4 bit
|
* @param btn Button number, 4 bit
|
||||||
* @param cnt Container value, 16 bit
|
* @param cnt Counter value, 16 bit
|
||||||
* @param manufacture_name Name of manufacturer's key
|
* @param manufacture_name Name of manufacturer's key
|
||||||
* @param preset Modulation, SubGhzRadioPreset
|
* @param preset Modulation, SubGhzRadioPreset
|
||||||
* @return true On success
|
* @return true On success
|
||||||
@@ -107,6 +107,22 @@ bool subghz_protocol_alutech_at_4n_create_data(
|
|||||||
uint16_t cnt,
|
uint16_t cnt,
|
||||||
SubGhzRadioPreset* preset);
|
SubGhzRadioPreset* preset);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Key generation from simple data.
|
||||||
|
* @param context Pointer to a SubGhzProtocolEncoderCameAtomo instance
|
||||||
|
* @param flipper_format Pointer to a FlipperFormat instance
|
||||||
|
* @param serial Serial number, 24 bit
|
||||||
|
* @param cnt Counter value, 16 bit
|
||||||
|
* @param preset Modulation, SubGhzRadioPreset
|
||||||
|
* @return true On success
|
||||||
|
*/
|
||||||
|
bool subghz_protocol_came_atomo_create_data(
|
||||||
|
void* context,
|
||||||
|
FlipperFormat* flipper_format,
|
||||||
|
uint32_t serial,
|
||||||
|
uint16_t cnt,
|
||||||
|
SubGhzRadioPreset* preset);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* New remote generation.
|
* New remote generation.
|
||||||
* @param context Pointer to a SubGhzProtocolEncoderNiceFlorS instance
|
* @param context Pointer to a SubGhzProtocolEncoderNiceFlorS instance
|
||||||
@@ -129,18 +145,22 @@ bool subghz_protocol_nice_flor_s_create_data(
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Key generation from simple data.
|
* Key generation from simple data.
|
||||||
* @param context Pointer to a SubGhzProtocolEncoderCameAtomo instance
|
* @param context Pointer to a SubGhzProtocolEncoderStarLine instance
|
||||||
* @param flipper_format Pointer to a FlipperFormat instance
|
* @param flipper_format Pointer to a FlipperFormat instance
|
||||||
* @param serial Serial number, 24 bit
|
* @param serial Serial number, 24 bit
|
||||||
|
* @param btn Button number, 8 bit
|
||||||
* @param cnt Counter value, 16 bit
|
* @param cnt Counter value, 16 bit
|
||||||
|
* @param manufacture_name Name of manufacturer's key
|
||||||
* @param preset Modulation, SubGhzRadioPreset
|
* @param preset Modulation, SubGhzRadioPreset
|
||||||
* @return true On success
|
* @return true On success
|
||||||
*/
|
*/
|
||||||
bool subghz_protocol_came_atomo_create_data(
|
bool subghz_protocol_star_line_create_data(
|
||||||
void* context,
|
void* context,
|
||||||
FlipperFormat* flipper_format,
|
FlipperFormat* flipper_format,
|
||||||
uint32_t serial,
|
uint32_t serial,
|
||||||
|
uint8_t btn,
|
||||||
uint16_t cnt,
|
uint16_t cnt,
|
||||||
|
const char* manufacture_name,
|
||||||
SubGhzRadioPreset* preset);
|
SubGhzRadioPreset* preset);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -161,6 +181,24 @@ bool subghz_protocol_somfy_telis_create_data(
|
|||||||
uint16_t cnt,
|
uint16_t cnt,
|
||||||
SubGhzRadioPreset* preset);
|
SubGhzRadioPreset* preset);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Key generation from simple data.
|
||||||
|
* @param context Pointer to a SubGhzProtocolEncoderSomfyKeytis instance
|
||||||
|
* @param flipper_format Pointer to a FlipperFormat instance
|
||||||
|
* @param serial Serial number, 24 bit
|
||||||
|
* @param btn Button number, 8 bit
|
||||||
|
* @param cnt Counter value, 16 bit
|
||||||
|
* @param preset Modulation, SubGhzRadioPreset
|
||||||
|
* @return true On success
|
||||||
|
*/
|
||||||
|
bool subghz_protocol_somfy_keytis_create_data(
|
||||||
|
void* context,
|
||||||
|
FlipperFormat* flipper_format,
|
||||||
|
uint32_t serial,
|
||||||
|
uint8_t btn,
|
||||||
|
uint16_t cnt,
|
||||||
|
SubGhzRadioPreset* preset);
|
||||||
|
|
||||||
typedef struct SubGhzProtocolDecoderBinRAW SubGhzProtocolDecoderBinRAW;
|
typedef struct SubGhzProtocolDecoderBinRAW SubGhzProtocolDecoderBinRAW;
|
||||||
|
|
||||||
void subghz_protocol_decoder_bin_raw_data_input_rssi(
|
void subghz_protocol_decoder_bin_raw_data_input_rssi(
|
||||||
|
|||||||
@@ -24,24 +24,6 @@ void* subghz_protocol_encoder_somfy_keytis_alloc(SubGhzEnvironment* environment)
|
|||||||
*/
|
*/
|
||||||
void subghz_protocol_encoder_somfy_keytis_free(void* context);
|
void subghz_protocol_encoder_somfy_keytis_free(void* context);
|
||||||
|
|
||||||
/**
|
|
||||||
* Key generation from simple data.
|
|
||||||
* @param context Pointer to a SubGhzProtocolEncoderSomfyKeytis instance
|
|
||||||
* @param flipper_format Pointer to a FlipperFormat instance
|
|
||||||
* @param serial Serial number, 24 bit
|
|
||||||
* @param btn Button number, 8 bit
|
|
||||||
* @param cnt Counter value, 16 bit
|
|
||||||
* @param preset Modulation, SubGhzRadioPreset
|
|
||||||
* @return true On success
|
|
||||||
*/
|
|
||||||
bool subghz_protocol_somfy_keytis_create_data(
|
|
||||||
void* context,
|
|
||||||
FlipperFormat* flipper_format,
|
|
||||||
uint32_t serial,
|
|
||||||
uint8_t btn,
|
|
||||||
uint16_t cnt,
|
|
||||||
SubGhzRadioPreset* preset);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deserialize and generating an upload to send.
|
* Deserialize and generating an upload to send.
|
||||||
* @param context Pointer to a SubGhzProtocolEncoderSomfyKeytis instance
|
* @param context Pointer to a SubGhzProtocolEncoderSomfyKeytis instance
|
||||||
|
|||||||
@@ -24,26 +24,6 @@ void* subghz_protocol_encoder_star_line_alloc(SubGhzEnvironment* environment);
|
|||||||
*/
|
*/
|
||||||
void subghz_protocol_encoder_star_line_free(void* context);
|
void subghz_protocol_encoder_star_line_free(void* context);
|
||||||
|
|
||||||
/**
|
|
||||||
* Key generation from simple data.
|
|
||||||
* @param context Pointer to a SubGhzProtocolEncoderStarLine instance
|
|
||||||
* @param flipper_format Pointer to a FlipperFormat instance
|
|
||||||
* @param serial Serial number, 24 bit
|
|
||||||
* @param btn Button number, 8 bit
|
|
||||||
* @param cnt Counter value, 16 bit
|
|
||||||
* @param manufacture_name Name of manufacturer's key
|
|
||||||
* @param preset Modulation, SubGhzRadioPreset
|
|
||||||
* @return true On success
|
|
||||||
*/
|
|
||||||
bool subghz_protocol_star_line_create_data(
|
|
||||||
void* context,
|
|
||||||
FlipperFormat* flipper_format,
|
|
||||||
uint32_t serial,
|
|
||||||
uint8_t btn,
|
|
||||||
uint16_t cnt,
|
|
||||||
const char* manufacture_name,
|
|
||||||
SubGhzRadioPreset* preset);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deserialize and generating an upload to send.
|
* Deserialize and generating an upload to send.
|
||||||
* @param context Pointer to a SubGhzProtocolEncoderStarLine instance
|
* @param context Pointer to a SubGhzProtocolEncoderStarLine instance
|
||||||
|
|||||||
@@ -296,8 +296,17 @@ def _validate_app_imports(target, source, env):
|
|||||||
(
|
(
|
||||||
"totp_",
|
"totp_",
|
||||||
"app_api_accumulator_",
|
"app_api_accumulator_",
|
||||||
|
"token_info_",
|
||||||
|
"memset_s",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
and any(
|
||||||
|
prefix in source[0].path
|
||||||
|
for prefix in [
|
||||||
|
"advanced_plugin",
|
||||||
|
"totp_",
|
||||||
|
]
|
||||||
|
)
|
||||||
]
|
]
|
||||||
for sym in ignore_syms:
|
for sym in ignore_syms:
|
||||||
unresolved_syms.remove(sym)
|
unresolved_syms.remove(sym)
|
||||||
|
|||||||
@@ -24,7 +24,9 @@ def __generate_resources_dist_entries(env):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Deploy apps' resources too
|
# Deploy apps' resources too
|
||||||
for app in env["APPBUILD"].apps:
|
resources_apps = env["APPBUILD"].apps.copy()
|
||||||
|
resources_apps.extend(x.app for x in env["FW_EXTAPPS"].application_map.values())
|
||||||
|
for app in resources_apps:
|
||||||
if not app.resources:
|
if not app.resources:
|
||||||
continue
|
continue
|
||||||
apps_resource_dir = app._appdir.Dir(app.resources)
|
apps_resource_dir = app._appdir.Dir(app.resources)
|
||||||
|
|||||||
@@ -2999,7 +2999,9 @@ Function,+,subghz_protocol_registry_get_by_index,const SubGhzProtocol*,"const Su
|
|||||||
Function,+,subghz_protocol_registry_get_by_name,const SubGhzProtocol*,"const SubGhzProtocolRegistry*, const char*"
|
Function,+,subghz_protocol_registry_get_by_name,const SubGhzProtocol*,"const SubGhzProtocolRegistry*, const char*"
|
||||||
Function,+,subghz_protocol_secplus_v1_check_fixed,_Bool,uint32_t
|
Function,+,subghz_protocol_secplus_v1_check_fixed,_Bool,uint32_t
|
||||||
Function,+,subghz_protocol_secplus_v2_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint32_t, SubGhzRadioPreset*"
|
Function,+,subghz_protocol_secplus_v2_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint32_t, SubGhzRadioPreset*"
|
||||||
|
Function,+,subghz_protocol_somfy_keytis_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*"
|
||||||
Function,+,subghz_protocol_somfy_telis_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*"
|
Function,+,subghz_protocol_somfy_telis_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, SubGhzRadioPreset*"
|
||||||
|
Function,+,subghz_protocol_star_line_create_data,_Bool,"void*, FlipperFormat*, uint32_t, uint8_t, uint16_t, const char*, SubGhzRadioPreset*"
|
||||||
Function,+,subghz_receiver_alloc_init,SubGhzReceiver*,SubGhzEnvironment*
|
Function,+,subghz_receiver_alloc_init,SubGhzReceiver*,SubGhzEnvironment*
|
||||||
Function,+,subghz_receiver_decode,void,"SubGhzReceiver*, _Bool, uint32_t"
|
Function,+,subghz_receiver_decode,void,"SubGhzReceiver*, _Bool, uint32_t"
|
||||||
Function,+,subghz_receiver_free,void,SubGhzReceiver*
|
Function,+,subghz_receiver_free,void,SubGhzReceiver*
|
||||||
|
|||||||
|
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
void furi_hal_subghz_set_extended_frequency(bool state_i);
|
void furi_hal_subghz_set_extended_frequency(bool state_i);
|
||||||
Reference in New Issue
Block a user