5df346aebe
* 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);
|