SubGhz: add frequencies and add DoorHan 315.00 (#1028)
* SubGhz: add frequencies and add DoorHan 315.00 * SubGhz: fix syntax Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
		
							parent
							
								
									c098292a53
								
							
						
					
					
						commit
						b86a400a82
					
				| @ -17,7 +17,8 @@ enum SubmenuIndex { | ||||
|     SubmenuIndexNeroSketch, | ||||
|     SubmenuIndexNeroRadio, | ||||
|     SubmenuIndexGateTX, | ||||
|     SubmenuIndexDoorHan, | ||||
|     SubmenuIndexDoorHan_315_00, | ||||
|     SubmenuIndexDoorHan_433_92, | ||||
| }; | ||||
| 
 | ||||
| bool subghz_scene_set_type_submenu_gen_data_protocol( | ||||
| @ -122,10 +123,16 @@ void subghz_scene_set_type_on_enter(void* context) { | ||||
|         SubmenuIndexGateTX, | ||||
|         subghz_scene_set_type_submenu_callback, | ||||
|         subghz); | ||||
|     submenu_add_item( | ||||
|         subghz->submenu, | ||||
|         "DoorHan_315", | ||||
|         SubmenuIndexDoorHan_315_00, | ||||
|         subghz_scene_set_type_submenu_callback, | ||||
|         subghz); | ||||
|     submenu_add_item( | ||||
|         subghz->submenu, | ||||
|         "DoorHan_433", | ||||
|         SubmenuIndexDoorHan, | ||||
|         SubmenuIndexDoorHan_433_92, | ||||
|         subghz_scene_set_type_submenu_callback, | ||||
|         subghz); | ||||
| 
 | ||||
| @ -195,7 +202,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) { | ||||
|                 generated_protocol = true; | ||||
|             } | ||||
|             break; | ||||
|         case SubmenuIndexDoorHan: | ||||
|         case SubmenuIndexDoorHan_433_92: | ||||
|             subghz->txrx->transmitter = | ||||
|                 subghz_transmitter_alloc_init(subghz->txrx->environment, "KeeLoq"); | ||||
|             if(subghz->txrx->transmitter) { | ||||
| @ -219,6 +226,30 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) { | ||||
|                 scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError); | ||||
|             } | ||||
|             break; | ||||
|         case SubmenuIndexDoorHan_315_00: | ||||
|             subghz->txrx->transmitter = | ||||
|                 subghz_transmitter_alloc_init(subghz->txrx->environment, "KeeLoq"); | ||||
|             if(subghz->txrx->transmitter) { | ||||
|                 subghz_protocol_keeloq_create_data( | ||||
|                     subghz->txrx->transmitter->protocol_instance, | ||||
|                     subghz->txrx->fff_data, | ||||
|                     key & 0x0FFFFFFF, | ||||
|                     0x2, | ||||
|                     0x0003, | ||||
|                     "DoorHan", | ||||
|                     subghz_frequencies[subghz_frequencies_315_00], | ||||
|                     FuriHalSubGhzPresetOok650Async); | ||||
|                 generated_protocol = true; | ||||
|             } else { | ||||
|                 generated_protocol = false; | ||||
|             } | ||||
|             subghz_transmitter_free(subghz->txrx->transmitter); | ||||
|             if(!generated_protocol) { | ||||
|                 string_set( | ||||
|                     subghz->error_str, "Function requires\nan SD card with\nfresh databases."); | ||||
|                 scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError); | ||||
|             } | ||||
|             break; | ||||
|         default: | ||||
|             return false; | ||||
|             break; | ||||
|  | ||||
| @ -4,33 +4,57 @@ | ||||
| #include <lib/toolbox/path.h> | ||||
| 
 | ||||
| const char* const subghz_frequencies_text[] = { | ||||
| 
 | ||||
|     "300.00", | ||||
|     "303.88", | ||||
|     "304.25", | ||||
|     "315.00", | ||||
|     "318.00", | ||||
| 
 | ||||
|     "390.00", | ||||
|     "418.00", | ||||
|     "433.08", | ||||
|     "433.42", | ||||
|     "433.92", | ||||
|     "434.42", | ||||
|     "434.78", | ||||
|     "438.90", | ||||
| 
 | ||||
|     "868.35", | ||||
|     "915.00", | ||||
|     "925.00", | ||||
| }; | ||||
| 
 | ||||
| const uint32_t subghz_frequencies[] = { | ||||
| 
 | ||||
|     /* 300 - 348 */ | ||||
|     300000000, | ||||
|     303875000, | ||||
|     304250000, | ||||
|     315000000, | ||||
|     318000000, | ||||
| 
 | ||||
|     /* 387 - 464 */ | ||||
| 
 | ||||
|     390000000, | ||||
|     418000000, | ||||
|     433075000, /* LPD433 first */ | ||||
|     433420000, | ||||
|     433920000, /* LPD433 mid */ | ||||
|     434420000, | ||||
|     /* 779 - 928 */ | ||||
|     434775000, /* LPD433 last channels */ | ||||
|     438900000, | ||||
| 
 | ||||
|     /* 779 - 928 */ | ||||
|     868350000, | ||||
|     915000000, | ||||
|     925000000, | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| const uint32_t subghz_hopper_frequencies[] = { | ||||
|     315000000, | ||||
|     318000000, | ||||
|     390000000, | ||||
|     433920000, | ||||
|     868350000, | ||||
| }; | ||||
| @ -38,7 +62,8 @@ const uint32_t subghz_hopper_frequencies[] = { | ||||
| const uint32_t subghz_frequencies_count = sizeof(subghz_frequencies) / sizeof(uint32_t); | ||||
| const uint32_t subghz_hopper_frequencies_count = | ||||
|     sizeof(subghz_hopper_frequencies) / sizeof(uint32_t); | ||||
| const uint32_t subghz_frequencies_433_92 = 3; | ||||
| const uint32_t subghz_frequencies_433_92 = 9; | ||||
| const uint32_t subghz_frequencies_315_00 = 3; | ||||
| 
 | ||||
| bool subghz_custom_event_callback(void* context, uint32_t event) { | ||||
|     furi_assert(context); | ||||
|  | ||||
| @ -41,6 +41,7 @@ extern const uint32_t subghz_hopper_frequencies[]; | ||||
| extern const uint32_t subghz_frequencies_count; | ||||
| extern const uint32_t subghz_hopper_frequencies_count; | ||||
| extern const uint32_t subghz_frequencies_433_92; | ||||
| extern const uint32_t subghz_frequencies_315_00; | ||||
| 
 | ||||
| /** SubGhzNotification state */ | ||||
| typedef enum { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Skorpionm
						Skorpionm