mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild
This commit is contained in:
@@ -282,6 +282,14 @@ static void subghz_scene_receiver_config_set_magellan(VariableItem* item) {
|
||||
subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_Magellan);
|
||||
}
|
||||
|
||||
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_set_weather(VariableItem* item) {
|
||||
subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_Weather);
|
||||
}
|
||||
@@ -289,10 +297,6 @@ static void subghz_scene_receiver_config_set_tpms(VariableItem* item) {
|
||||
subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_TPMS);
|
||||
}
|
||||
|
||||
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_var_list_enter_callback(void* context, uint32_t index) {
|
||||
furi_assert(context);
|
||||
SubGhz* subghz = context;
|
||||
@@ -351,7 +355,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);
|
||||
@@ -371,7 +375,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);
|
||||
@@ -386,7 +390,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);
|
||||
@@ -400,7 +404,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);
|
||||
@@ -414,7 +418,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);
|
||||
@@ -426,7 +430,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);
|
||||
@@ -438,7 +442,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);
|
||||
@@ -450,7 +454,31 @@ void subghz_scene_receiver_config_on_enter(void* context) {
|
||||
|
||||
item = variable_item_list_add(
|
||||
subghz->variable_item_list,
|
||||
"Ignore Weather:",
|
||||
"Ignore Princeton",
|
||||
COMBO_BOX_COUNT,
|
||||
subghz_scene_receiver_config_set_princeton,
|
||||
subghz);
|
||||
|
||||
value_index = subghz_scene_receiver_config_ignore_filter_get_index(
|
||||
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 NiceFlorS / 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]);
|
||||
|
||||
item = variable_item_list_add(
|
||||
subghz->variable_item_list,
|
||||
"Ignore Weather",
|
||||
COMBO_BOX_COUNT,
|
||||
subghz_scene_receiver_config_set_weather,
|
||||
subghz);
|
||||
@@ -462,7 +490,7 @@ void subghz_scene_receiver_config_on_enter(void* context) {
|
||||
|
||||
item = variable_item_list_add(
|
||||
subghz->variable_item_list,
|
||||
"Ignore TPMS:",
|
||||
"Ignore TPMS",
|
||||
COMBO_BOX_COUNT,
|
||||
subghz_scene_receiver_config_set_tpms,
|
||||
subghz);
|
||||
@@ -471,24 +499,12 @@ void subghz_scene_receiver_config_on_enter(void* context) {
|
||||
subghz->ignore_filter, SubGhzProtocolFlag_TPMS);
|
||||
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 Princeton:",
|
||||
COMBO_BOX_COUNT,
|
||||
subghz_scene_receiver_config_set_princeton,
|
||||
subghz);
|
||||
|
||||
value_index = subghz_scene_receiver_config_ignore_filter_get_index(
|
||||
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]);
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
||||
@@ -67,6 +67,12 @@ void subghz_scene_set_type_on_enter(void* context) {
|
||||
SubmenuIndexAlutechAT4N,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"KL: HCS101 433MHz",
|
||||
SubmenuIndexHCS101_433_92,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"KL: DoorHan 315MHz",
|
||||
@@ -163,6 +169,24 @@ void subghz_scene_set_type_on_enter(void* context) {
|
||||
SubmenuIndexElmesElectronic,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"KL: Normstahl 433MHz",
|
||||
SubmenuIndexNormstahl_433_92,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"KL: JCM Tech 433MHz",
|
||||
SubmenuIndexJCM_433_92,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"KL: Nice Mhouse 433MHz",
|
||||
SubmenuIndexNiceMHouse_433_92,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"KL: Nice Smilo 433MHz",
|
||||
@@ -278,19 +302,19 @@ void subghz_scene_set_type_on_enter(void* context) {
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"Security+1.0 315MHz",
|
||||
SubmenuIndexLiftMaster_315_00,
|
||||
SubmenuIndexSecPlus_v1_315_00,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"Security+1.0 390MHz",
|
||||
SubmenuIndexLiftMaster_390_00,
|
||||
SubmenuIndexSecPlus_v1_390_00,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
subghz->submenu,
|
||||
"Security+1.0 433MHz",
|
||||
SubmenuIndexLiftMaster_433_00,
|
||||
SubmenuIndexSecPlus_v1_433_00,
|
||||
subghz_scene_set_type_submenu_callback,
|
||||
subghz);
|
||||
submenu_add_item(
|
||||
@@ -371,7 +395,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
|
||||
subghz->txrx, "AM650", 433920000, SUBGHZ_PROTOCOL_CAME_NAME, key, 24);
|
||||
break;
|
||||
case SubmenuIndexCAME12bit868:
|
||||
key = (key & 0x0000FFF0) | 0x1; //btn 0x1, 0x2, 0x4
|
||||
key = (key & 0x00000FF0) | 0x1; //btn 0x1, 0x2, 0x4
|
||||
generated_protocol = subghz_txrx_gen_data_protocol(
|
||||
subghz->txrx, "AM650", 868350000, SUBGHZ_PROTOCOL_CAME_NAME, key, 12);
|
||||
break;
|
||||
@@ -702,15 +726,51 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
|
||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
|
||||
}
|
||||
break;
|
||||
case SubmenuIndexLiftMaster_315_00:
|
||||
case SubmenuIndexNiceMHouse_433_92:
|
||||
generated_protocol = subghz_txrx_gen_keeloq_protocol(
|
||||
subghz->txrx, "AM650", 433920000, key & 0x00FFFFFF, 0x2, 0x0003, "NICE_MHOUSE");
|
||||
if(!generated_protocol) {
|
||||
furi_string_set(
|
||||
subghz->error_str, "Function requires\nan SD card with\nfresh databases.");
|
||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
|
||||
}
|
||||
break;
|
||||
case SubmenuIndexJCM_433_92:
|
||||
generated_protocol = subghz_txrx_gen_keeloq_protocol(
|
||||
subghz->txrx, "AM650", 433920000, key & 0x00FFFFFF, 0x2, 0x0003, "JCM_Tech");
|
||||
if(!generated_protocol) {
|
||||
furi_string_set(
|
||||
subghz->error_str, "Function requires\nan SD card with\nfresh databases.");
|
||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
|
||||
}
|
||||
break;
|
||||
case SubmenuIndexNormstahl_433_92:
|
||||
generated_protocol = subghz_txrx_gen_keeloq_protocol(
|
||||
subghz->txrx, "AM650", 433920000, key & 0x00FFFFFF, 0x2, 0x0003, "Normstahl");
|
||||
if(!generated_protocol) {
|
||||
furi_string_set(
|
||||
subghz->error_str, "Function requires\nan SD card with\nfresh databases.");
|
||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
|
||||
}
|
||||
break;
|
||||
case SubmenuIndexHCS101_433_92:
|
||||
generated_protocol = subghz_txrx_gen_keeloq_protocol(
|
||||
subghz->txrx, "AM650", 433920000, key & 0x000FFFFF, 0x2, 0x0003, "HCS101");
|
||||
if(!generated_protocol) {
|
||||
furi_string_set(
|
||||
subghz->error_str, "Function requires\nan SD card with\nfresh databases.");
|
||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
|
||||
}
|
||||
break;
|
||||
case SubmenuIndexSecPlus_v1_315_00:
|
||||
generated_protocol =
|
||||
subghz_txrx_gen_secplus_v1_protocol(subghz->txrx, "AM650", 315000000);
|
||||
break;
|
||||
case SubmenuIndexLiftMaster_390_00:
|
||||
case SubmenuIndexSecPlus_v1_390_00:
|
||||
generated_protocol =
|
||||
subghz_txrx_gen_secplus_v1_protocol(subghz->txrx, "AM650", 390000000);
|
||||
break;
|
||||
case SubmenuIndexLiftMaster_433_00:
|
||||
case SubmenuIndexSecPlus_v1_433_00:
|
||||
generated_protocol =
|
||||
subghz_txrx_gen_secplus_v1_protocol(subghz->txrx, "AM650", 433920000);
|
||||
break;
|
||||
@@ -730,6 +790,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
|
||||
subghz->txrx, "AM650", 390000000, key, 0x68, 0xE500000);
|
||||
break;
|
||||
case SubmenuIndexSecPlus_v2_433_00:
|
||||
key = (key & 0x7FFFF3FC); // 850LM pairing
|
||||
generated_protocol = subghz_txrx_gen_secplus_v2_protocol(
|
||||
subghz->txrx, "AM650", 433920000, key, 0x68, 0xE500000);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user