1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 12:42:30 +04:00

add manually

This commit is contained in:
MX
2025-02-24 11:12:45 +03:00
parent 326eff734d
commit 6579b4195e
2 changed files with 405 additions and 449 deletions

View File

@@ -122,6 +122,7 @@ typedef enum {
SetTypeBETT_433, SetTypeBETT_433,
SetTypeGangQi_433, SetTypeGangQi_433,
SetTypeHollarm_433, SetTypeHollarm_433,
SetTypeReversRB2_433,
SetTypeMarantec24_868, SetTypeMarantec24_868,
SetTypeLinear_300_00, SetTypeLinear_300_00,
// SetTypeNeroSketch, //Deleted in OFW // SetTypeNeroSketch, //Deleted in OFW

View File

@@ -67,6 +67,7 @@ static const char* submenu_names[SetTypeMAX] = {
[SetTypePricenton433] = "Princeton 433MHz", [SetTypePricenton433] = "Princeton 433MHz",
[SetTypeGangQi_433] = "GangQi 433MHz", [SetTypeGangQi_433] = "GangQi 433MHz",
[SetTypeHollarm_433] = "Hollarm 433MHz", [SetTypeHollarm_433] = "Hollarm 433MHz",
[SetTypeReversRB2_433] = "Revers RB2 433MHz",
[SetTypeMarantec24_868] = "Marantec24 868MHz", [SetTypeMarantec24_868] = "Marantec24 868MHz",
[SetTypeBETT_433] = "BETT 433MHz", [SetTypeBETT_433] = "BETT 433MHz",
[SetTypeLinear_300_00] = "Linear 300MHz", [SetTypeLinear_300_00] = "Linear 300MHz",
@@ -192,8 +193,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
GenInfo gen_info = {0}; GenInfo gen_info = {0};
switch(event.event) { switch(event.event) {
case SetTypePricenton433: case SetTypePricenton433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_PRINCETON_NAME, .data.name = SUBGHZ_PROTOCOL_PRINCETON_NAME,
@@ -202,8 +202,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 400}; .data.te = 400};
break; break;
case SetTypePricenton315: case SetTypePricenton315:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 315000000, .freq = 315000000,
.data.name = SUBGHZ_PROTOCOL_PRINCETON_NAME, .data.name = SUBGHZ_PROTOCOL_PRINCETON_NAME,
@@ -212,8 +211,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 400}; .data.te = 400};
break; break;
case SetTypeNiceFlo12bit: case SetTypeNiceFlo12bit:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_NICE_FLO_NAME, .data.name = SUBGHZ_PROTOCOL_NICE_FLO_NAME,
@@ -222,8 +220,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeNiceFlo24bit: case SetTypeNiceFlo24bit:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_NICE_FLO_NAME, .data.name = SUBGHZ_PROTOCOL_NICE_FLO_NAME,
@@ -232,8 +229,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeCAME12bit: case SetTypeCAME12bit:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_CAME_NAME, .data.name = SUBGHZ_PROTOCOL_CAME_NAME,
@@ -242,8 +238,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeCAME24bit: case SetTypeCAME24bit:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_CAME_NAME, .data.name = SUBGHZ_PROTOCOL_CAME_NAME,
@@ -252,8 +247,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeCAME12bit868: case SetTypeCAME12bit868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.data.name = SUBGHZ_PROTOCOL_CAME_NAME, .data.name = SUBGHZ_PROTOCOL_CAME_NAME,
@@ -262,8 +256,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeCAME24bit868: case SetTypeCAME24bit868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.data.name = SUBGHZ_PROTOCOL_CAME_NAME, .data.name = SUBGHZ_PROTOCOL_CAME_NAME,
@@ -272,8 +265,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeLinear_300_00: case SetTypeLinear_300_00:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 300000000, .freq = 300000000,
.data.name = SUBGHZ_PROTOCOL_LINEAR_NAME, .data.name = SUBGHZ_PROTOCOL_LINEAR_NAME,
@@ -282,8 +274,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeBETT_433: case SetTypeBETT_433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_BETT_NAME, .data.name = SUBGHZ_PROTOCOL_BETT_NAME,
@@ -292,12 +283,12 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeCAMETwee: case SetTypeCAMETwee:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenData,
.type = GenData,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_CAME_TWEE_NAME, .data.name = SUBGHZ_PROTOCOL_CAME_TWEE_NAME,
.data.key = 0x003FFF7200000000 | ((key & 0x0FFFFFF0) ^ 0xE0E0E0EE), // ???? .data.key = 0x003FFF7200000000 |
((key & 0x0FFFFFF0) ^ 0xE0E0E0EE), // ????
.data.bits = 54, .data.bits = 54,
.data.te = 0}; .data.te = 0};
break; break;
@@ -337,6 +328,16 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.bits = 42, .data.bits = 42,
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeReversRB2_433:
gen_info = (GenInfo){.type = GenData,
.mod = "AM650",
.freq = 433920000,
.data.name = SUBGHZ_PROTOCOL_REVERSRB2_NAME, // 64bits no buttons
.data.key = (key & 0x00000FFFFFFFF000) | 0xFFFFF00000000000 |
0x0000000000000A00,
.data.bits = 64,
.data.te = 0};
break;
case SetTypeMarantec24_868: case SetTypeMarantec24_868:
gen_info = (GenInfo){ gen_info = (GenInfo){
.type = GenData, .type = GenData,
@@ -348,8 +349,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.data.te = 0}; .data.te = 0};
break; break;
case SetTypeFaacSLH_433: case SetTypeFaacSLH_433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenFaacSLH,
.type = GenFaacSLH,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.faac_slh.serial = ((key & 0x00FFFFF0) | 0xA0000006) >> 4, .faac_slh.serial = ((key & 0x00FFFFF0) | 0xA0000006) >> 4,
@@ -359,8 +359,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.faac_slh.manuf = "FAAC_SLH"}; .faac_slh.manuf = "FAAC_SLH"};
break; break;
case SetTypeFaacSLH_868: case SetTypeFaacSLH_868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenFaacSLH,
.type = GenFaacSLH,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.faac_slh.serial = ((key & 0x00FFFFF0) | 0xA0000006) >> 4, .faac_slh.serial = ((key & 0x00FFFFF0) | 0xA0000006) >> 4,
@@ -370,8 +369,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.faac_slh.manuf = "FAAC_SLH"}; .faac_slh.manuf = "FAAC_SLH"};
break; break;
case SetTypeBeninca433: case SetTypeBeninca433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x000FFF00) | 0x00800080, .keeloq.serial = (key & 0x000FFF00) | 0x00800080,
@@ -380,8 +378,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Beninca"}; .keeloq.manuf = "Beninca"};
break; break;
case SetTypeBeninca868: case SetTypeBeninca868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.keeloq.serial = (key & 0x000FFF00) | 0x00800080, .keeloq.serial = (key & 0x000FFF00) | 0x00800080,
@@ -390,8 +387,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Beninca"}; .keeloq.manuf = "Beninca"};
break; break;
case SetTypeAllmatic433: case SetTypeAllmatic433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x00FFFF00) | 0x01000011, .keeloq.serial = (key & 0x00FFFF00) | 0x01000011,
@@ -400,8 +396,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Beninca"}; .keeloq.manuf = "Beninca"};
break; break;
case SetTypeAllmatic868: case SetTypeAllmatic868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.keeloq.serial = (key & 0x00FFFF00) | 0x01000011, .keeloq.serial = (key & 0x00FFFF00) | 0x01000011,
@@ -410,8 +405,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Beninca"}; .keeloq.manuf = "Beninca"};
break; break;
case SetTypeCenturion433: case SetTypeCenturion433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x0000FFFF), .keeloq.serial = (key & 0x0000FFFF),
@@ -420,8 +414,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Centurion"}; .keeloq.manuf = "Centurion"};
break; break;
case SetTypeMonarch433: case SetTypeMonarch433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x0000FFFF), .keeloq.serial = (key & 0x0000FFFF),
@@ -430,8 +423,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Monarch"}; .keeloq.manuf = "Monarch"};
break; break;
case SetTypeJollyMotors433: case SetTypeJollyMotors433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x000FFFFF), .keeloq.serial = (key & 0x000FFFFF),
@@ -440,8 +432,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Jolly_Motors"}; .keeloq.manuf = "Jolly_Motors"};
break; break;
case SetTypeElmesElectronic: case SetTypeElmesElectronic:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x00FFFFFF) | 0x02000000, .keeloq.serial = (key & 0x00FFFFFF) | 0x02000000,
@@ -450,8 +441,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Elmes_Poland"}; .keeloq.manuf = "Elmes_Poland"};
break; break;
case SetTypeANMotorsAT4: case SetTypeANMotorsAT4:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x000FFFFF) | 0x04700000, .keeloq.serial = (key & 0x000FFFFF) | 0x04700000,
@@ -460,8 +450,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "AN-Motors"}; .keeloq.manuf = "AN-Motors"};
break; break;
case SetTypeAprimatic: case SetTypeAprimatic:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x000FFFFF) | 0x00600000, .keeloq.serial = (key & 0x000FFFFF) | 0x00600000,
@@ -470,8 +459,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Aprimatic"}; .keeloq.manuf = "Aprimatic"};
break; break;
case SetTypeGibidi433: case SetTypeGibidi433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFFF, .keeloq.serial = key & 0x00FFFFFF,
@@ -480,8 +468,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Gibidi"}; .keeloq.manuf = "Gibidi"};
break; break;
case SetTypeGSN: case SetTypeGSN:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x0FFFFFFF, .keeloq.serial = key & 0x0FFFFFFF,
@@ -490,8 +477,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "GSN"}; .keeloq.manuf = "GSN"};
break; break;
case SetTypeIronLogic: case SetTypeIronLogic:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFF0, .keeloq.serial = key & 0x00FFFFF0,
@@ -500,8 +486,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "IronLogic"}; .keeloq.manuf = "IronLogic"};
break; break;
case SetTypeStilmatic: case SetTypeStilmatic:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x0FFFFFFF, .keeloq.serial = key & 0x0FFFFFFF,
@@ -510,8 +495,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Stilmatic"}; .keeloq.manuf = "Stilmatic"};
break; break;
case SetTypeSommer_FM_434: case SetTypeSommer_FM_434:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "FM476", .mod = "FM476",
.freq = 434420000, .freq = 434420000,
.keeloq.serial = (key & 0x0000FFFF) | 0x01700000, .keeloq.serial = (key & 0x0000FFFF) | 0x01700000,
@@ -520,8 +504,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Sommer(fsk476)"}; .keeloq.manuf = "Sommer(fsk476)"};
break; break;
case SetTypeSommer_FM_868: case SetTypeSommer_FM_868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "FM476", .mod = "FM476",
.freq = 868800000, .freq = 868800000,
.keeloq.serial = (key & 0x0000FFFF) | 0x01700000, .keeloq.serial = (key & 0x0000FFFF) | 0x01700000,
@@ -530,8 +513,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Sommer(fsk476)"}; .keeloq.manuf = "Sommer(fsk476)"};
break; break;
case SetTypeSommer_FM238_434: case SetTypeSommer_FM238_434:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "FM238", .mod = "FM238",
.freq = 434420000, .freq = 434420000,
.keeloq.serial = key & 0x0000FFFF, .keeloq.serial = key & 0x0000FFFF,
@@ -540,8 +522,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Sommer(fsk476)"}; .keeloq.manuf = "Sommer(fsk476)"};
break; break;
case SetTypeSommer_FM238_868: case SetTypeSommer_FM238_868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "FM238", .mod = "FM238",
.freq = 868800000, .freq = 868800000,
.keeloq.serial = key & 0x0000FFFF, .keeloq.serial = key & 0x0000FFFF,
@@ -550,8 +531,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Sommer(fsk476)"}; .keeloq.manuf = "Sommer(fsk476)"};
break; break;
case SetTypeDTMNeo433: case SetTypeDTMNeo433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x000FFFFF, .keeloq.serial = key & 0x000FFFFF,
@@ -560,8 +540,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "DTM_Neo"}; .keeloq.manuf = "DTM_Neo"};
break; break;
case SetTypeCAMESpace: case SetTypeCAMESpace:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFFF, .keeloq.serial = key & 0x00FFFFFF,
@@ -570,24 +549,21 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Came_Space"}; .keeloq.manuf = "Came_Space"};
break; break;
case SetTypeCameAtomo433: case SetTypeCameAtomo433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenCameAtomo,
.type = GenCameAtomo,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x0FFFFFFF) | 0x10000000, .keeloq.serial = (key & 0x0FFFFFFF) | 0x10000000,
.keeloq.cnt = 0x03}; .keeloq.cnt = 0x03};
break; break;
case SetTypeCameAtomo868: case SetTypeCameAtomo868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenCameAtomo,
.type = GenCameAtomo,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.keeloq.serial = (key & 0x0FFFFFFF) | 0x10000000, .keeloq.serial = (key & 0x0FFFFFFF) | 0x10000000,
.keeloq.cnt = 0x03}; .keeloq.cnt = 0x03};
break; break;
case SetTypeBFTMitto: case SetTypeBFTMitto:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloqBFT,
.type = GenKeeloqBFT,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq_bft.serial = key & 0x000FFFFF, .keeloq_bft.serial = key & 0x000FFFFF,
@@ -597,8 +573,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq_bft.manuf = "BFT"}; .keeloq_bft.manuf = "BFT"};
break; break;
case SetTypeAlutechAT4N: case SetTypeAlutechAT4N:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenAlutechAt4n,
.type = GenAlutechAt4n,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.alutech_at_4n.serial = (key & 0x000FFFFF) | 0x00100000, .alutech_at_4n.serial = (key & 0x000FFFFF) | 0x00100000,
@@ -606,8 +581,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.alutech_at_4n.cnt = 0x03}; .alutech_at_4n.cnt = 0x03};
break; break;
case SetTypeSomfyTelis: case SetTypeSomfyTelis:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenSomfyTelis,
.type = GenSomfyTelis,
.mod = "AM650", .mod = "AM650",
.freq = 433420000, .freq = 433420000,
.somfy_telis.serial = key & 0x00FFFFFF, .somfy_telis.serial = key & 0x00FFFFFF,
@@ -615,8 +589,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.somfy_telis.cnt = 0x03}; .somfy_telis.cnt = 0x03};
break; break;
case SetTypeDoorHan_433_92: case SetTypeDoorHan_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x0FFFFFFF, .keeloq.serial = key & 0x0FFFFFFF,
@@ -625,8 +598,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "DoorHan"}; .keeloq.manuf = "DoorHan"};
break; break;
case SetTypeDoorHan_315_00: case SetTypeDoorHan_315_00:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 315000000, .freq = 315000000,
.keeloq.serial = key & 0x0FFFFFFF, .keeloq.serial = key & 0x0FFFFFFF,
@@ -635,8 +607,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "DoorHan"}; .keeloq.manuf = "DoorHan"};
break; break;
case SetTypeNiceFlorS_433_92: case SetTypeNiceFlorS_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenNiceFlorS,
.type = GenNiceFlorS,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.nice_flor_s.serial = key & 0x0FFFFFFF, .nice_flor_s.serial = key & 0x0FFFFFFF,
@@ -645,8 +616,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.nice_flor_s.nice_one = false}; .nice_flor_s.nice_one = false};
break; break;
case SetTypeNiceOne_433_92: case SetTypeNiceOne_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenNiceFlorS,
.type = GenNiceFlorS,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.nice_flor_s.serial = key & 0x0FFFFFFF, .nice_flor_s.serial = key & 0x0FFFFFFF,
@@ -655,8 +625,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.nice_flor_s.nice_one = true}; .nice_flor_s.nice_one = true};
break; break;
case SetTypeNiceSmilo_433_92: case SetTypeNiceSmilo_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFFF, .keeloq.serial = key & 0x00FFFFFF,
@@ -665,8 +634,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "NICE_Smilo"}; .keeloq.manuf = "NICE_Smilo"};
break; break;
case SetTypeNiceMHouse_433_92: case SetTypeNiceMHouse_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFFF, .keeloq.serial = key & 0x00FFFFFF,
@@ -675,8 +643,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "NICE_MHOUSE"}; .keeloq.manuf = "NICE_MHOUSE"};
break; break;
case SetTypeDeaMio433: case SetTypeDeaMio433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x0FFFF000) | 0x00000869, .keeloq.serial = (key & 0x0FFFF000) | 0x00000869,
@@ -685,8 +652,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Dea_Mio"}; .keeloq.manuf = "Dea_Mio"};
break; break;
case SetTypeGeniusBravo433: case SetTypeGeniusBravo433:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFFF, .keeloq.serial = key & 0x00FFFFFF,
@@ -695,8 +661,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Genius_Bravo"}; .keeloq.manuf = "Genius_Bravo"};
break; break;
case SetTypeJCM_433_92: case SetTypeJCM_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x00FFFFFF, .keeloq.serial = key & 0x00FFFFFF,
@@ -705,8 +670,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "JCM_Tech"}; .keeloq.manuf = "JCM_Tech"};
break; break;
case SetTypeNovoferm_433_92: case SetTypeNovoferm_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x0000FFFF) | 0x018F0000, .keeloq.serial = (key & 0x0000FFFF) | 0x018F0000,
@@ -715,8 +679,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Novoferm"}; .keeloq.manuf = "Novoferm"};
break; break;
case SetTypeHormannEcoStar_433_92: case SetTypeHormannEcoStar_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x000FFFFF) | 0x02200000, .keeloq.serial = (key & 0x000FFFFF) | 0x02200000,
@@ -725,8 +688,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "EcoStar"}; .keeloq.manuf = "EcoStar"};
break; break;
case SetTypeFAACRCXT_433_92: case SetTypeFAACRCXT_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = (key & 0x0000FFFF) | 0x00100000, .keeloq.serial = (key & 0x0000FFFF) | 0x00100000,
@@ -735,8 +697,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "FAAC_RC,XT"}; .keeloq.manuf = "FAAC_RC,XT"};
break; break;
case SetTypeFAACRCXT_868: case SetTypeFAACRCXT_868:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 868350000, .freq = 868350000,
.keeloq.serial = (key & 0x0000FFFF) | 0x00100000, .keeloq.serial = (key & 0x0000FFFF) | 0x00100000,
@@ -745,8 +706,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "FAAC_RC,XT"}; .keeloq.manuf = "FAAC_RC,XT"};
break; break;
case SetTypeNormstahl_433_92: case SetTypeNormstahl_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x0000FFFF, .keeloq.serial = key & 0x0000FFFF,
@@ -755,8 +715,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.keeloq.manuf = "Normstahl"}; .keeloq.manuf = "Normstahl"};
break; break;
case SetTypeHCS101_433_92: case SetTypeHCS101_433_92:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenKeeloq,
.type = GenKeeloq,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.keeloq.serial = key & 0x000FFFFF, .keeloq.serial = key & 0x000FFFFF,
@@ -774,8 +733,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
gen_info = (GenInfo){.type = GenSecPlus1, .mod = "AM650", .freq = 433920000}; gen_info = (GenInfo){.type = GenSecPlus1, .mod = "AM650", .freq = 433920000};
break; break;
case SetTypeSecPlus_v2_310_00: case SetTypeSecPlus_v2_310_00:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenSecPlus2,
.type = GenSecPlus2,
.mod = "AM650", .mod = "AM650",
.freq = 310000000, .freq = 310000000,
.sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing .sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing
@@ -783,8 +741,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.sec_plus_2.cnt = 0xE500000}; .sec_plus_2.cnt = 0xE500000};
break; break;
case SetTypeSecPlus_v2_315_00: case SetTypeSecPlus_v2_315_00:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenSecPlus2,
.type = GenSecPlus2,
.mod = "AM650", .mod = "AM650",
.freq = 315000000, .freq = 315000000,
.sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing .sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing
@@ -792,8 +749,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.sec_plus_2.cnt = 0xE500000}; .sec_plus_2.cnt = 0xE500000};
break; break;
case SetTypeSecPlus_v2_390_00: case SetTypeSecPlus_v2_390_00:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenSecPlus2,
.type = GenSecPlus2,
.mod = "AM650", .mod = "AM650",
.freq = 390000000, .freq = 390000000,
.sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing .sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing
@@ -801,8 +757,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
.sec_plus_2.cnt = 0xE500000}; .sec_plus_2.cnt = 0xE500000};
break; break;
case SetTypeSecPlus_v2_433_00: case SetTypeSecPlus_v2_433_00:
gen_info = (GenInfo){ gen_info = (GenInfo){.type = GenSecPlus2,
.type = GenSecPlus2,
.mod = "AM650", .mod = "AM650",
.freq = 433920000, .freq = 433920000,
.sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing .sec_plus_2.serial = (key & 0x7FFFF3FC), // 850LM pairing