externconstchar*constProtocolNames[]; // The array of name strings for the decode_type_t enum
#defineSIRCS_12_PROTOCOL 12
#defineSIRCS_15_PROTOCOL 15
#defineSIRCS_20_PROTOCOL 20
structDistanceWidthTimingInfoStruct {
uint16_tHeaderMarkMicros;
uint16_tHeaderSpaceMicros;
uint16_tOneMarkMicros;
uint16_tOneSpaceMicros;
uint16_tZeroMarkMicros;
uint16_tZeroSpaceMicros;
};
/*
* Definitions for member IRData.flags
*/
#defineIRDATA_FLAGS_EMPTY 0x00
#defineIRDATA_FLAGS_IS_REPEAT 0x01 ///< The gap between the preceding frame is as smaller than the maximum gap expected for a repeat. !!!We do not check for changed command or address, because it is almost not possible to press 2 different buttons on the remote within around 100 ms!!!
#defineIRDATA_FLAGS_IS_AUTO_REPEAT 0x02 ///< The current repeat frame is a repeat, that is always sent after a regular frame and cannot be avoided. Only specified for protocols DENON, and LEGO.
#defineIRDATA_FLAGS_PARITY_FAILED 0x04 ///< The current (autorepeat) frame violated parity check.
#defineIRDATA_FLAGS_TOGGLE_BIT 0x08 ///< Is set if RC5 or RC6 toggle bit is set.
#defineIRDATA_TOGGLE_BIT_MASK 0x08 ///< deprecated -is set if RC5 or RC6 toggle bit is set.
#defineIRDATA_FLAGS_EXTRA_INFO 0x10 ///< There is extra info not contained in address and data (e.g. Kaseikyo unknown vendor ID, or in decodedRawDataArray).
#defineIRDATA_FLAGS_IS_PROTOCOL_WITH_DIFFERENT_REPEAT 0x20 ///< Here we have a repeat of type NEC2 or SamsungLG
#defineIRDATA_FLAGS_WAS_OVERFLOW 0x40 ///< irparams.rawlen is set to 0 in this case to avoid endless OverflowFlag.
#defineIRDATA_FLAGS_IS_MSB_FIRST 0x80 ///< Value is mainly determined by the (known) protocol.