 75e9de12b0
			
		
	
	
		75e9de12b0
		
			
		
	
	
	
	
		
			
			* Better Infrared protocol file structure * Rename InfraredProtocolSpec to InfraredProtocolVariant * Slightly better names * Add repeat count field to protocol variant description * Repeat the signal the appropriate number of times when brute-forcing * Repeat the signal the appropriate number of times when sending via worker * Better signal count logic in infrared_transmit * Better variable names * Convert some raw signals to messages in tv.ir Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "../common/infrared_common_i.h"
 | |
| 
 | |
| #define INFRARED_SAMSUNG_PREAMBLE_MARK 4500
 | |
| #define INFRARED_SAMSUNG_PREAMBLE_SPACE 4500
 | |
| #define INFRARED_SAMSUNG_BIT1_MARK 550
 | |
| #define INFRARED_SAMSUNG_BIT1_SPACE 1650
 | |
| #define INFRARED_SAMSUNG_BIT0_MARK 550
 | |
| #define INFRARED_SAMSUNG_BIT0_SPACE 550
 | |
| #define INFRARED_SAMSUNG_REPEAT_PAUSE_MIN 30000
 | |
| #define INFRARED_SAMSUNG_REPEAT_PAUSE_MAX 140000
 | |
| #define INFRARED_SAMSUNG_REPEAT_PAUSE1 46000
 | |
| #define INFRARED_SAMSUNG_REPEAT_PAUSE2 97000
 | |
| #define INFRARED_SAMSUNG_REPEAT_COUNT_MIN 1
 | |
| /* Samsung silence have to be greater than REPEAT MAX
 | |
|  * otherwise there can be problems during unit tests parsing
 | |
|  * of some data. Real tolerances we don't know, but in real life
 | |
|  * silence time should be greater than max repeat time. This is
 | |
|  * because of similar preambule timings for repeat and first messages. */
 | |
| #define INFRARED_SAMSUNG_MIN_SPLIT_TIME 5000
 | |
| #define INFRARED_SAMSUNG_SILENCE 145000
 | |
| #define INFRARED_SAMSUNG_REPEAT_MARK 4500
 | |
| #define INFRARED_SAMSUNG_REPEAT_SPACE 4500
 | |
| #define INFRARED_SAMSUNG_PREAMBLE_TOLERANCE 200 // us
 | |
| #define INFRARED_SAMSUNG_BIT_TOLERANCE 120 // us
 | |
| 
 | |
| bool infrared_decoder_samsung32_interpret(InfraredCommonDecoder* decoder);
 | |
| InfraredStatus infrared_decoder_samsung32_decode_repeat(InfraredCommonDecoder* decoder);
 | |
| InfraredStatus infrared_encoder_samsung32_encode_repeat(
 | |
|     InfraredCommonEncoder* encoder,
 | |
|     uint32_t* duration,
 | |
|     bool* level);
 | |
| 
 | |
| extern const InfraredCommonProtocolSpec infrared_protocol_samsung32;
 |