* [FL-3501] SubGhz: fix Handle multiple external cc1101 modules
* [FL-3502] SubGhz: fix Protocol not found error message
* [FL-3503] SubGhz: fix Handle rx buffer overflow
* {FL-3520] SubGhz: Handle RX buffer overflow with external cc1101
* [FL-3548] SubGhz: Security+ 2.0 counter start value
* [FL-3552] Sub-GHz: Check saved file
* [FL-3555] [FL-3554] Sub-GHz: RX buffer overflow handling and check that buffer has been properly written
* [FL-3557] Sub-GHz: No optimization required
* [FL-3558] Sub-GHz: Keeloq 0 discriminator
* [FL-3559] Sub-GHz: Keeloq unknown learning
* [FL-3560] Sub-GHz: callback for updating keeloq data on display
* SubGhz: fix RXFIFO_OVERFLOW
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
	
			
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
#include "subghz_types.h"
 | 
						|
#include "subghz_txrx.h"
 | 
						|
 | 
						|
/**
 | 
						|
 * Generate data for protocol
 | 
						|
 * 
 | 
						|
 * @param instance Pointer to a SubGhzTxRx
 | 
						|
 * @param preset_name Name of preset
 | 
						|
 * @param frequency Frequency in Hz
 | 
						|
 * @param protocol_name Name of protocol
 | 
						|
 * @param key Key
 | 
						|
 * @param bit Bit
 | 
						|
 * @return SubGhzProtocolStatus
 | 
						|
 */
 | 
						|
SubGhzProtocolStatus subghz_txrx_gen_data_protocol(
 | 
						|
    void* context,
 | 
						|
    const char* preset_name,
 | 
						|
    uint32_t frequency,
 | 
						|
    const char* protocol_name,
 | 
						|
    uint64_t key,
 | 
						|
    uint32_t bit);
 | 
						|
 | 
						|
/**
 | 
						|
 * Generate data for protocol and te
 | 
						|
 * 
 | 
						|
 * @param instance Pointer to a SubGhzTxRx
 | 
						|
 * @param preset_name Name of preset
 | 
						|
 * @param frequency Frequency in Hz
 | 
						|
 * @param protocol_name Name of protocol
 | 
						|
 * @param key Key
 | 
						|
 * @param bit Bit
 | 
						|
 * @param te Te
 | 
						|
 * @return SubGhzProtocolStatus
 | 
						|
 */
 | 
						|
SubGhzProtocolStatus subghz_txrx_gen_data_protocol_and_te(
 | 
						|
    SubGhzTxRx* instance,
 | 
						|
    const char* preset_name,
 | 
						|
    uint32_t frequency,
 | 
						|
    const char* protocol_name,
 | 
						|
    uint64_t key,
 | 
						|
    uint32_t bit,
 | 
						|
    uint32_t te);
 | 
						|
 | 
						|
/**
 | 
						|
 * Generate data Keeloq protocol
 | 
						|
 * 
 | 
						|
 * @param instance Pointer to a SubGhzTxRx
 | 
						|
 * @param name_preset Name of preset
 | 
						|
 * @param frequency Frequency in Hz
 | 
						|
 * @param name_sysmem Name of Keeloq sysmem
 | 
						|
 * @param serial Serial number
 | 
						|
 * @param btn Button
 | 
						|
 * @param cnt Counter
 | 
						|
 * @return SubGhzProtocolStatus
 | 
						|
 */
 | 
						|
SubGhzProtocolStatus subghz_txrx_gen_keeloq_protocol(
 | 
						|
    SubGhzTxRx* instance,
 | 
						|
    const char* name_preset,
 | 
						|
    uint32_t frequency,
 | 
						|
    const char* name_sysmem,
 | 
						|
    uint32_t serial,
 | 
						|
    uint8_t btn,
 | 
						|
    uint16_t cnt);
 | 
						|
 | 
						|
/**
 | 
						|
 * Generate data SecPlus v2 protocol
 | 
						|
 * 
 | 
						|
 * @param instance Pointer to a SubGhzTxRx
 | 
						|
 * @param name_preset Name of preset
 | 
						|
 * @param frequency Frequency in Hz
 | 
						|
 * @param serial Serial number
 | 
						|
 * @param btn Button
 | 
						|
 * @param cnt Counter
 | 
						|
 * @return SubGhzProtocolStatus
 | 
						|
 */
 | 
						|
SubGhzProtocolStatus subghz_txrx_gen_secplus_v2_protocol(
 | 
						|
    SubGhzTxRx* instance,
 | 
						|
    const char* name_preset,
 | 
						|
    uint32_t frequency,
 | 
						|
    uint32_t serial,
 | 
						|
    uint8_t btn,
 | 
						|
    uint32_t cnt);
 | 
						|
 | 
						|
/**
 | 
						|
 * Generate data SecPlus v1 protocol
 | 
						|
 * 
 | 
						|
 * @param instance Pointer to a SubGhzTxRx
 | 
						|
 * @param name_preset Name of preset
 | 
						|
 * @param frequency Frequency in Hz
 | 
						|
 * @return SubGhzProtocolStatus
 | 
						|
 */
 | 
						|
SubGhzProtocolStatus subghz_txrx_gen_secplus_v1_protocol(
 | 
						|
    SubGhzTxRx* instance,
 | 
						|
    const char* name_preset,
 | 
						|
    uint32_t frequency); |