 e17336498d
			
		
	
	
		e17336498d
		
			
		
	
	
	
	
		
			
			* Gui: move rotation logic to ViewPort, replace delayed View switch in ViewDispatcher with event filtering and redirection to previous view. * SubGhz: add function description * Gui, Input: add event id to input events. * SubGhz: fix "crashing on ?" * SubGhz: add icon scanning * SubGhz: updated interface read scene, updated interface config scene * Assets: update subghz assets * SubGhz: replaced the picture in the read scene, changed the paths to additional files * SubGhz: fix deadlock in timer callback * SubGhz: fix icon read scene * SubGhz: fix icon read scene * SubGhz: fix duble text transmitter scene * SubGhz: correct spelling. Gui: bigger queue for ViewDispatcher. * SubGhz: fix creation and transmission of dynamic code without the presence of a manufactory key * SubGhz: fix keelog, setting a name in the absence of a manufactory key * SubGhz: fix load bad keelog key * Format sources * Furi: remove garbage from core. GpioTester: fix memory leak and cleanup * Accessor: remove obsolete notification code * MusicPlayer: remove input event injection * Input: rename id to sequence Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			121 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "subghz_protocol_common.h"
 | |
| 
 | |
| struct SubGhzDecoderPrinceton {
 | |
|     SubGhzProtocolCommon common;
 | |
|     uint16_t te;
 | |
| };
 | |
| 
 | |
| /** SubGhzEncoderPrinceton anonymous type */
 | |
| typedef struct SubGhzEncoderPrinceton SubGhzEncoderPrinceton;
 | |
| 
 | |
| /** Allocate SubGhzEncoderPrinceton
 | |
|  * @return pointer to SubGhzEncoderPrinceton instance
 | |
|  */
 | |
| SubGhzEncoderPrinceton* subghz_encoder_princeton_alloc();
 | |
| 
 | |
| /** Free SubGhzEncoderPrinceton instance
 | |
|  * @param instance - SubGhzEncoderPrinceton instance
 | |
|  */
 | |
| void subghz_encoder_princeton_free(SubGhzEncoderPrinceton* instance);
 | |
| 
 | |
| /** Set new encoder params
 | |
|  * @param instance - SubGhzEncoderPrinceton instance
 | |
|  * @param key - 24bit key
 | |
|  * @param repeat - how many times to repeat 
 | |
|  */
 | |
| void subghz_encoder_princeton_set(SubGhzEncoderPrinceton* instance, uint32_t key, size_t repeat);
 | |
| 
 | |
| /** Get repeat count left
 | |
|  * @param instance - SubGhzEncoderPrinceton instance
 | |
|  * @return repeat count left
 | |
|  */
 | |
| size_t subghz_encoder_princeton_get_repeat_left(SubGhzEncoderPrinceton* instance);
 | |
| 
 | |
| /** Get level duration
 | |
|  * @param instance - SubGhzEncoderPrinceton instance
 | |
|  * @return level duration
 | |
|  */
 | |
| LevelDuration subghz_encoder_princeton_yield(void* context);
 | |
| 
 | |
| /** SubGhzDecoderPrinceton anonymous type */
 | |
| typedef struct SubGhzDecoderPrinceton SubGhzDecoderPrinceton;
 | |
| 
 | |
| void subghz_encoder_princeton_set_te(SubGhzEncoderPrinceton* instance, void* decoder);
 | |
| 
 | |
| /** Allocate SubGhzDecoderPrinceton
 | |
|  * 
 | |
|  * @return SubGhzDecoderPrinceton* 
 | |
|  */
 | |
| SubGhzDecoderPrinceton* subghz_decoder_princeton_alloc();
 | |
| 
 | |
| /** Free SubGhzDecoderPrinceton
 | |
|  * 
 | |
|  * @param instance 
 | |
|  */
 | |
| void subghz_decoder_princeton_free(SubGhzDecoderPrinceton* instance);
 | |
| 
 | |
| /** Get Te interval protocol
 | |
|  * 
 | |
|  * @param context - SubGhzDecoderPrinceton context
 | |
|  * @return Te interval (us)
 | |
|  */
 | |
| uint16_t subghz_protocol_princeton_get_te(void* context);
 | |
| 
 | |
| /** Get upload protocol
 | |
|  * 
 | |
|  * @param instance - SubGhzDecoderPrinceton instance
 | |
|  * @param encoder - SubGhzProtocolCommonEncoder encoder
 | |
|  * @return bool
 | |
|  */
 | |
| bool subghz_protocol_princeton_send_key(
 | |
|     SubGhzDecoderPrinceton* instance,
 | |
|     SubGhzProtocolCommonEncoder* encoder);
 | |
| 
 | |
| /** Reset internal state
 | |
|  * @param instance - SubGhzDecoderPrinceton instance
 | |
|  */
 | |
| void subghz_decoder_princeton_reset(SubGhzDecoderPrinceton* instance);
 | |
| 
 | |
| /** Parse accepted duration
 | |
|  * 
 | |
|  * @param instance - SubGhzDecoderPrinceton instance
 | |
|  * @param data - LevelDuration level_duration
 | |
|  */
 | |
| void subghz_decoder_princeton_parse(
 | |
|     SubGhzDecoderPrinceton* instance,
 | |
|     bool level,
 | |
|     uint32_t duration);
 | |
| 
 | |
| /** Outputting information from the parser
 | |
|  * 
 | |
|  * @param instance - SubGhzDecoderPrinceton* instance
 | |
|  * @param output   - output string
 | |
|  */
 | |
| void subghz_decoder_princeton_to_str(SubGhzDecoderPrinceton* instance, string_t output);
 | |
| 
 | |
| /** Get a string to save the protocol
 | |
|  * 
 | |
|  * @param instance  - SubGhzDecoderPrinceton instance
 | |
|  * @param output    - the resulting string
 | |
|  */
 | |
| void subghz_decoder_princeton_to_save_str(SubGhzDecoderPrinceton* instance, string_t output);
 | |
| 
 | |
| /** Loading protocol from file
 | |
|  * 
 | |
|  * @param file_worker - FileWorker file_worker
 | |
|  * @param instance - SubGhzDecoderPrinceton instance
 | |
|  * @return bool
 | |
|  */
 | |
| bool subghz_decoder_princeton_to_load_protocol_from_file(FileWorker* file_worker, SubGhzDecoderPrinceton* instance);
 | |
| 
 | |
| /** Loading protocol from bin data
 | |
|  * 
 | |
|  * @param instance - SubGhzDecoderPrinceton instance
 | |
|  * @param context - SubGhzProtocolCommonLoad context
 | |
|  */
 | |
| void subghz_decoder_princeton_to_load_protocol(
 | |
|     SubGhzDecoderPrinceton* instance,
 | |
|     void* context) ;
 |