| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #pragma once
- #include "subghz_protocol_common.h"
- typedef struct SubGhzKeystore SubGhzKeystore;
- typedef struct SubGhzProtocolKeeloq SubGhzProtocolKeeloq;
- /** Allocate SubGhzProtocolKeeloq
- *
- * @return SubGhzProtocolKeeloq*
- */
- SubGhzProtocolKeeloq* subghz_protocol_keeloq_alloc(SubGhzKeystore* keystore);
- /** Free SubGhzProtocolKeeloq
- *
- * @param instance
- */
- void subghz_protocol_keeloq_free(SubGhzProtocolKeeloq* instance);
- /** Find and get manufacture name
- *
- * @param context - SubGhzProtocolKeeloq context
- * @return name - char* manufacture name
- */
- const char* subghz_protocol_keeloq_find_and_get_manufacture_name(void* context);
- /** Get manufacture name
- *
- * @param context - SubGhzProtocolKeeloq context
- * @return name - char* manufacture name
- */
- const char* subghz_protocol_keeloq_get_manufacture_name(void* context);
- /** Set manufacture name
- *
- * @param manufacture_name - manufacture name
- * @param context - SubGhzProtocolKeeloq context
- * @return bool
- */
- bool subghz_protocol_keeloq_set_manufacture_name(void* context, const char* manufacture_name);
- /** Get key keeloq
- *
- * @param context - SubGhzProtocolKeeloq context
- * @return key
- */
- uint64_t subghz_protocol_keeloq_gen_key(void* context);
- /** Get upload protocol
- *
- * @param instance - SubGhzProtocolKeeloq instance
- * @param encoder - SubGhzProtocolCommonEncoder encoder
- * @return bool
- */
- bool subghz_protocol_keeloq_send_key(
- SubGhzProtocolKeeloq* instance,
- SubGhzProtocolCommonEncoder* encoder);
- /** 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);
- /** Adding data to a file
- *
- * @param instance - SubGhzProtocolKeeloq instance
- * @param flipper_file - FlipperFile
- * @return bool
- */
- bool subghz_protocol_keeloq_to_save_file(SubGhzProtocolKeeloq* instance, FlipperFile* flipper_file);
- /** Loading protocol from file
- *
- * @param flipper_file - FlipperFile
- * @param instance - SubGhzProtocolKeeloq instance
- * @param file_path - file path
- * @return bool
- */
- bool subghz_protocol_keeloq_to_load_protocol_from_file(
- FlipperFile* flipper_file,
- SubGhzProtocolKeeloq* instance,
- const char* file_path);
- /** Loading protocol from bin data
- *
- * @param instance - SubGhzProtocolKeeloq instance
- * @param context - SubGhzProtocolCommonLoad context
- */
- void subghz_decoder_keeloq_to_load_protocol(SubGhzProtocolKeeloq* instance, void* context);
|