48 lines
1.6 KiB
C
48 lines
1.6 KiB
C
|
#include "../infrared_i.h"
|
||
|
#include "infrared_protocol_defs_i.h"
|
||
|
|
||
|
static const InfraredProtocolSpecification infrared_nec_protocol_specification = {
|
||
|
.name = "NEC",
|
||
|
.address_length = 8,
|
||
|
.command_length = 8,
|
||
|
.frequency = INFRARED_COMMON_CARRIER_FREQUENCY,
|
||
|
.duty_cycle = INFRARED_COMMON_DUTY_CYCLE,
|
||
|
};
|
||
|
|
||
|
static const InfraredProtocolSpecification infrared_necext_protocol_specification = {
|
||
|
.name = "NECext",
|
||
|
.address_length = 16,
|
||
|
.command_length = 16,
|
||
|
.frequency = INFRARED_COMMON_CARRIER_FREQUENCY,
|
||
|
.duty_cycle = INFRARED_COMMON_DUTY_CYCLE,
|
||
|
};
|
||
|
|
||
|
static const InfraredProtocolSpecification infrared_nec42_protocol_specification = {
|
||
|
.name = "NEC42",
|
||
|
.address_length = 13,
|
||
|
.command_length = 8,
|
||
|
.frequency = INFRARED_COMMON_CARRIER_FREQUENCY,
|
||
|
.duty_cycle = INFRARED_COMMON_DUTY_CYCLE,
|
||
|
};
|
||
|
|
||
|
static const InfraredProtocolSpecification infrared_nec42ext_protocol_specification = {
|
||
|
.name = "NEC42ext",
|
||
|
.address_length = 26,
|
||
|
.command_length = 16,
|
||
|
.frequency = INFRARED_COMMON_CARRIER_FREQUENCY,
|
||
|
.duty_cycle = INFRARED_COMMON_DUTY_CYCLE,
|
||
|
};
|
||
|
|
||
|
const InfraredProtocolSpecification* infrared_nec_get_spec(InfraredProtocol protocol) {
|
||
|
if(protocol == InfraredProtocolNEC)
|
||
|
return &infrared_nec_protocol_specification;
|
||
|
else if(protocol == InfraredProtocolNECext)
|
||
|
return &infrared_necext_protocol_specification;
|
||
|
else if(protocol == InfraredProtocolNEC42)
|
||
|
return &infrared_nec42_protocol_specification;
|
||
|
else if(protocol == InfraredProtocolNEC42ext)
|
||
|
return &infrared_nec42ext_protocol_specification;
|
||
|
else
|
||
|
return NULL;
|
||
|
}
|