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, |     SubmenuIndexNeroSketch, | ||||||
|     SubmenuIndexNeroRadio, |     SubmenuIndexNeroRadio, | ||||||
|     SubmenuIndexGateTX, |     SubmenuIndexGateTX, | ||||||
|     SubmenuIndexDoorHan, |     SubmenuIndexDoorHan_315_00, | ||||||
|  |     SubmenuIndexDoorHan_433_92, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| bool subghz_scene_set_type_submenu_gen_data_protocol( | bool subghz_scene_set_type_submenu_gen_data_protocol( | ||||||
| @ -122,10 +123,16 @@ void subghz_scene_set_type_on_enter(void* context) { | |||||||
|         SubmenuIndexGateTX, |         SubmenuIndexGateTX, | ||||||
|         subghz_scene_set_type_submenu_callback, |         subghz_scene_set_type_submenu_callback, | ||||||
|         subghz); |         subghz); | ||||||
|  |     submenu_add_item( | ||||||
|  |         subghz->submenu, | ||||||
|  |         "DoorHan_315", | ||||||
|  |         SubmenuIndexDoorHan_315_00, | ||||||
|  |         subghz_scene_set_type_submenu_callback, | ||||||
|  |         subghz); | ||||||
|     submenu_add_item( |     submenu_add_item( | ||||||
|         subghz->submenu, |         subghz->submenu, | ||||||
|         "DoorHan_433", |         "DoorHan_433", | ||||||
|         SubmenuIndexDoorHan, |         SubmenuIndexDoorHan_433_92, | ||||||
|         subghz_scene_set_type_submenu_callback, |         subghz_scene_set_type_submenu_callback, | ||||||
|         subghz); |         subghz); | ||||||
| 
 | 
 | ||||||
| @ -195,7 +202,7 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) { | |||||||
|                 generated_protocol = true; |                 generated_protocol = true; | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
|         case SubmenuIndexDoorHan: |         case SubmenuIndexDoorHan_433_92: | ||||||
|             subghz->txrx->transmitter = |             subghz->txrx->transmitter = | ||||||
|                 subghz_transmitter_alloc_init(subghz->txrx->environment, "KeeLoq"); |                 subghz_transmitter_alloc_init(subghz->txrx->environment, "KeeLoq"); | ||||||
|             if(subghz->txrx->transmitter) { |             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); |                 scene_manager_next_scene(subghz->scene_manager, SubGhzSceneShowError); | ||||||
|             } |             } | ||||||
|             break; |             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: |         default: | ||||||
|             return false; |             return false; | ||||||
|             break; |             break; | ||||||
|  | |||||||
| @ -4,33 +4,57 @@ | |||||||
| #include <lib/toolbox/path.h> | #include <lib/toolbox/path.h> | ||||||
| 
 | 
 | ||||||
| const char* const subghz_frequencies_text[] = { | const char* const subghz_frequencies_text[] = { | ||||||
|  | 
 | ||||||
|  |     "300.00", | ||||||
|  |     "303.88", | ||||||
|  |     "304.25", | ||||||
|     "315.00", |     "315.00", | ||||||
|  |     "318.00", | ||||||
|  | 
 | ||||||
|  |     "390.00", | ||||||
|  |     "418.00", | ||||||
|     "433.08", |     "433.08", | ||||||
|     "433.42", |     "433.42", | ||||||
|     "433.92", |     "433.92", | ||||||
|     "434.42", |     "434.42", | ||||||
|  |     "434.78", | ||||||
|  |     "438.90", | ||||||
|  | 
 | ||||||
|     "868.35", |     "868.35", | ||||||
|     "915.00", |     "915.00", | ||||||
|  |     "925.00", | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const uint32_t subghz_frequencies[] = { | const uint32_t subghz_frequencies[] = { | ||||||
|  | 
 | ||||||
|     /* 300 - 348 */ |     /* 300 - 348 */ | ||||||
|  |     300000000, | ||||||
|  |     303875000, | ||||||
|  |     304250000, | ||||||
|     315000000, |     315000000, | ||||||
|  |     318000000, | ||||||
| 
 | 
 | ||||||
|     /* 387 - 464 */ |     /* 387 - 464 */ | ||||||
| 
 |     390000000, | ||||||
|  |     418000000, | ||||||
|     433075000, /* LPD433 first */ |     433075000, /* LPD433 first */ | ||||||
|     433420000, |     433420000, | ||||||
|     433920000, /* LPD433 mid */ |     433920000, /* LPD433 mid */ | ||||||
|     434420000, |     434420000, | ||||||
|     /* 779 - 928 */ |     434775000, /* LPD433 last channels */ | ||||||
|  |     438900000, | ||||||
| 
 | 
 | ||||||
|  |     /* 779 - 928 */ | ||||||
|     868350000, |     868350000, | ||||||
|     915000000, |     915000000, | ||||||
|  |     925000000, | ||||||
|  | 
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const uint32_t subghz_hopper_frequencies[] = { | const uint32_t subghz_hopper_frequencies[] = { | ||||||
|     315000000, |     315000000, | ||||||
|  |     318000000, | ||||||
|  |     390000000, | ||||||
|     433920000, |     433920000, | ||||||
|     868350000, |     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_frequencies_count = sizeof(subghz_frequencies) / sizeof(uint32_t); | ||||||
| const uint32_t subghz_hopper_frequencies_count = | const uint32_t subghz_hopper_frequencies_count = | ||||||
|     sizeof(subghz_hopper_frequencies) / sizeof(uint32_t); |     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) { | bool subghz_custom_event_callback(void* context, uint32_t event) { | ||||||
|     furi_assert(context); |     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_frequencies_count; | ||||||
| extern const uint32_t subghz_hopper_frequencies_count; | extern const uint32_t subghz_hopper_frequencies_count; | ||||||
| extern const uint32_t subghz_frequencies_433_92; | extern const uint32_t subghz_frequencies_433_92; | ||||||
|  | extern const uint32_t subghz_frequencies_315_00; | ||||||
| 
 | 
 | ||||||
| /** SubGhzNotification state */ | /** SubGhzNotification state */ | ||||||
| typedef enum { | typedef enum { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Skorpionm
						Skorpionm