* SubGhz: add HCS101 protocol * SubGhz: add GateTx protocol * GubGHz: keeLog, key re-acceptance check, do not decrypt repeated messages * SubGhz: add iDo 117/111 protocol * SubGhz: add Faac SLH protocol * SubGhz: fix KeeLog, serial number on display * SubGhz: fix Faac SLH, serial number on display. Refactoring code parser * SubGhz: add Nero Sketch protocol * SubGhz: fix showing serial key, Gate Tx protocol Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include "subghz_protocol_common.h"
 | 
						|
 | 
						|
typedef struct SubGhzProtocolKeeloq SubGhzProtocolKeeloq;
 | 
						|
 | 
						|
/** Allocate SubGhzProtocolKeeloq
 | 
						|
 * 
 | 
						|
 * @return SubGhzProtocolKeeloq* 
 | 
						|
 */
 | 
						|
SubGhzProtocolKeeloq* subghz_protocol_keeloq_alloc();
 | 
						|
 | 
						|
/** Free SubGhzProtocolKeeloq
 | 
						|
 * 
 | 
						|
 * @param instance 
 | 
						|
 */
 | 
						|
void subghz_protocol_keeloq_free(SubGhzProtocolKeeloq* instance);
 | 
						|
 | 
						|
/** Loading of manufacture keys
 | 
						|
 * 
 | 
						|
 * @param instance - SubGhzProtocolKeeloq instance
 | 
						|
 * @param name - key name
 | 
						|
 * @param key - manufacture (64bit)
 | 
						|
 * @param type - type manufacture key 
 | 
						|
 */
 | 
						|
void subghz_protocol_keeloq_add_manafacture_key(SubGhzProtocolKeeloq* instance, const char* name, uint64_t key, uint16_t type);
 | 
						|
 | 
						|
/** Sends the key on the air
 | 
						|
 * 
 | 
						|
 * @param instance - SubGhzProtocolKeeloq instance
 | 
						|
 * @param key - key send
 | 
						|
 * @param bit - count bit key
 | 
						|
 * @param repeat - repeat send key
 | 
						|
 */
 | 
						|
void subghz_protocol_keeloq_send_key(SubGhzProtocolKeeloq* instance, uint64_t key, uint8_t bit, uint8_t repeat);
 | 
						|
 | 
						|
/** Reset internal state
 | 
						|
 * @param instance - SubGhzProtocolKeeloq instance
 | 
						|
 */
 | 
						|
void subghz_protocol_keeloq_reset(SubGhzProtocolKeeloq* instance);
 | 
						|
 | 
						|
/** Parse accepted duration
 | 
						|
 * 
 | 
						|
 * @param instance - SubGhzProtocolKeeloq instance
 | 
						|
 * @param data - LevelDuration level_duration
 | 
						|
 */
 | 
						|
void subghz_protocol_keeloq_parse(SubGhzProtocolKeeloq* instance, bool level, uint32_t duration);
 | 
						|
 | 
						|
/** Outputting information from the parser
 | 
						|
 * 
 | 
						|
 * @param instance - SubGhzProtocolKeeloq* instance
 | 
						|
 * @param output   - output string
 | 
						|
 */
 | 
						|
void subghz_protocol_keeloq_to_str(SubGhzProtocolKeeloq* instance, string_t output);
 |