Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSkorpionm <85568270+Skorpionm@users.noreply.github.com>2022-05-27 14:29:52 +0300
committerGitHub <noreply@github.com>2022-05-27 14:29:52 +0300
commit5c45250dd2c60f2f3a38849a6253f58a71059598 (patch)
treec064c66c4e865d2968d5413b4fcd705d2d8ce46b /applications/subghz/scenes
parent79920a3522092f0a7ad0bb043ba096119ef8057d (diff)
SubGhz: Сreating and delivering Security+ 1.0 (#1268)
* SubGhz: fix frequency reset on incomplete exit from the transmission menu * SubGhz: fix incorrect shutdown of CC1101 if it was not turned on * SubGhz: consciousness and transmission support Security+ 1.0 * Unit_test: add test encoder Security+ 1/0 * SubGhz: fix start counter Security+ 1.0 Co-authored-by: SG <who.just.the.doctor@gmail.com> Co-authored-by: あく <alleteam@gmail.com>
Diffstat (limited to 'applications/subghz/scenes')
-rw-r--r--applications/subghz/scenes/subghz_scene_set_type.c46
-rw-r--r--applications/subghz/scenes/subghz_scene_transmitter.c3
2 files changed, 46 insertions, 3 deletions
diff --git a/applications/subghz/scenes/subghz_scene_set_type.c b/applications/subghz/scenes/subghz_scene_set_type.c
index cb56ff74..b050107d 100644
--- a/applications/subghz/scenes/subghz_scene_set_type.c
+++ b/applications/subghz/scenes/subghz_scene_set_type.c
@@ -1,5 +1,6 @@
#include "../subghz_i.h"
#include <lib/subghz/protocols/keeloq.h>
+#include <lib/subghz/protocols/secplus_v1.h>
#include <lib/subghz/blocks/math.h>
#include <dolphin/dolphin.h>
#include <flipper_format/flipper_format_i.h>
@@ -21,6 +22,8 @@ enum SubmenuIndex {
SubmenuIndexDoorHan_315_00,
SubmenuIndexDoorHan_433_92,
SubmenuIndexFirefly_300_00,
+ SubmenuIndexLiftMaster_315_00,
+ SubmenuIndexLiftMaster_390_00,
};
bool subghz_scene_set_type_submenu_gen_data_protocol(
@@ -142,6 +145,18 @@ void subghz_scene_set_type_on_enter(void* context) {
SubmenuIndexDoorHan_433_92,
subghz_scene_set_type_submenu_callback,
subghz);
+ submenu_add_item(
+ subghz->submenu,
+ "LiftMaster_315",
+ SubmenuIndexLiftMaster_315_00,
+ subghz_scene_set_type_submenu_callback,
+ subghz);
+ submenu_add_item(
+ subghz->submenu,
+ "LiftMaster_390",
+ SubmenuIndexLiftMaster_390_00,
+ subghz_scene_set_type_submenu_callback,
+ subghz);
submenu_set_selected_item(
subghz->submenu, scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneSetType));
@@ -311,6 +326,37 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
}
break;
+ case SubmenuIndexLiftMaster_315_00:
+ while(!subghz_protocol_secplus_v1_check_fixed(key)) {
+ key = subghz_random_serial();
+ }
+
+ if(subghz_scene_set_type_submenu_gen_data_protocol(
+ subghz,
+ SUBGHZ_PROTOCOL_SECPLUS_V1_NAME,
+ (uint64_t)key << 32 | 0xE6000000,
+ 42,
+ 315000000,
+ FuriHalSubGhzPresetOok650Async)) {
+ generated_protocol = true;
+ }
+ break;
+ case SubmenuIndexLiftMaster_390_00:
+ while(!subghz_protocol_secplus_v1_check_fixed(key)) {
+ key = subghz_random_serial();
+ }
+
+ if(subghz_scene_set_type_submenu_gen_data_protocol(
+ subghz,
+ SUBGHZ_PROTOCOL_SECPLUS_V1_NAME,
+ (uint64_t)key << 32 | 0xE6000000,
+ 42,
+ 390000000,
+ FuriHalSubGhzPresetOok650Async)) {
+ generated_protocol = true;
+ }
+ break;
+
default:
return false;
break;
diff --git a/applications/subghz/scenes/subghz_scene_transmitter.c b/applications/subghz/scenes/subghz_scene_transmitter.c
index 552a36e9..b8b22749 100644
--- a/applications/subghz/scenes/subghz_scene_transmitter.c
+++ b/applications/subghz/scenes/subghz_scene_transmitter.c
@@ -108,8 +108,5 @@ bool subghz_scene_transmitter_on_event(void* context, SceneManagerEvent event) {
void subghz_scene_transmitter_on_exit(void* context) {
SubGhz* subghz = context;
- //Restore default setting
- subghz->txrx->frequency = subghz_setting_get_default_frequency(subghz->setting);
- subghz->txrx->preset = FuriHalSubGhzPresetOok650Async;
subghz->state_notifications = SubGhzNotificationStateIDLE;
}