4ce41a3e6f
* SubGhz: changing the operation of the capture timer, and the logic of the work of parsers * Add toolbox lib. Move levels to toolbox. Subghz switch to levels. * Subghz: update worker signatures * SubGhz: pluggable level duration implementations. * SubGhz : test drawing pictures in Gui * SubGhz: Added a callback with the parser structure as argument * SubGhz: copy protocol data to model * SubGhz: refactoing code * SubGhz: cleanup and format sources * SubGhz: remove comments Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com> Co-authored-by: DrZlo13 <who.just.the.doctor@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);
|