mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-24 03:33:08 +00:00
4f233ff0a3
* WIP: IRDA: multilen protocol refactoring, NEC42 * IRDA: Refactoring encoder/decoder Co-authored-by: あく <alleteam@gmail.com>
48 lines
1.5 KiB
C
48 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;
|
|
}
|
|
|