GSN - Add manually support

This commit is contained in:
MX 2023-03-21 20:09:18 +03:00
parent df766b1476
commit 5b6b081664
No known key found for this signature in database
GPG Key ID: 7CCC66B7DBDD1C83
3 changed files with 33 additions and 0 deletions

View File

@ -1,6 +1,7 @@
### New changes ### New changes
* If you have copied apps into `apps` folder - remove `apps` folder on your microSD before installing this release to avoid issues! * If you have copied apps into `apps` folder - remove `apps` folder on your microSD before installing this release to avoid issues!
* Dev Builds: Add extra pack dev branch to avoid "bug" reports with `API mismatch` * Dev Builds: Add extra pack dev branch to avoid "bug" reports with `API mismatch`
* SubGHz: Add manually -> GSN protocol support
* SubGHz: Add 318 MHz back to hopping list * SubGHz: Add 318 MHz back to hopping list
* SubGHz: Fix hopper stuck at 433.42 due to wide range signals - * SubGHz: Fix hopper stuck at 433.42 due to wide range signals -
When we using 433.92 remote flipper in hopping mode will stuck at 433.42 and may loose signal because of that, need to avoid using close freqs in hopping, only freqs with bigger difference like 310 -> 315 When we using 433.92 remote flipper in hopping mode will stuck at 433.42 and may loose signal because of that, need to avoid using close freqs in hopping, only freqs with bigger difference like 310 -> 315

View File

@ -19,6 +19,7 @@ typedef enum {
SubmenuIndexSommer_FM_868, SubmenuIndexSommer_FM_868,
SubmenuIndexDTMNeo433, SubmenuIndexDTMNeo433,
SubmenuIndexGibidi433, SubmenuIndexGibidi433,
SubmenuIndexGSN,
SubmenuIndexNiceFlo12bit, SubmenuIndexNiceFlo12bit,
SubmenuIndexNiceFlo24bit, SubmenuIndexNiceFlo24bit,
SubmenuIndexNiceFlorS_433_92, SubmenuIndexNiceFlorS_433_92,

View File

@ -152,6 +152,12 @@ void subghz_scene_set_type_on_enter(void* context) {
SubmenuIndexGibidi433, SubmenuIndexGibidi433,
subghz_scene_set_type_submenu_callback, subghz_scene_set_type_submenu_callback,
subghz); subghz);
submenu_add_item(
subghz->submenu,
"KL: GSN 433MHz",
SubmenuIndexGSN,
subghz_scene_set_type_submenu_callback,
subghz);
submenu_add_item( submenu_add_item(
subghz->submenu, subghz->submenu,
"KL: Elmes (PL) 433MHz", "KL: Elmes (PL) 433MHz",
@ -521,6 +527,31 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError); scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError);
} }
break; break;
case SubmenuIndexGSN:
subghz->txrx->transmitter = subghz_transmitter_alloc_init(
subghz->txrx->environment, SUBGHZ_PROTOCOL_KEELOQ_NAME);
subghz_preset_init(subghz, "AM650", 433920000, NULL, 0);
if(subghz->txrx->transmitter) {
subghz_protocol_keeloq_create_data(
subghz_transmitter_get_protocol_instance(subghz->txrx->transmitter),
subghz->txrx->fff_data,
key & 0x0FFFFFFF,
0x2,
0x0003,
"GSN",
subghz->txrx->preset);
flipper_format_write_string_cstr(subghz->txrx->fff_data, "Manufacture", "GSN");
generated_protocol = true;
} else {
generated_protocol = false;
}
subghz_transmitter_free(subghz->txrx->transmitter);
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 SubmenuIndexIronLogic: case SubmenuIndexIronLogic:
subghz->txrx->transmitter = subghz_transmitter_alloc_init( subghz->txrx->transmitter = subghz_transmitter_alloc_init(
subghz->txrx->environment, SUBGHZ_PROTOCOL_KEELOQ_NAME); subghz->txrx->environment, SUBGHZ_PROTOCOL_KEELOQ_NAME);