* WIP: IRDA: multilen protocol refactoring, NEC42 * IRDA: Refactoring encoder/decoder Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include "../irda_i.h"
 | 
						|
#include "irda_protocol_defs_i.h"
 | 
						|
 | 
						|
static const IrdaProtocolSpecification irda_nec_protocol_specification = {
 | 
						|
      .name = "NEC",
 | 
						|
      .address_length = 8,
 | 
						|
      .command_length = 8,
 | 
						|
      .frequency = IRDA_COMMON_CARRIER_FREQUENCY,
 | 
						|
      .duty_cycle = IRDA_COMMON_DUTY_CYCLE,
 | 
						|
};
 | 
						|
 | 
						|
static const IrdaProtocolSpecification irda_necext_protocol_specification = {
 | 
						|
      .name = "NECext",
 | 
						|
      .address_length = 16,
 | 
						|
      .command_length = 16,
 | 
						|
      .frequency = IRDA_COMMON_CARRIER_FREQUENCY,
 | 
						|
      .duty_cycle = IRDA_COMMON_DUTY_CYCLE,
 | 
						|
};
 | 
						|
 | 
						|
static const IrdaProtocolSpecification irda_nec42_protocol_specification = {
 | 
						|
      .name = "NEC42",
 | 
						|
      .address_length = 13,
 | 
						|
      .command_length = 8,
 | 
						|
      .frequency = IRDA_COMMON_CARRIER_FREQUENCY,
 | 
						|
      .duty_cycle = IRDA_COMMON_DUTY_CYCLE,
 | 
						|
};
 | 
						|
 | 
						|
static const IrdaProtocolSpecification irda_nec42ext_protocol_specification = {
 | 
						|
      .name = "NEC42ext",
 | 
						|
      .address_length = 26,
 | 
						|
      .command_length = 16,
 | 
						|
      .frequency = IRDA_COMMON_CARRIER_FREQUENCY,
 | 
						|
      .duty_cycle = IRDA_COMMON_DUTY_CYCLE,
 | 
						|
};
 | 
						|
 | 
						|
const IrdaProtocolSpecification* irda_nec_get_spec(IrdaProtocol protocol) {
 | 
						|
    if (protocol == IrdaProtocolNEC)
 | 
						|
        return &irda_nec_protocol_specification;
 | 
						|
    else if (protocol == IrdaProtocolNECext)
 | 
						|
        return &irda_necext_protocol_specification;
 | 
						|
    else if (protocol == IrdaProtocolNEC42)
 | 
						|
        return &irda_nec42_protocol_specification;
 | 
						|
    else if (protocol == IrdaProtocolNEC42ext)
 | 
						|
        return &irda_nec42ext_protocol_specification;
 | 
						|
    else
 | 
						|
        return NULL;
 | 
						|
}
 | 
						|
 |