IRremote
Decoders and encoders for different protocols

Macros

#define ENABLE_BEO_WITHOUT_FRAME_GAP
 
#define BEO_DATA_BITS   8
 
#define BEO_UNIT   3125
 
#define BEO_BIT_MARK   200
 
#define BEO_BIT_MARK_FOR_DECODE   250
 
#define BEO_DATALINK_BIT_MARK   (BEO_UNIT / 2)
 
#define BEO_ZERO_SPACE   BEO_UNIT
 
#define BEO_REPETITION_OF_PREVIOUS_BIT_SPACE   (2 * BEO_UNIT)
 
#define BEO_ONE_SPACE   (3 * BEO_UNIT)
 
#define BEO_TRAILING_BIT_SPACE   (4 * BEO_UNIT)
 
#define BEO_START_BIT_SPACE   (5 * BEO_UNIT)
 
#define BEO_REPEAT_PERIOD   100000
 
#define BEO_MATCH_DELTA   (BEO_UNIT / 2 - MICROS_PER_TICK)
 
#define BOSEWAVE_BITS   16
 
#define BOSEWAVE_HEADER_MARK   1014
 
#define BOSEWAVE_HEADER_SPACE   1468
 
#define BOSEWAVE_BIT_MARK   520
 
#define BOSEWAVE_ZERO_SPACE   468
 
#define BOSEWAVE_ONE_SPACE   1468
 
#define BOSEWAVE_REPEAT_PERIOD   75000
 
#define BOSEWAVE_REPEAT_DISTANCE   50000
 
#define BOSEWAVE_MAXIMUM_REPEAT_DISTANCE   62000
 
#define DENON_ADDRESS_BITS   5
 
#define DENON_COMMAND_BITS   8
 
#define DENON_FRAME_BITS   2
 
#define DENON_BITS   (DENON_ADDRESS_BITS + DENON_COMMAND_BITS + DENON_FRAME_BITS)
 
#define DENON_UNIT   260
 
#define DENON_BIT_MARK   DENON_UNIT
 
#define DENON_ONE_SPACE   (7 * DENON_UNIT)
 
#define DENON_ZERO_SPACE   (3 * DENON_UNIT)
 
#define DENON_AUTO_REPEAT_DISTANCE   45000
 
#define DENON_REPEAT_PERIOD   110000
 
#define DENON_HEADER_MARK   DENON_UNIT
 
#define DENON_HEADER_SPACE   (3 * DENON_UNIT)
 
#define DISTANCE_WIDTH_MAXIMUM_REPEAT_DISTANCE_MICROS   100000
 
#define DISTANCE_WIDTH_DECODER_DURATION_ARRAY_SIZE   200
 
#define JVC_ADDRESS_BITS   8
 
#define JVC_COMMAND_BITS   8
 
#define JVC_BITS   (JVC_ADDRESS_BITS + JVC_COMMAND_BITS)
 
#define JVC_UNIT   526
 
#define JVC_HEADER_MARK   (16 * JVC_UNIT)
 
#define JVC_HEADER_SPACE   (8 * JVC_UNIT)
 
#define JVC_BIT_MARK   JVC_UNIT
 
#define JVC_ONE_SPACE   (3 * JVC_UNIT)
 
#define JVC_ZERO_SPACE   JVC_UNIT
 
#define JVC_REPEAT_DISTANCE   (uint16_t)(45 * JVC_UNIT)
 
#define JVC_REPEAT_PERIOD   65000
 
#define KASEIKYO_VENDOR_ID_BITS   16
 
#define KASEIKYO_VENDOR_ID_PARITY_BITS   4
 
#define KASEIKYO_ADDRESS_BITS   12
 
#define KASEIKYO_COMMAND_BITS   8
 
#define KASEIKYO_PARITY_BITS   8
 
#define KASEIKYO_BITS   (KASEIKYO_VENDOR_ID_BITS + KASEIKYO_VENDOR_ID_PARITY_BITS + KASEIKYO_ADDRESS_BITS + KASEIKYO_COMMAND_BITS + KASEIKYO_PARITY_BITS)
 
#define KASEIKYO_UNIT   432
 
#define KASEIKYO_HEADER_MARK   (8 * KASEIKYO_UNIT)
 
#define KASEIKYO_HEADER_SPACE   (4 * KASEIKYO_UNIT)
 
#define KASEIKYO_BIT_MARK   KASEIKYO_UNIT
 
#define KASEIKYO_ONE_SPACE   (3 * KASEIKYO_UNIT)
 
#define KASEIKYO_ZERO_SPACE   KASEIKYO_UNIT
 
#define KASEIKYO_AVERAGE_DURATION   56000
 
#define KASEIKYO_REPEAT_PERIOD   130000
 
#define KASEIKYO_REPEAT_DISTANCE   (KASEIKYO_REPEAT_PERIOD - KASEIKYO_AVERAGE_DURATION)
 
#define KASEIKYO_MAXIMUM_REPEAT_DISTANCE   (KASEIKYO_REPEAT_DISTANCE + (KASEIKYO_REPEAT_DISTANCE / 4))
 
#define PANASONIC_VENDOR_ID_CODE   0x2002
 
#define DENON_VENDOR_ID_CODE   0x3254
 
#define MITSUBISHI_VENDOR_ID_CODE   0xCB23
 
#define SHARP_VENDOR_ID_CODE   0x5AAA
 
#define JVC_VENDOR_ID_CODE   0x0103
 
#define LEGO_CHANNEL_BITS   4
 
#define LEGO_MODE_BITS   4
 
#define LEGO_COMMAND_BITS   4
 
#define LEGO_PARITY_BITS   4
 
#define LEGO_BITS   (LEGO_CHANNEL_BITS + LEGO_MODE_BITS + LEGO_COMMAND_BITS + LEGO_PARITY_BITS)
 
#define LEGO_HEADER_MARK   158
 
#define LEGO_HEADER_SPACE   1026
 
#define LEGO_BIT_MARK   158
 
#define LEGO_ONE_SPACE   553
 
#define LEGO_ZERO_SPACE   263
 
#define LEGO_ONE_THRESHOLD   408
 
#define LEGO_AVERAGE_DURATION   11000
 
#define LEGO_AUTO_REPEAT_PERIOD_MIN   110000
 
#define LEGO_AUTO_REPEAT_PERIOD_MAX   230000
 
#define LEGO_MODE_EXTENDED   0
 
#define LEGO_MODE_COMBO   1
 
#define LEGO_MODE_SINGLE   0x4
 
#define LG_ADDRESS_BITS   8
 
#define LG_COMMAND_BITS   16
 
#define LG_CHECKSUM_BITS   4
 
#define LG_BITS   (LG_ADDRESS_BITS + LG_COMMAND_BITS + LG_CHECKSUM_BITS)
 
#define LG_UNIT   500
 
#define LG_HEADER_MARK   (18 * LG_UNIT)
 
#define LG_HEADER_SPACE   4200
 
#define LG2_HEADER_MARK   (19 * LG_UNIT)
 
#define LG2_HEADER_SPACE   (6 * LG_UNIT)
 
#define LG_BIT_MARK   LG_UNIT
 
#define LG_ONE_SPACE   1580
 
#define LG_ZERO_SPACE   550
 
#define LG_REPEAT_HEADER_SPACE   (4 * LG_UNIT)
 
#define LG_REPEAT_PERIOD   110000
 
#define MAGIQUEST_CHECKSUM_BITS   8
 
#define MAGIQUEST_MAGNITUDE_BITS   9
 
#define MAGIQUEST_WAND_ID_BITS   31
 
#define MAGIQUEST_START_BITS   8
 
#define MAGIQUEST_PERIOD   1150
 
#define MAGIQUEST_DATA_BITS   (MAGIQUEST_CHECKSUM_BITS + MAGIQUEST_MAGNITUDE_BITS + MAGIQUEST_WAND_ID_BITS)
 
#define MAGIQUEST_BITS   (MAGIQUEST_CHECKSUM_BITS + MAGIQUEST_MAGNITUDE_BITS + MAGIQUEST_WAND_ID_BITS + MAGIQUEST_START_BITS)
 
#define MAGIQUEST_UNIT   (MAGIQUEST_PERIOD / 4)
 
#define MAGIQUEST_ONE_MARK   (2 * MAGIQUEST_UNIT)
 
#define MAGIQUEST_ONE_SPACE   (2 * MAGIQUEST_UNIT)
 
#define MAGIQUEST_ZERO_MARK   MAGIQUEST_UNIT
 
#define MAGIQUEST_ZERO_SPACE   (3 * MAGIQUEST_UNIT)
 
#define NEC_ADDRESS_BITS   16
 
#define NEC_COMMAND_BITS   16
 
#define NEC_BITS   (NEC_ADDRESS_BITS + NEC_COMMAND_BITS)
 
#define NEC_UNIT   560
 
#define NEC_HEADER_MARK   (16 * NEC_UNIT)
 
#define NEC_HEADER_SPACE   (8 * NEC_UNIT)
 
#define NEC_BIT_MARK   NEC_UNIT
 
#define NEC_ONE_SPACE   (3 * NEC_UNIT)
 
#define NEC_ZERO_SPACE   NEC_UNIT
 
#define NEC_REPEAT_HEADER_SPACE   (4 * NEC_UNIT)
 
#define NEC_AVERAGE_DURATION   62000
 
#define NEC_MINIMAL_DURATION   49900
 
#define NEC_REPEAT_DURATION   (NEC_HEADER_MARK + NEC_REPEAT_HEADER_SPACE + NEC_BIT_MARK)
 
#define NEC_REPEAT_PERIOD   110000
 
#define NEC_REPEAT_DISTANCE   (NEC_REPEAT_PERIOD - NEC_AVERAGE_DURATION)
 
#define NEC_MAXIMUM_REPEAT_DISTANCE   (NEC_REPEAT_PERIOD - NEC_MINIMAL_DURATION + 10000)
 
#define APPLE_ADDRESS   0x87EE
 
#define OPENLASIR_ADDRESS_BITS   16
 
#define OPENLASIR_COMMAND_BITS   16
 
#define OPENLASIR_BITS   (OPENLASIR_ADDRESS_BITS + OPENLASIR_COMMAND_BITS)
 
#define OPENLASIR_MODE_LASER_TAG_FIRE   0
 
#define OPENLASIR_MODE_USER_PRESENCE_ANNOUNCEMENT   1
 
#define OPENLASIR_MODE_BASE_STATION_PRESENCE_ANNOUNCEMENT   2
 
#define OPENLASIR_MODE_USER_TO_USER_HANDSHAKE_INITIATION   3
 
#define OPENLASIR_MODE_USER_TO_USER_HANDSHAKE_RESPONSE   4
 
#define OPENLASIR_MODE_USER_TO_BASE_STATION_HANDSHAKE_INITIATION   5
 
#define OPENLASIR_MODE_USER_TO_BASE_STATION_HANDSHAKE_RESPONSE   6
 
#define OPENLASIR_MODE_BASE_STATION_TO_USER_HANDSHAKE_INITIATION   7
 
#define OPENLASIR_MODE_BASE_STATION_TO_USER_HANDSHAKE_RESPONSE   8
 
#define OPENLASIR_MODE_COLOR_SET_TEMPORARY   9
 
#define OPENLASIR_MODE_COLOR_SET_PERMANENT   10
 
#define OPENLASIR_MODE_GENERAL_INTERACT   11
 
#define OPENLASIR_COLOR_CYAN   0
 
#define OPENLASIR_COLOR_MAGENTA   1
 
#define OPENLASIR_COLOR_YELLOW   2
 
#define OPENLASIR_COLOR_GREEN   3
 
#define OPENLASIR_COLOR_RED   4
 
#define OPENLASIR_COLOR_BLUE   5
 
#define OPENLASIR_COLOR_ORANGE   6
 
#define OPENLASIR_COLOR_WHITE   7
 
#define DISH_BITS   16
 
#define DISH_HEADER_MARK   400
 
#define DISH_HEADER_SPACE   6100
 
#define DISH_BIT_MARK   400
 
#define DISH_ONE_SPACE   1700
 
#define DISH_ZERO_SPACE   2800
 
#define DISH_REPEAT_SPACE   6200
 
#define WHYNTER_BITS   32
 
#define WHYNTER_HEADER_MARK   2850
 
#define WHYNTER_HEADER_SPACE   2850
 
#define WHYNTER_BIT_MARK   750
 
#define WHYNTER_ONE_SPACE   2150
 
#define WHYNTER_ZERO_SPACE   750
 
#define VELUX_BITS   24
 VELUX see https://github.com/XPModder/Velux-IR-protocol see https://github.com/Arduino-IRremote/Arduino-IRremote/issues/612 We have a pulse width protocol with constant bit length of 1700 us with no header and one autorepeat after 27 ms. More...
 
#define VELUX_HEADER_MARK   0
 
#define VELUX_HEADER_SPACE   0
 
#define VELUX_UNIT   425
 
#define VELUX_ONE_MARK   (3*VELUX_UNIT)
 
#define VELUX_ONE_SPACE   VELUX_UNIT
 
#define VELUX_ZERO_MARK   VELUX_UNIT
 
#define VELUX_ZERO_SPACE   (3*VELUX_UNIT)
 
#define VELUX_PERIOD   ((23 * 4) + 1 ) * VELUX_UNIT)
 
#define VELUX_AUTOREPEAT_SPACE   27000
 
#define VELUX_REPEAT_SPACE   100000
 
#define VELUX_COMMAND_AUTO_UP   0x1
 
#define VELUX_COMMAND_AUTO_DOWN   0x3
 
#define VELUX_COMMAND_STOP   0x5
 
#define RC5_ADDRESS_BITS   5
 
#define RC5_COMMAND_BITS   6
 
#define RC5_COMMAND_FIELD_BIT   1
 
#define RC5_TOGGLE_BIT   1
 
#define RC5_BITS   (RC5_COMMAND_FIELD_BIT + RC5_TOGGLE_BIT + RC5_ADDRESS_BITS + RC5_COMMAND_BITS)
 
#define RC5_UNIT   889
 
#define MIN_RC5_MARKS   ((RC5_BITS + 1) / 2)
 
#define RC5_DURATION   (26 * RC5_UNIT)
 
#define RC5_REPEAT_PERIOD   (128L * RC5_UNIT)
 
#define RC5_REPEAT_DISTANCE   (RC5_REPEAT_PERIOD - RC5_DURATION)
 
#define RC5_MAXIMUM_REPEAT_DISTANCE   (RC5_REPEAT_DISTANCE + (RC5_REPEAT_DISTANCE / 4))
 
#define MARANTZ_COMMAND_EXTENSION_BITS   6
 
#define MARANTZ_BITS   (RC5_COMMAND_FIELD_BIT + RC5_TOGGLE_BIT + RC5_ADDRESS_BITS + RC5_COMMAND_BITS + MARANTZ_COMMAND_EXTENSION_BITS)
 
#define MARANTZ_PAUSE_BIT_INDEX   (RC5_COMMAND_FIELD_BIT + RC5_TOGGLE_BIT + RC5_ADDRESS_BITS)
 
#define MARANTZ_PAUSE_DURATION   (4 * RC5_UNIT)
 
#define MARANTZ_DURATION   (42L * RC5_UNIT)
 
#define MARANTZ_REPEAT_DISTANCE   (RC5_REPEAT_PERIOD - MARANTZ_DURATION)
 
#define MIN_RC6_SAMPLES   1
 
#define RC6_RPT_LENGTH   46000
 
#define RC6_LEADING_BIT   1
 
#define RC6_MODE_BITS   3
 
#define RC6_TOGGLE_BIT   1
 
#define RC6_TOGGLE_BIT_INDEX   RC6_MODE_BITS
 
#define RC6_ADDRESS_BITS   8
 
#define RC6_COMMAND_BITS   8
 
#define RC6_CUSTOMER_BITS   14
 
#define RC6_BITS   (RC6_LEADING_BIT + RC6_MODE_BITS + RC6_TOGGLE_BIT + RC6_ADDRESS_BITS + RC6_COMMAND_BITS)
 
#define RC6A_BITS   (RC6_LEADING_BIT + RC6_MODE_BITS + RC6_TOGGLE_BIT + 1 + RC6_CUSTOMER_BITS + RC6_ADDRESS_BITS + RC6_COMMAND_BITS)
 
#define RC6_UNIT   444
 
#define RC6_HEADER_MARK   (6 * RC6_UNIT)
 
#define RC6_HEADER_SPACE   (2 * RC6_UNIT)
 
#define RC6_TRAILING_SPACE   (6 * RC6_UNIT)
 
#define MIN_RC6_MARKS   4 + ((RC6_ADDRESS_BITS + RC6_COMMAND_BITS) / 2)
 
#define RC6_REPEAT_DISTANCE   107000
 
#define RC6_MAXIMUM_REPEAT_DISTANCE   (RC6_REPEAT_DISTANCE + (RC6_REPEAT_DISTANCE / 4))
 
#define SAMSUNG_ADDRESS_BITS   16
 
#define SAMSUNG_COMMAND16_BITS   16
 
#define SAMSUNG_COMMAND32_BITS   32
 
#define SAMSUNG_BITS   (SAMSUNG_ADDRESS_BITS + SAMSUNG_COMMAND16_BITS)
 
#define SAMSUNG48_BITS   (SAMSUNG_ADDRESS_BITS + SAMSUNG_COMMAND32_BITS)
 
#define SAMSUNG_UNIT   560
 
#define SAMSUNG_HEADER_MARK   (8 * SAMSUNG_UNIT)
 
#define SAMSUNG_HEADER_SPACE   (8 * SAMSUNG_UNIT)
 
#define SAMSUNG_BIT_MARK   SAMSUNG_UNIT
 
#define SAMSUNG_ONE_SPACE   (3 * SAMSUNG_UNIT)
 
#define SAMSUNG_ZERO_SPACE   SAMSUNG_UNIT
 
#define SAMSUNG_AVERAGE_DURATION   55000
 
#define SAMSUNG_REPEAT_DURATION   (SAMSUNG_HEADER_MARK + SAMSUNG_HEADER_SPACE + SAMSUNG_BIT_MARK + SAMSUNG_ZERO_SPACE + SAMSUNG_BIT_MARK)
 
#define SAMSUNG_REPEAT_PERIOD   110000
 
#define SAMSUNG_MAXIMUM_REPEAT_DISTANCE   (SAMSUNG_REPEAT_PERIOD + (SAMSUNG_REPEAT_PERIOD / 4))
 
#define SONY_ADDRESS_BITS   5
 
#define SONY_COMMAND_BITS   7
 
#define SONY_EXTRA_BITS   8
 
#define SONY_BITS_MIN   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS)
 
#define SONY_BITS_15   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS + 3)
 
#define SONY_BITS_MAX   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS + SONY_EXTRA_BITS)
 
#define SONY_UNIT   600
 
#define SONY_HEADER_MARK   (4 * SONY_UNIT)
 
#define SONY_ONE_MARK   (2 * SONY_UNIT)
 
#define SONY_ZERO_MARK   SONY_UNIT
 
#define SONY_SPACE   SONY_UNIT
 
#define SONY_AVERAGE_DURATION_MIN   21000
 
#define SONY_AVERAGE_DURATION_MAX   33000
 
#define SONY_REPEAT_PERIOD   45000
 
#define SONY_MAXIMUM_REPEAT_DISTANCE   (SONY_REPEAT_PERIOD - SONY_AVERAGE_DURATION_MIN)
 
#define SONY_DOUBLE_SPACE_USECS   500
 

Functions

static bool matchBeoLength (uint16_t aMeasuredTicks, uint16_t aMatchValueMicros)
 
bool aggregateArrayCounts (uint8_t aArray[], uint8_t aMaxIndex, uint8_t *aShortIndex, uint8_t *aLongIndex)
 
void sendLG2SpecialRepeat ()
 Static function for sending special repeat frame. More...
 
void sendNECSpecialRepeat ()
 Static function variant of IRsend::sendNECRepeat For use in ProtocolConstants. More...
 
void sendOpenLASIRSpecialRepeat ()
 Static function variant of IRsend::sendOpenLASIRRepeat For use in ProtocolConstants. More...
 
static uint16_t toFrequencyKHz (uint16_t code)
 
static uint16_t effectiveFrequency (uint16_t frequency)
 
static uint16_t toTimebase (uint16_t frequency)
 
static uint16_t toFrequencyCode (uint16_t frequency)
 
static char DigitToHex (uint8_t x)
 
static void dumpDigitHex (Print *aSerial, uint8_t number)
 
static void dumpNumberHex (Print *aSerial, uint16_t number)
 
static void dumpDurationHex (Print *aSerial, uint32_t duration, uint16_t timebase)
 
static void compensateAndDumpSequence (Print *aSerial, const volatile IRRawbufType *data, size_t length, uint16_t timebase)
 
static bool dumpDigitHex (String *aString, uint8_t number)
 
static size_t dumpNumberHex (String *aString, uint16_t number)
 
static size_t dumpDurationHex (String *aString, uint32_t duration, uint16_t timebase)
 
static size_t compensateAndDumpSequence (String *aString, const volatile IRRawbufType *data, size_t length, uint16_t timebase)
 
void sendSamsungLGSpecialRepeat ()
 Like above, but implemented as a static function Used for sending special repeat frame. More...
 
void IRsend::sendBangOlufsen (uint16_t aHeader, uint8_t aData, int_fast8_t aNumberOfRepeats=NO_REPEATS, int8_t aNumberOfHeaderBits=8)
 
void IRsend::sendBangOlufsenDataLink (uint32_t aHeader, uint8_t aData, int_fast8_t aNumberOfRepeats=NO_REPEATS, int8_t aNumberOfHeaderBits=8)
 
void IRsend::sendBangOlufsenRaw (uint32_t aRawData, int_fast8_t aBits, bool aBackToBack=false)
 
void IRsend::sendBangOlufsenRawDataLink (uint64_t aRawData, int_fast8_t aBits, bool aBackToBack=false, bool aUseDatalinkTiming=false)
 
bool IRrecv::decodeBangOlufsen ()
 
void IRsend::sendBoseWave (uint8_t aCommand, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 
bool IRrecv::decodeBoseWave ()
 
void IRsend::sendSharp (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats)
 
void IRsend::sendSharp2 (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats)
 
void IRsend::sendDenon (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, uint8_t aSendSharpFrameMarker=0)
 
bool IRrecv::decodeSharp ()
 
bool IRrecv::decodeDenon ()
 
void IRsend::sendDenonRaw (uint16_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS) __attribute__((deprecated("Please use sendDenon(aAddress
 
void IRsend::sendDenon (unsigned long data, int nbits) __attribute__((deprecated("The function sendDenon(data
 
void IRsend::sendSharp (uint16_t address, uint16_t command)
 
bool IRrecv::decodeDenonOld (decode_results *aResults)
 
bool IRrecv::decodeDistanceWidth ()
 
void IRsend::sendFAST (uint8_t aCommand, int_fast8_t aNumberOfRepeats)
 The FAST protocol repeats by skipping the header mark and space -> this leads to a poor repeat detection for JVC protocol. More...
 
bool IRrecv::decodeFAST ()
 
void IRsend::sendJVC (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats)
 The JVC protocol repeats by skipping the header mark and space -> this leads to a poor repeat detection for JVC protocol. More...
 
bool IRrecv::decodeJVC ()
 
bool IRrecv::decodeJVCMSB (decode_results *aResults)
 
void IRsend::sendJVCMSB (unsigned long data, int nbits, bool repeat=false)
 With Send sendJVCMSB() you can send your old 32 bit codes. More...
 
void IRsend::sendKaseikyo (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats, uint16_t aVendorCode)
 Address can be interpreted as sub-device << 4 + 4 bit device. More...
 
void IRsend::sendPanasonic (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with PANASONIC_VENDOR_ID_CODE. More...
 
void IRsend::sendKaseikyo_Denon (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with DENON_VENDOR_ID_CODE. More...
 
void IRsend::sendKaseikyo_Mitsubishi (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with MITSUBISHI_VENDOR_ID_CODE. More...
 
void IRsend::sendKaseikyo_Sharp (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with SHARP_VENDOR_ID_CODE. More...
 
void IRsend::sendKaseikyo_JVC (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with JVC_VENDOR_ID_CODE. More...
 
bool IRrecv::decodeKaseikyo ()
 
void IRsend::sendLegoPowerFunctions (uint8_t aChannel, uint8_t tCommand, uint8_t aMode, bool aDoSend5Times=true)
 
void IRsend::sendLegoPowerFunctions (uint16_t aRawData, uint8_t aChannel, bool aDoSend5Times=true)
 
bool IRrecv::decodeLegoPowerFunctions ()
 
void IRsend::sendLegoPowerFunctions (uint16_t aRawData, bool aDoSend5Times=true)
 
void IRsend::sendLG2Repeat ()
 
uint32_t IRsend::computeLGRawDataAndChecksum (uint8_t aAddress, uint16_t aCommand)
 
void IRsend::sendLG (uint8_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 LG uses the NEC repeat. More...
 
void IRsend::sendLG2 (uint8_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 LG2 uses a special repeat. More...
 
bool IRrecv::decodeLG ()
 
void IRsend::sendLGRaw (uint32_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 Here you can put your raw data, even one with "wrong" checksum. More...
 
bool IRrecv::decodeLGMSB (decode_results *aResults)
 
void IRsend::sendLG (unsigned long data, int nbits) __attribute__((deprecated("The function sendLG(data
 
void IRsend::sendMagiQuest (uint32_t aWandId, uint16_t aMagnitude)
 
bool IRrecv::decodeMagiQuest ()
 
void IRsend::sendNECRepeat ()
 Send special NEC repeat frame Repeat commands should be sent in a 110 ms raster. More...
 
uint32_t IRsend::computeNECRawDataAndChecksum (uint16_t aAddress, uint16_t aCommand)
 Convert 16 bit address and 16 bit command to 32 bit NECRaw data If we get a command < 0x100, we send command and then ~command If we get an address < 0x100, we send 8 bit address and then ~address !!! Be aware, that this is flexible, but makes it impossible to send e.g. More...
 
void IRsend::sendNEC (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 NEC Send frame and special repeats There is NO delay after the last sent repeat! More...
 
void IRsend::sendOnkyo (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 There is NO delay after the last sent repeat! More...
 
void IRsend::sendNEC2 (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 NEC2 Send frame !!! and repeat the frame for each requested repeat !!! There is NO delay after the last sent repeat! More...
 
void IRsend::sendApple (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats)
 Apple: Send NEC with fixed 16 bit Apple address 0x87EE. More...
 
void IRsend::sendNECRaw (uint32_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 Sends NEC protocol. More...
 
bool IRrecv::decodeNEC ()
 Decodes also Onkyo and Apple. More...
 
bool IRrecv::decodeNECMSB (decode_results *aResults)
 
void IRsend::sendNECMSB (uint32_t data, uint8_t nbits, bool repeat=false)
 With Send sendNECMSB() you can send your old 32 bit codes. More...
 
void IRsend::sendOpenLASIRRepeat ()
 Send special OpenLASIR repeat frame (same as NEC repeat frame). More...
 
uint32_t IRsend::computeOpenLASIRRawDataAndChecksum (uint8_t aAddress, uint16_t aCommand)
 Compute the raw 32-bit data for an OpenLASIR frame from 8-bit address and 16-bit command. More...
 
uint16_t IRsend::computeOpenLASIRRawCommand (uint8_t aDeviceID, uint8_t aMode, uint8_t aData)
 Compute the raw 32-bit data for an OpenLASIR frame from 8-bit address, 8-bit DeviceID, 5-bit Mode and 3-bit Data. More...
 
void IRsend::sendOpenLASIR (uint8_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 Send an OpenLASIR frame with special NEC-style repeats. More...
 
void IRsend::sendOpenLASIR (uint8_t aAddress, uint8_t aDeviceID, uint8_t aMode, uint8_t aData, int_fast8_t aNumberOfRepeats)
 Send an OpenLASIR frame with special NEC-style repeats. More...
 
void IRsend::sendOpenLASIRRaw (uint32_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 Send raw 32-bit OpenLASIR data. More...
 
bool IRrecv::decodeOpenLASIR ()
 Decode an OpenLASIR frame. More...
 
void IRsend::sendDish (uint16_t aData)
 
void IRsend::sendWhynter (uint32_t aData, int_fast8_t aNumberOfRepeats)
 
bool IRrecv::decodeWhynter ()
 
void IRsend::sendVelux (uint8_t aCommand, uint8_t aMotorNumber, uint8_t aMotorSet, uint16_t aSecurityCode, int_fast8_t aNumberOfRepeats)
 
void IRsend::sendVelux (uint32_t aData, int_fast8_t aNumberOfRepeats)
 
void IRsend::sendPronto (const uint16_t *data, uint16_t length, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 
void IRsend::sendPronto (const char *prontoHexString, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 Parse the string given as Pronto Hex, and send it a number of times given as the second argument. More...
 
void IRsend::sendPronto (const __FlashStringHelper *str, int_fast8_t aNumberOfRepeats=NO_REPEATS)
 
void IRrecv::compensateAndPrintIRResultAsPronto (Print *aSerial, uint16_t frequency=38000U)
 Print the result (second argument) as Pronto Hex on the Print supplied as argument. More...
 
size_t IRrecv::compensateAndStorePronto (String *aString, uint16_t frequency=38000U)
 
void IRsend::sendRC5Marantz (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, uint8_t aMarantzExtension, bool aEnableAutomaticToggle=true)
 !!! Not tested, because no Marantz remote was at hand and no receive function was contributed!!! Send function for the Marantz version of RC5(X) with a pause of 4 * RC5_UNIT after address / first 8 bits and before the bits of command and command extension. More...
 
void IRsend::sendRC5 (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, bool aEnableAutomaticToggle=true)
 
void IRsend::sendRC6 (uint32_t data, uint8_t nbits) __attribute__((deprecated("Please use sendRC6Raw().")))
 Main RC6 send function. More...
 
void IRsend::sendRC6Raw (uint32_t data, uint8_t nbits)
 
void IRsend::sendRC6 (uint64_t data, uint8_t nbits) __attribute__((deprecated("Please use sendRC6Raw().")))
 Send RC6 64 bit raw data Can be used to send RC6A with ?31? data bits. More...
 
void IRsend::sendRC6Raw (uint64_t data, uint8_t nbits)
 
void IRsend::sendRC6 (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, bool aEnableAutomaticToggle=true)
 Assemble raw data for RC6 from parameters and toggle state and send We do not wait for the minimal trailing space of 2666 us. More...
 
void IRsend::sendRC6A (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, uint16_t aCustomer, bool aEnableAutomaticToggle=true)
 Assemble raw data for RC6 from parameters and toggle state and send We do not wait for the minimal trailing space of 2666 us. More...
 
void IRsend::sendRC5 (uint32_t data, uint8_t nbits) __attribute__((deprecated("Please use sendRC5(uint8_t aAddress
 Old version with 32 bit data. More...
 
void IRsend::sendRC5ext (uint8_t addr, uint8_t cmd, bool toggle) __attribute__((deprecated("Please use sendRC5(uint8_t aAddress
 
void IRsend::sendSamsungLGRepeat ()
 Send repeat Repeat commands should be sent in a 110 ms raster. More...
 
void IRsend::sendSamsungLG (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 
void IRsend::sendSamsung (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 Here we send Samsung32 If we get a command < 0x100, we send command and then ~command If we get an address < 0x100, we send 8 bit address and then the same 8 bit address again, this makes it flipper IRDB compatible !!! Be aware, that this is flexible, but makes it impossible to send e.g. More...
 
void IRsend::sendSamsung16BitAddressAnd8BitCommand (uint16_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats)
 Maybe no one needs it in the wild... More...
 
void IRsend::sendSamsung16BitAddressAndCommand (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats)
 Maybe no one needs it in the wild... More...
 
void IRsend::sendSamsung48 (uint16_t aAddress, uint32_t aCommand, int_fast8_t aNumberOfRepeats)
 Here we send Samsung48 We send 2 x (8 bit command and then ~command) More...
 
bool IRrecv::decodeSamsung ()
 
bool IRrecv::decodeSAMSUNG (decode_results *aResults)
 
void IRsend::sendSamsungMSB (unsigned long data, int nbits)
 
void IRsend::sendSAMSUNG (unsigned long data, int nbits)
 
void IRsend::sendSony (uint16_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, uint8_t numberOfBits=12)
 
bool IRrecv::decodeSony ()
 
bool IRrecv::decodeSonyMSB (decode_results *aResults)
 
void IRsend::sendSonyMSB (unsigned long data, int nbits)
 Old version with MSB first data. More...
 
void IRsend::sendSony (unsigned long data, int nbits) __attribute__((deprecated("This old function sends MSB first! Please use sendSony(aAddress
 

Variables

struct PulseDistanceWidthProtocolConstants const BoseWaveProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const DenonProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const FASTProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const JVCProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const KaseikyoProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants LegoProtocolConstants
 
struct PulseDistanceWidthProtocolConstants const LGProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const MagiQuestProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const NECProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const DishProtocolConstants PROGMEM
 
uint8_t sLastSendToggleValue = 1
 
struct PulseDistanceWidthProtocolConstants const SamsungProtocolConstants PROGMEM
 
struct PulseDistanceWidthProtocolConstants const SonyProtocolConstants PROGMEM
 

Detailed Description

Macro Definition Documentation

◆ APPLE_ADDRESS

#define APPLE_ADDRESS   0x87EE

Definition at line 115 of file ir_NEC.hpp.

◆ BEO_BIT_MARK

#define BEO_BIT_MARK   200

Definition at line 113 of file ir_BangOlufsen.hpp.

◆ BEO_BIT_MARK_FOR_DECODE

#define BEO_BIT_MARK_FOR_DECODE   250

Definition at line 117 of file ir_BangOlufsen.hpp.

◆ BEO_DATA_BITS

#define BEO_DATA_BITS   8

Definition at line 109 of file ir_BangOlufsen.hpp.

◆ BEO_DATALINK_BIT_MARK

#define BEO_DATALINK_BIT_MARK   (BEO_UNIT / 2)

Definition at line 118 of file ir_BangOlufsen.hpp.

◆ BEO_MATCH_DELTA

#define BEO_MATCH_DELTA   (BEO_UNIT / 2 - MICROS_PER_TICK)

Definition at line 279 of file ir_BangOlufsen.hpp.

◆ BEO_ONE_SPACE

#define BEO_ONE_SPACE   (3 * BEO_UNIT)

Definition at line 125 of file ir_BangOlufsen.hpp.

◆ BEO_REPEAT_PERIOD

#define BEO_REPEAT_PERIOD   100000

Definition at line 128 of file ir_BangOlufsen.hpp.

◆ BEO_REPETITION_OF_PREVIOUS_BIT_SPACE

#define BEO_REPETITION_OF_PREVIOUS_BIT_SPACE   (2 * BEO_UNIT)

Definition at line 124 of file ir_BangOlufsen.hpp.

◆ BEO_START_BIT_SPACE

#define BEO_START_BIT_SPACE   (5 * BEO_UNIT)

Definition at line 127 of file ir_BangOlufsen.hpp.

◆ BEO_TRAILING_BIT_SPACE

#define BEO_TRAILING_BIT_SPACE   (4 * BEO_UNIT)

Definition at line 126 of file ir_BangOlufsen.hpp.

◆ BEO_UNIT

#define BEO_UNIT   3125

Definition at line 111 of file ir_BangOlufsen.hpp.

◆ BEO_ZERO_SPACE

#define BEO_ZERO_SPACE   BEO_UNIT

Definition at line 123 of file ir_BangOlufsen.hpp.

◆ BOSEWAVE_BIT_MARK

#define BOSEWAVE_BIT_MARK   520

Definition at line 40 of file ir_BoseWave.hpp.

◆ BOSEWAVE_BITS

#define BOSEWAVE_BITS   16

Definition at line 36 of file ir_BoseWave.hpp.

◆ BOSEWAVE_HEADER_MARK

#define BOSEWAVE_HEADER_MARK   1014

Definition at line 38 of file ir_BoseWave.hpp.

◆ BOSEWAVE_HEADER_SPACE

#define BOSEWAVE_HEADER_SPACE   1468

Definition at line 39 of file ir_BoseWave.hpp.

◆ BOSEWAVE_MAXIMUM_REPEAT_DISTANCE

#define BOSEWAVE_MAXIMUM_REPEAT_DISTANCE   62000

Definition at line 46 of file ir_BoseWave.hpp.

◆ BOSEWAVE_ONE_SPACE

#define BOSEWAVE_ONE_SPACE   1468

Definition at line 42 of file ir_BoseWave.hpp.

◆ BOSEWAVE_REPEAT_DISTANCE

#define BOSEWAVE_REPEAT_DISTANCE   50000

Definition at line 45 of file ir_BoseWave.hpp.

◆ BOSEWAVE_REPEAT_PERIOD

#define BOSEWAVE_REPEAT_PERIOD   75000

Definition at line 44 of file ir_BoseWave.hpp.

◆ BOSEWAVE_ZERO_SPACE

#define BOSEWAVE_ZERO_SPACE   468

Definition at line 41 of file ir_BoseWave.hpp.

◆ DENON_ADDRESS_BITS

#define DENON_ADDRESS_BITS   5

Definition at line 89 of file ir_Denon.hpp.

◆ DENON_AUTO_REPEAT_DISTANCE

#define DENON_AUTO_REPEAT_DISTANCE   45000

Definition at line 100 of file ir_Denon.hpp.

◆ DENON_BIT_MARK

#define DENON_BIT_MARK   DENON_UNIT

Definition at line 96 of file ir_Denon.hpp.

◆ DENON_BITS

Definition at line 93 of file ir_Denon.hpp.

◆ DENON_COMMAND_BITS

#define DENON_COMMAND_BITS   8

Definition at line 90 of file ir_Denon.hpp.

◆ DENON_FRAME_BITS

#define DENON_FRAME_BITS   2

Definition at line 91 of file ir_Denon.hpp.

◆ DENON_HEADER_MARK

#define DENON_HEADER_MARK   DENON_UNIT

Definition at line 104 of file ir_Denon.hpp.

◆ DENON_HEADER_SPACE

#define DENON_HEADER_SPACE   (3 * DENON_UNIT)

Definition at line 105 of file ir_Denon.hpp.

◆ DENON_ONE_SPACE

#define DENON_ONE_SPACE   (7 * DENON_UNIT)

Definition at line 97 of file ir_Denon.hpp.

◆ DENON_REPEAT_PERIOD

#define DENON_REPEAT_PERIOD   110000

Definition at line 101 of file ir_Denon.hpp.

◆ DENON_UNIT

#define DENON_UNIT   260

Definition at line 94 of file ir_Denon.hpp.

◆ DENON_VENDOR_ID_CODE

#define DENON_VENDOR_ID_CODE   0x3254

Definition at line 115 of file ir_Kaseikyo.hpp.

◆ DENON_ZERO_SPACE

#define DENON_ZERO_SPACE   (3 * DENON_UNIT)

Definition at line 98 of file ir_Denon.hpp.

◆ DISH_BIT_MARK

#define DISH_BIT_MARK   400

Definition at line 57 of file ir_Others.hpp.

◆ DISH_BITS

#define DISH_BITS   16

Definition at line 54 of file ir_Others.hpp.

◆ DISH_HEADER_MARK

#define DISH_HEADER_MARK   400

Definition at line 55 of file ir_Others.hpp.

◆ DISH_HEADER_SPACE

#define DISH_HEADER_SPACE   6100

Definition at line 56 of file ir_Others.hpp.

◆ DISH_ONE_SPACE

#define DISH_ONE_SPACE   1700

Definition at line 58 of file ir_Others.hpp.

◆ DISH_REPEAT_SPACE

#define DISH_REPEAT_SPACE   6200

Definition at line 60 of file ir_Others.hpp.

◆ DISH_ZERO_SPACE

#define DISH_ZERO_SPACE   2800

Definition at line 59 of file ir_Others.hpp.

◆ DISTANCE_WIDTH_DECODER_DURATION_ARRAY_SIZE

#define DISTANCE_WIDTH_DECODER_DURATION_ARRAY_SIZE   200

Definition at line 84 of file ir_DistanceWidthProtocol.hpp.

◆ DISTANCE_WIDTH_MAXIMUM_REPEAT_DISTANCE_MICROS

#define DISTANCE_WIDTH_MAXIMUM_REPEAT_DISTANCE_MICROS   100000

Definition at line 75 of file ir_DistanceWidthProtocol.hpp.

◆ ENABLE_BEO_WITHOUT_FRAME_GAP

#define ENABLE_BEO_WITHOUT_FRAME_GAP

Definition at line 95 of file ir_BangOlufsen.hpp.

◆ JVC_ADDRESS_BITS

#define JVC_ADDRESS_BITS   8

Definition at line 64 of file ir_JVC.hpp.

◆ JVC_BIT_MARK

#define JVC_BIT_MARK   JVC_UNIT

Definition at line 73 of file ir_JVC.hpp.

◆ JVC_BITS

#define JVC_BITS   (JVC_ADDRESS_BITS + JVC_COMMAND_BITS)

Definition at line 67 of file ir_JVC.hpp.

◆ JVC_COMMAND_BITS

#define JVC_COMMAND_BITS   8

Definition at line 65 of file ir_JVC.hpp.

◆ JVC_HEADER_MARK

#define JVC_HEADER_MARK   (16 * JVC_UNIT)

Definition at line 70 of file ir_JVC.hpp.

◆ JVC_HEADER_SPACE

#define JVC_HEADER_SPACE   (8 * JVC_UNIT)

Definition at line 71 of file ir_JVC.hpp.

◆ JVC_ONE_SPACE

#define JVC_ONE_SPACE   (3 * JVC_UNIT)

Definition at line 74 of file ir_JVC.hpp.

◆ JVC_REPEAT_DISTANCE

#define JVC_REPEAT_DISTANCE   (uint16_t)(45 * JVC_UNIT)

Definition at line 77 of file ir_JVC.hpp.

◆ JVC_REPEAT_PERIOD

#define JVC_REPEAT_PERIOD   65000

Definition at line 78 of file ir_JVC.hpp.

◆ JVC_UNIT

#define JVC_UNIT   526

Definition at line 68 of file ir_JVC.hpp.

◆ JVC_VENDOR_ID_CODE

#define JVC_VENDOR_ID_CODE   0x0103

Definition at line 118 of file ir_Kaseikyo.hpp.

◆ JVC_ZERO_SPACE

#define JVC_ZERO_SPACE   JVC_UNIT

Definition at line 75 of file ir_JVC.hpp.

◆ KASEIKYO_ADDRESS_BITS

#define KASEIKYO_ADDRESS_BITS   12

Definition at line 96 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_AVERAGE_DURATION

#define KASEIKYO_AVERAGE_DURATION   56000

Definition at line 109 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_BIT_MARK

#define KASEIKYO_BIT_MARK   KASEIKYO_UNIT

Definition at line 105 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_BITS

◆ KASEIKYO_COMMAND_BITS

#define KASEIKYO_COMMAND_BITS   8

Definition at line 97 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_HEADER_MARK

#define KASEIKYO_HEADER_MARK   (8 * KASEIKYO_UNIT)

Definition at line 102 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_HEADER_SPACE

#define KASEIKYO_HEADER_SPACE   (4 * KASEIKYO_UNIT)

Definition at line 103 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_MAXIMUM_REPEAT_DISTANCE

#define KASEIKYO_MAXIMUM_REPEAT_DISTANCE   (KASEIKYO_REPEAT_DISTANCE + (KASEIKYO_REPEAT_DISTANCE / 4))

Definition at line 112 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_ONE_SPACE

#define KASEIKYO_ONE_SPACE   (3 * KASEIKYO_UNIT)

Definition at line 106 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_PARITY_BITS

#define KASEIKYO_PARITY_BITS   8

Definition at line 98 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_REPEAT_DISTANCE

#define KASEIKYO_REPEAT_DISTANCE   (KASEIKYO_REPEAT_PERIOD - KASEIKYO_AVERAGE_DURATION)

Definition at line 111 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_REPEAT_PERIOD

#define KASEIKYO_REPEAT_PERIOD   130000

Definition at line 110 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_UNIT

#define KASEIKYO_UNIT   432

Definition at line 100 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_VENDOR_ID_BITS

#define KASEIKYO_VENDOR_ID_BITS   16

Definition at line 94 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_VENDOR_ID_PARITY_BITS

#define KASEIKYO_VENDOR_ID_PARITY_BITS   4

Definition at line 95 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_ZERO_SPACE

#define KASEIKYO_ZERO_SPACE   KASEIKYO_UNIT

Definition at line 107 of file ir_Kaseikyo.hpp.

◆ LEGO_AUTO_REPEAT_PERIOD_MAX

#define LEGO_AUTO_REPEAT_PERIOD_MAX   230000

Definition at line 96 of file ir_Lego.hpp.

◆ LEGO_AUTO_REPEAT_PERIOD_MIN

#define LEGO_AUTO_REPEAT_PERIOD_MIN   110000

Definition at line 95 of file ir_Lego.hpp.

◆ LEGO_AVERAGE_DURATION

#define LEGO_AVERAGE_DURATION   11000

Definition at line 93 of file ir_Lego.hpp.

◆ LEGO_BIT_MARK

#define LEGO_BIT_MARK   158

Definition at line 88 of file ir_Lego.hpp.

◆ LEGO_BITS

Definition at line 83 of file ir_Lego.hpp.

◆ LEGO_CHANNEL_BITS

#define LEGO_CHANNEL_BITS   4

Definition at line 78 of file ir_Lego.hpp.

◆ LEGO_COMMAND_BITS

#define LEGO_COMMAND_BITS   4

Definition at line 80 of file ir_Lego.hpp.

◆ LEGO_HEADER_MARK

#define LEGO_HEADER_MARK   158

Definition at line 85 of file ir_Lego.hpp.

◆ LEGO_HEADER_SPACE

#define LEGO_HEADER_SPACE   1026

Definition at line 86 of file ir_Lego.hpp.

◆ LEGO_MODE_BITS

#define LEGO_MODE_BITS   4

Definition at line 79 of file ir_Lego.hpp.

◆ LEGO_MODE_COMBO

#define LEGO_MODE_COMBO   1

Definition at line 99 of file ir_Lego.hpp.

◆ LEGO_MODE_EXTENDED

#define LEGO_MODE_EXTENDED   0

Definition at line 98 of file ir_Lego.hpp.

◆ LEGO_MODE_SINGLE

#define LEGO_MODE_SINGLE   0x4

Definition at line 100 of file ir_Lego.hpp.

◆ LEGO_ONE_SPACE

#define LEGO_ONE_SPACE   553

Definition at line 89 of file ir_Lego.hpp.

◆ LEGO_ONE_THRESHOLD

#define LEGO_ONE_THRESHOLD   408

Definition at line 91 of file ir_Lego.hpp.

◆ LEGO_PARITY_BITS

#define LEGO_PARITY_BITS   4

Definition at line 81 of file ir_Lego.hpp.

◆ LEGO_ZERO_SPACE

#define LEGO_ZERO_SPACE   263

Definition at line 90 of file ir_Lego.hpp.

◆ LG2_HEADER_MARK

#define LG2_HEADER_MARK   (19 * LG_UNIT)

Definition at line 101 of file ir_LG.hpp.

◆ LG2_HEADER_SPACE

#define LG2_HEADER_SPACE   (6 * LG_UNIT)

Definition at line 102 of file ir_LG.hpp.

◆ LG_ADDRESS_BITS

#define LG_ADDRESS_BITS   8

Definition at line 91 of file ir_LG.hpp.

◆ LG_BIT_MARK

#define LG_BIT_MARK   LG_UNIT

Definition at line 104 of file ir_LG.hpp.

◆ LG_BITS

#define LG_BITS   (LG_ADDRESS_BITS + LG_COMMAND_BITS + LG_CHECKSUM_BITS)

Definition at line 94 of file ir_LG.hpp.

◆ LG_CHECKSUM_BITS

#define LG_CHECKSUM_BITS   4

Definition at line 93 of file ir_LG.hpp.

◆ LG_COMMAND_BITS

#define LG_COMMAND_BITS   16

Definition at line 92 of file ir_LG.hpp.

◆ LG_HEADER_MARK

#define LG_HEADER_MARK   (18 * LG_UNIT)

Definition at line 98 of file ir_LG.hpp.

◆ LG_HEADER_SPACE

#define LG_HEADER_SPACE   4200

Definition at line 99 of file ir_LG.hpp.

◆ LG_ONE_SPACE

#define LG_ONE_SPACE   1580

Definition at line 105 of file ir_LG.hpp.

◆ LG_REPEAT_HEADER_SPACE

#define LG_REPEAT_HEADER_SPACE   (4 * LG_UNIT)

Definition at line 108 of file ir_LG.hpp.

◆ LG_REPEAT_PERIOD

#define LG_REPEAT_PERIOD   110000

Definition at line 109 of file ir_LG.hpp.

◆ LG_UNIT

#define LG_UNIT   500

Definition at line 96 of file ir_LG.hpp.

◆ LG_ZERO_SPACE

#define LG_ZERO_SPACE   550

Definition at line 106 of file ir_LG.hpp.

◆ MAGIQUEST_BITS

◆ MAGIQUEST_CHECKSUM_BITS

#define MAGIQUEST_CHECKSUM_BITS   8

Definition at line 88 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_DATA_BITS

Definition at line 95 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_MAGNITUDE_BITS

#define MAGIQUEST_MAGNITUDE_BITS   9

Definition at line 89 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_ONE_MARK

#define MAGIQUEST_ONE_MARK   (2 * MAGIQUEST_UNIT)

Definition at line 110 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_ONE_SPACE

#define MAGIQUEST_ONE_SPACE   (2 * MAGIQUEST_UNIT)

Definition at line 111 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_PERIOD

#define MAGIQUEST_PERIOD   1150

Definition at line 93 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_START_BITS

#define MAGIQUEST_START_BITS   8

Definition at line 91 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_UNIT

#define MAGIQUEST_UNIT   (MAGIQUEST_PERIOD / 4)

Definition at line 108 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_WAND_ID_BITS

#define MAGIQUEST_WAND_ID_BITS   31

Definition at line 90 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_ZERO_MARK

#define MAGIQUEST_ZERO_MARK   MAGIQUEST_UNIT

Definition at line 112 of file ir_MagiQuest.hpp.

◆ MAGIQUEST_ZERO_SPACE

#define MAGIQUEST_ZERO_SPACE   (3 * MAGIQUEST_UNIT)

Definition at line 113 of file ir_MagiQuest.hpp.

◆ MARANTZ_BITS

◆ MARANTZ_COMMAND_EXTENSION_BITS

#define MARANTZ_COMMAND_EXTENSION_BITS   6

Definition at line 109 of file ir_RC5_RC6.hpp.

◆ MARANTZ_DURATION

#define MARANTZ_DURATION   (42L * RC5_UNIT)

Definition at line 114 of file ir_RC5_RC6.hpp.

◆ MARANTZ_PAUSE_BIT_INDEX

#define MARANTZ_PAUSE_BIT_INDEX   (RC5_COMMAND_FIELD_BIT + RC5_TOGGLE_BIT + RC5_ADDRESS_BITS)

Definition at line 111 of file ir_RC5_RC6.hpp.

◆ MARANTZ_PAUSE_DURATION

#define MARANTZ_PAUSE_DURATION   (4 * RC5_UNIT)

Definition at line 112 of file ir_RC5_RC6.hpp.

◆ MARANTZ_REPEAT_DISTANCE

#define MARANTZ_REPEAT_DISTANCE   (RC5_REPEAT_PERIOD - MARANTZ_DURATION)

Definition at line 115 of file ir_RC5_RC6.hpp.

◆ MIN_RC5_MARKS

#define MIN_RC5_MARKS   ((RC5_BITS + 1) / 2)

Definition at line 102 of file ir_RC5_RC6.hpp.

◆ MIN_RC6_MARKS

#define MIN_RC6_MARKS   4 + ((RC6_ADDRESS_BITS + RC6_COMMAND_BITS) / 2)

Definition at line 515 of file ir_RC5_RC6.hpp.

◆ MIN_RC6_SAMPLES

#define MIN_RC6_SAMPLES   1

Definition at line 494 of file ir_RC5_RC6.hpp.

◆ MITSUBISHI_VENDOR_ID_CODE

#define MITSUBISHI_VENDOR_ID_CODE   0xCB23

Definition at line 116 of file ir_Kaseikyo.hpp.

◆ NEC_ADDRESS_BITS

#define NEC_ADDRESS_BITS   16

Definition at line 93 of file ir_NEC.hpp.

◆ NEC_AVERAGE_DURATION

#define NEC_AVERAGE_DURATION   62000

Definition at line 108 of file ir_NEC.hpp.

◆ NEC_BIT_MARK

#define NEC_BIT_MARK   NEC_UNIT

Definition at line 102 of file ir_NEC.hpp.

◆ NEC_BITS

#define NEC_BITS   (NEC_ADDRESS_BITS + NEC_COMMAND_BITS)

Definition at line 96 of file ir_NEC.hpp.

◆ NEC_COMMAND_BITS

#define NEC_COMMAND_BITS   16

Definition at line 94 of file ir_NEC.hpp.

◆ NEC_HEADER_MARK

#define NEC_HEADER_MARK   (16 * NEC_UNIT)

Definition at line 99 of file ir_NEC.hpp.

◆ NEC_HEADER_SPACE

#define NEC_HEADER_SPACE   (8 * NEC_UNIT)

Definition at line 100 of file ir_NEC.hpp.

◆ NEC_MAXIMUM_REPEAT_DISTANCE

#define NEC_MAXIMUM_REPEAT_DISTANCE   (NEC_REPEAT_PERIOD - NEC_MINIMAL_DURATION + 10000)

Definition at line 113 of file ir_NEC.hpp.

◆ NEC_MINIMAL_DURATION

#define NEC_MINIMAL_DURATION   49900

Definition at line 109 of file ir_NEC.hpp.

◆ NEC_ONE_SPACE

#define NEC_ONE_SPACE   (3 * NEC_UNIT)

Definition at line 103 of file ir_NEC.hpp.

◆ NEC_REPEAT_DISTANCE

#define NEC_REPEAT_DISTANCE   (NEC_REPEAT_PERIOD - NEC_AVERAGE_DURATION)

Definition at line 112 of file ir_NEC.hpp.

◆ NEC_REPEAT_DURATION

#define NEC_REPEAT_DURATION   (NEC_HEADER_MARK + NEC_REPEAT_HEADER_SPACE + NEC_BIT_MARK)

Definition at line 110 of file ir_NEC.hpp.

◆ NEC_REPEAT_HEADER_SPACE

#define NEC_REPEAT_HEADER_SPACE   (4 * NEC_UNIT)

Definition at line 106 of file ir_NEC.hpp.

◆ NEC_REPEAT_PERIOD

#define NEC_REPEAT_PERIOD   110000

Definition at line 111 of file ir_NEC.hpp.

◆ NEC_UNIT

#define NEC_UNIT   560

Definition at line 97 of file ir_NEC.hpp.

◆ NEC_ZERO_SPACE

#define NEC_ZERO_SPACE   NEC_UNIT

Definition at line 104 of file ir_NEC.hpp.

◆ OPENLASIR_ADDRESS_BITS

#define OPENLASIR_ADDRESS_BITS   16

Definition at line 85 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_BITS

#define OPENLASIR_BITS   (OPENLASIR_ADDRESS_BITS + OPENLASIR_COMMAND_BITS)

Definition at line 87 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_BLUE

#define OPENLASIR_COLOR_BLUE   5

Definition at line 114 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_CYAN

#define OPENLASIR_COLOR_CYAN   0

Definition at line 109 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_GREEN

#define OPENLASIR_COLOR_GREEN   3

Definition at line 112 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_MAGENTA

#define OPENLASIR_COLOR_MAGENTA   1

Definition at line 110 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_ORANGE

#define OPENLASIR_COLOR_ORANGE   6

Definition at line 115 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_RED

#define OPENLASIR_COLOR_RED   4

Definition at line 113 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_WHITE

#define OPENLASIR_COLOR_WHITE   7

Definition at line 116 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COLOR_YELLOW

#define OPENLASIR_COLOR_YELLOW   2

Definition at line 111 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_COMMAND_BITS

#define OPENLASIR_COMMAND_BITS   16

Definition at line 86 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_BASE_STATION_PRESENCE_ANNOUNCEMENT

#define OPENLASIR_MODE_BASE_STATION_PRESENCE_ANNOUNCEMENT   2

Definition at line 94 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_BASE_STATION_TO_USER_HANDSHAKE_INITIATION

#define OPENLASIR_MODE_BASE_STATION_TO_USER_HANDSHAKE_INITIATION   7

Definition at line 99 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_BASE_STATION_TO_USER_HANDSHAKE_RESPONSE

#define OPENLASIR_MODE_BASE_STATION_TO_USER_HANDSHAKE_RESPONSE   8

Definition at line 100 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_COLOR_SET_PERMANENT

#define OPENLASIR_MODE_COLOR_SET_PERMANENT   10

Definition at line 102 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_COLOR_SET_TEMPORARY

#define OPENLASIR_MODE_COLOR_SET_TEMPORARY   9

Definition at line 101 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_GENERAL_INTERACT

#define OPENLASIR_MODE_GENERAL_INTERACT   11

Definition at line 103 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_LASER_TAG_FIRE

#define OPENLASIR_MODE_LASER_TAG_FIRE   0

Definition at line 92 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_USER_PRESENCE_ANNOUNCEMENT

#define OPENLASIR_MODE_USER_PRESENCE_ANNOUNCEMENT   1

Definition at line 93 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_USER_TO_BASE_STATION_HANDSHAKE_INITIATION

#define OPENLASIR_MODE_USER_TO_BASE_STATION_HANDSHAKE_INITIATION   5

Definition at line 97 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_USER_TO_BASE_STATION_HANDSHAKE_RESPONSE

#define OPENLASIR_MODE_USER_TO_BASE_STATION_HANDSHAKE_RESPONSE   6

Definition at line 98 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_USER_TO_USER_HANDSHAKE_INITIATION

#define OPENLASIR_MODE_USER_TO_USER_HANDSHAKE_INITIATION   3

Definition at line 95 of file ir_OpenLASIR.hpp.

◆ OPENLASIR_MODE_USER_TO_USER_HANDSHAKE_RESPONSE

#define OPENLASIR_MODE_USER_TO_USER_HANDSHAKE_RESPONSE   4

Definition at line 96 of file ir_OpenLASIR.hpp.

◆ PANASONIC_VENDOR_ID_CODE

#define PANASONIC_VENDOR_ID_CODE   0x2002

Definition at line 114 of file ir_Kaseikyo.hpp.

◆ RC5_ADDRESS_BITS

#define RC5_ADDRESS_BITS   5

Definition at line 93 of file ir_RC5_RC6.hpp.

◆ RC5_BITS

Definition at line 98 of file ir_RC5_RC6.hpp.

◆ RC5_COMMAND_BITS

#define RC5_COMMAND_BITS   6

Definition at line 94 of file ir_RC5_RC6.hpp.

◆ RC5_COMMAND_FIELD_BIT

#define RC5_COMMAND_FIELD_BIT   1

Definition at line 95 of file ir_RC5_RC6.hpp.

◆ RC5_DURATION

#define RC5_DURATION   (26 * RC5_UNIT)

Definition at line 104 of file ir_RC5_RC6.hpp.

◆ RC5_MAXIMUM_REPEAT_DISTANCE

#define RC5_MAXIMUM_REPEAT_DISTANCE   (RC5_REPEAT_DISTANCE + (RC5_REPEAT_DISTANCE / 4))

Definition at line 107 of file ir_RC5_RC6.hpp.

◆ RC5_REPEAT_DISTANCE

#define RC5_REPEAT_DISTANCE   (RC5_REPEAT_PERIOD - RC5_DURATION)

Definition at line 106 of file ir_RC5_RC6.hpp.

◆ RC5_REPEAT_PERIOD

#define RC5_REPEAT_PERIOD   (128L * RC5_UNIT)

Definition at line 105 of file ir_RC5_RC6.hpp.

◆ RC5_TOGGLE_BIT

#define RC5_TOGGLE_BIT   1

Definition at line 96 of file ir_RC5_RC6.hpp.

◆ RC5_UNIT

#define RC5_UNIT   889

Definition at line 100 of file ir_RC5_RC6.hpp.

◆ RC6_ADDRESS_BITS

#define RC6_ADDRESS_BITS   8

Definition at line 502 of file ir_RC5_RC6.hpp.

◆ RC6_BITS

Definition at line 506 of file ir_RC5_RC6.hpp.

◆ RC6_COMMAND_BITS

#define RC6_COMMAND_BITS   8

Definition at line 503 of file ir_RC5_RC6.hpp.

◆ RC6_CUSTOMER_BITS

#define RC6_CUSTOMER_BITS   14

Definition at line 504 of file ir_RC5_RC6.hpp.

◆ RC6_HEADER_MARK

#define RC6_HEADER_MARK   (6 * RC6_UNIT)

Definition at line 511 of file ir_RC5_RC6.hpp.

◆ RC6_HEADER_SPACE

#define RC6_HEADER_SPACE   (2 * RC6_UNIT)

Definition at line 512 of file ir_RC5_RC6.hpp.

◆ RC6_LEADING_BIT

#define RC6_LEADING_BIT   1

Definition at line 498 of file ir_RC5_RC6.hpp.

◆ RC6_MAXIMUM_REPEAT_DISTANCE

#define RC6_MAXIMUM_REPEAT_DISTANCE   (RC6_REPEAT_DISTANCE + (RC6_REPEAT_DISTANCE / 4))

Definition at line 518 of file ir_RC5_RC6.hpp.

◆ RC6_MODE_BITS

#define RC6_MODE_BITS   3

Definition at line 499 of file ir_RC5_RC6.hpp.

◆ RC6_REPEAT_DISTANCE

#define RC6_REPEAT_DISTANCE   107000

Definition at line 517 of file ir_RC5_RC6.hpp.

◆ RC6_RPT_LENGTH

#define RC6_RPT_LENGTH   46000

Definition at line 496 of file ir_RC5_RC6.hpp.

◆ RC6_TOGGLE_BIT

#define RC6_TOGGLE_BIT   1

Definition at line 500 of file ir_RC5_RC6.hpp.

◆ RC6_TOGGLE_BIT_INDEX

#define RC6_TOGGLE_BIT_INDEX   RC6_MODE_BITS

Definition at line 501 of file ir_RC5_RC6.hpp.

◆ RC6_TRAILING_SPACE

#define RC6_TRAILING_SPACE   (6 * RC6_UNIT)

Definition at line 514 of file ir_RC5_RC6.hpp.

◆ RC6_UNIT

#define RC6_UNIT   444

Definition at line 509 of file ir_RC5_RC6.hpp.

◆ RC6A_BITS

Definition at line 507 of file ir_RC5_RC6.hpp.

◆ SAMSUNG48_BITS

#define SAMSUNG48_BITS   (SAMSUNG_ADDRESS_BITS + SAMSUNG_COMMAND32_BITS)

Definition at line 87 of file ir_Samsung.hpp.

◆ SAMSUNG_ADDRESS_BITS

#define SAMSUNG_ADDRESS_BITS   16

Definition at line 83 of file ir_Samsung.hpp.

◆ SAMSUNG_AVERAGE_DURATION

#define SAMSUNG_AVERAGE_DURATION   55000

Definition at line 97 of file ir_Samsung.hpp.

◆ SAMSUNG_BIT_MARK

#define SAMSUNG_BIT_MARK   SAMSUNG_UNIT

Definition at line 93 of file ir_Samsung.hpp.

◆ SAMSUNG_BITS

#define SAMSUNG_BITS   (SAMSUNG_ADDRESS_BITS + SAMSUNG_COMMAND16_BITS)

Definition at line 86 of file ir_Samsung.hpp.

◆ SAMSUNG_COMMAND16_BITS

#define SAMSUNG_COMMAND16_BITS   16

Definition at line 84 of file ir_Samsung.hpp.

◆ SAMSUNG_COMMAND32_BITS

#define SAMSUNG_COMMAND32_BITS   32

Definition at line 85 of file ir_Samsung.hpp.

◆ SAMSUNG_HEADER_MARK

#define SAMSUNG_HEADER_MARK   (8 * SAMSUNG_UNIT)

Definition at line 91 of file ir_Samsung.hpp.

◆ SAMSUNG_HEADER_SPACE

#define SAMSUNG_HEADER_SPACE   (8 * SAMSUNG_UNIT)

Definition at line 92 of file ir_Samsung.hpp.

◆ SAMSUNG_MAXIMUM_REPEAT_DISTANCE

#define SAMSUNG_MAXIMUM_REPEAT_DISTANCE   (SAMSUNG_REPEAT_PERIOD + (SAMSUNG_REPEAT_PERIOD / 4))

Definition at line 100 of file ir_Samsung.hpp.

◆ SAMSUNG_ONE_SPACE

#define SAMSUNG_ONE_SPACE   (3 * SAMSUNG_UNIT)

Definition at line 94 of file ir_Samsung.hpp.

◆ SAMSUNG_REPEAT_DURATION

Definition at line 98 of file ir_Samsung.hpp.

◆ SAMSUNG_REPEAT_PERIOD

#define SAMSUNG_REPEAT_PERIOD   110000

Definition at line 99 of file ir_Samsung.hpp.

◆ SAMSUNG_UNIT

#define SAMSUNG_UNIT   560

Definition at line 90 of file ir_Samsung.hpp.

◆ SAMSUNG_ZERO_SPACE

#define SAMSUNG_ZERO_SPACE   SAMSUNG_UNIT

Definition at line 95 of file ir_Samsung.hpp.

◆ SHARP_VENDOR_ID_CODE

#define SHARP_VENDOR_ID_CODE   0x5AAA

Definition at line 117 of file ir_Kaseikyo.hpp.

◆ SONY_ADDRESS_BITS

#define SONY_ADDRESS_BITS   5

Definition at line 74 of file ir_Sony.hpp.

◆ SONY_AVERAGE_DURATION_MAX

#define SONY_AVERAGE_DURATION_MAX   33000

Definition at line 88 of file ir_Sony.hpp.

◆ SONY_AVERAGE_DURATION_MIN

#define SONY_AVERAGE_DURATION_MIN   21000

Definition at line 87 of file ir_Sony.hpp.

◆ SONY_BITS_15

#define SONY_BITS_15   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS + 3)

Definition at line 78 of file ir_Sony.hpp.

◆ SONY_BITS_MAX

#define SONY_BITS_MAX   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS + SONY_EXTRA_BITS)

Definition at line 79 of file ir_Sony.hpp.

◆ SONY_BITS_MIN

#define SONY_BITS_MIN   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS)

Definition at line 77 of file ir_Sony.hpp.

◆ SONY_COMMAND_BITS

#define SONY_COMMAND_BITS   7

Definition at line 75 of file ir_Sony.hpp.

◆ SONY_DOUBLE_SPACE_USECS

#define SONY_DOUBLE_SPACE_USECS   500

Definition at line 145 of file ir_Sony.hpp.

◆ SONY_EXTRA_BITS

#define SONY_EXTRA_BITS   8

Definition at line 76 of file ir_Sony.hpp.

◆ SONY_HEADER_MARK

#define SONY_HEADER_MARK   (4 * SONY_UNIT)

Definition at line 82 of file ir_Sony.hpp.

◆ SONY_MAXIMUM_REPEAT_DISTANCE

#define SONY_MAXIMUM_REPEAT_DISTANCE   (SONY_REPEAT_PERIOD - SONY_AVERAGE_DURATION_MIN)

Definition at line 90 of file ir_Sony.hpp.

◆ SONY_ONE_MARK

#define SONY_ONE_MARK   (2 * SONY_UNIT)

Definition at line 83 of file ir_Sony.hpp.

◆ SONY_REPEAT_PERIOD

#define SONY_REPEAT_PERIOD   45000

Definition at line 89 of file ir_Sony.hpp.

◆ SONY_SPACE

#define SONY_SPACE   SONY_UNIT

Definition at line 85 of file ir_Sony.hpp.

◆ SONY_UNIT

#define SONY_UNIT   600

Definition at line 80 of file ir_Sony.hpp.

◆ SONY_ZERO_MARK

#define SONY_ZERO_MARK   SONY_UNIT

Definition at line 84 of file ir_Sony.hpp.

◆ VELUX_AUTOREPEAT_SPACE

#define VELUX_AUTOREPEAT_SPACE   27000

Definition at line 166 of file ir_Others.hpp.

◆ VELUX_BITS

#define VELUX_BITS   24

VELUX see https://github.com/XPModder/Velux-IR-protocol see https://github.com/Arduino-IRremote/Arduino-IRremote/issues/612 We have a pulse width protocol with constant bit length of 1700 us with no header and one autorepeat after 27 ms.

Length of one frame is constant 23 * 1700 + 425 (for stop bit) = 39525 = 40 ms

BIT meaning for MSB first: Bit 23 is stop Bit 22 is up = 0 or down = 1, 0 for stop Bit 21 is automatic and also set for stop Bit 20 is Motor 3 Bit 19 is Motor 2 Bit 18 is Motor 1 [14:17] is 4 bit motor set (from 1 to 10), 0 = all sets [4:13] 10 bit security code [1:3] is checksum

Checksum is independent of the 10 bit security code

!!! MOTOR 3 is coded with 0x04, since motor numbers are bit position coded to enable 0x07 as all motors!!! Automatic bit is set for all following codes! Checksum for UP (0x1): All (Motor = 0x7, set = 0) -> 2 == Motor 1 set A or Motor 3 set 5 Table of checksum (x) for motor / set combinations Set 1 2 3 4 5 6 7 8 9 A Motor 1 9 A B C D E F 0 1 2 3 4 5 6 | x XOR set = 8 or set XOR 8 = checksum Motor 2 C F E 9 8 B A 5 4 7 6 1 0 2 | x XOR set = D = 8 XOR 5 or set XOR 8 XOR 5 = checksum Motor 3/4 6 5 4 3 2 1 0 F E D C B A 9 | x XOR set = 7 = 8 XOR F or set XOR 8 XOR F = checksum Checksum for DOWN (0x3): All -> 7 == Motor 1 set A Table of checksum (x) for motor / set combinations Set 1 2 3 4 5 6 7 8 9 A Motor 1 C F E 9 8 B A 5 4 7 6 1 0 2 | x XOR set = D Motor 2 9 A B C D E F 0 1 2 3 4 5 6 | x XOR set = 8 = D XOR 5 Motor 3/4 3 0 1 6 7 4 5 A B 8 9 E F D | x XOR set = 2 = D XOR F Checksum for STOP (0x5): All -> 8 == Motor 1 set A Table of checksum (x) for motor / set combinations Set 1 2 3 4 5 6 7 8 9 A Motor 1 3 0 1 6 7 4 5 A B 8 9 E F D | x XOR set = 2 Motor 2 6 5 4 3 2 1 0 F E D C B A 9 | x XOR set = 7 = 2 XOR 5 Motor 3/4 C F E 9 8 B A 5 4 7 6 1 0 2 | x XOR set = D = 2 XOR F

Definition at line 157 of file ir_Others.hpp.

◆ VELUX_COMMAND_AUTO_DOWN

#define VELUX_COMMAND_AUTO_DOWN   0x3

Definition at line 170 of file ir_Others.hpp.

◆ VELUX_COMMAND_AUTO_UP

#define VELUX_COMMAND_AUTO_UP   0x1

Definition at line 169 of file ir_Others.hpp.

◆ VELUX_COMMAND_STOP

#define VELUX_COMMAND_STOP   0x5

Definition at line 171 of file ir_Others.hpp.

◆ VELUX_HEADER_MARK

#define VELUX_HEADER_MARK   0

Definition at line 158 of file ir_Others.hpp.

◆ VELUX_HEADER_SPACE

#define VELUX_HEADER_SPACE   0

Definition at line 159 of file ir_Others.hpp.

◆ VELUX_ONE_MARK

#define VELUX_ONE_MARK   (3*VELUX_UNIT)

Definition at line 161 of file ir_Others.hpp.

◆ VELUX_ONE_SPACE

#define VELUX_ONE_SPACE   VELUX_UNIT

Definition at line 162 of file ir_Others.hpp.

◆ VELUX_PERIOD

#define VELUX_PERIOD   ((23 * 4) + 1 ) * VELUX_UNIT)

Definition at line 165 of file ir_Others.hpp.

◆ VELUX_REPEAT_SPACE

#define VELUX_REPEAT_SPACE   100000

Definition at line 167 of file ir_Others.hpp.

◆ VELUX_UNIT

#define VELUX_UNIT   425

Definition at line 160 of file ir_Others.hpp.

◆ VELUX_ZERO_MARK

#define VELUX_ZERO_MARK   VELUX_UNIT

Definition at line 163 of file ir_Others.hpp.

◆ VELUX_ZERO_SPACE

#define VELUX_ZERO_SPACE   (3*VELUX_UNIT)

Definition at line 164 of file ir_Others.hpp.

◆ WHYNTER_BIT_MARK

#define WHYNTER_BIT_MARK   750

Definition at line 84 of file ir_Others.hpp.

◆ WHYNTER_BITS

#define WHYNTER_BITS   32

Definition at line 81 of file ir_Others.hpp.

◆ WHYNTER_HEADER_MARK

#define WHYNTER_HEADER_MARK   2850

Definition at line 82 of file ir_Others.hpp.

◆ WHYNTER_HEADER_SPACE

#define WHYNTER_HEADER_SPACE   2850

Definition at line 83 of file ir_Others.hpp.

◆ WHYNTER_ONE_SPACE

#define WHYNTER_ONE_SPACE   2150

Definition at line 85 of file ir_Others.hpp.

◆ WHYNTER_ZERO_SPACE

#define WHYNTER_ZERO_SPACE   750

Definition at line 86 of file ir_Others.hpp.

Function Documentation

◆ aggregateArrayCounts()

bool aggregateArrayCounts ( uint8_t  aArray[],
uint8_t  aMaxIndex,
uint8_t *  aShortIndex,
uint8_t *  aLongIndex 
)

Definition at line 155 of file ir_DistanceWidthProtocol.hpp.

Here is the caller graph for this function:

◆ compensateAndDumpSequence() [1/2]

static void compensateAndDumpSequence ( Print *  aSerial,
const volatile IRRawbufType data,
size_t  length,
uint16_t  timebase 
)
static

Definition at line 234 of file ir_Pronto.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compensateAndDumpSequence() [2/2]

static size_t compensateAndDumpSequence ( String *  aString,
const volatile IRRawbufType data,
size_t  length,
uint16_t  timebase 
)
static

Definition at line 300 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ compensateAndPrintIRResultAsPronto()

void IRrecv::compensateAndPrintIRResultAsPronto ( Print *  aSerial,
uint16_t  aFrequencyHertz = 38000U 
)

Print the result (second argument) as Pronto Hex on the Print supplied as argument.

Used in the ReceiveDump example. Do not print repeat sequence data.

Parameters
aSerialThe Print object on which to write, you can use &Serial for Arduino.
aFrequencyHertzModulation frequency in Hz. Often 38000Hz.

Definition at line 257 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ compensateAndStorePronto()

size_t IRrecv::compensateAndStorePronto ( String *  aString,
uint16_t  frequency = 38000U 
)

Definition at line 325 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ computeLGRawDataAndChecksum()

uint32_t IRsend::computeLGRawDataAndChecksum ( uint8_t  aAddress,
uint16_t  aCommand 
)

Definition at line 143 of file ir_LG.hpp.

Here is the caller graph for this function:

◆ computeNECRawDataAndChecksum()

uint32_t IRsend::computeNECRawDataAndChecksum ( uint16_t  aAddress,
uint16_t  aCommand 
)

Convert 16 bit address and 16 bit command to 32 bit NECRaw data If we get a command < 0x100, we send command and then ~command If we get an address < 0x100, we send 8 bit address and then ~address !!! Be aware, that this is flexible, but makes it impossible to send e.g.

0x0042 as 16 bit value!!! To force send 16 bit address, use: sendOnkyo().

Definition at line 157 of file ir_NEC.hpp.

Here is the caller graph for this function:

◆ computeOpenLASIRRawCommand()

uint16_t IRsend::computeOpenLASIRRawCommand ( uint8_t  aDeviceID,
uint8_t  aMode,
uint8_t  aData 
)

Compute the raw 32-bit data for an OpenLASIR frame from 8-bit address, 8-bit DeviceID, 5-bit Mode and 3-bit Data.

Parameters
aAddress8-bit address (Block ID). Only lower 8 bits are used.
aDeviceID8-bit Device ID.
aMode5-bit Mode.
aData3-bit Data (color, etc.).
Returns
32-bit raw data ready for transmission.

Definition at line 170 of file ir_OpenLASIR.hpp.

Here is the caller graph for this function:

◆ computeOpenLASIRRawDataAndChecksum()

uint32_t IRsend::computeOpenLASIRRawDataAndChecksum ( uint8_t  aAddress,
uint16_t  aCommand 
)

Compute the raw 32-bit data for an OpenLASIR frame from 8-bit address and 16-bit command.

Address is sent as: [address:8][~address:8] (inverted complement for error checking) Command is sent as: [command:16] (no error check)

Parameters
aAddress8-bit address (Block ID). Only lower 8 bits are used.
aCommand16-bit command (contains Device ID, Mode, and Data).
Returns
32-bit raw data ready for transmission.

Definition at line 148 of file ir_OpenLASIR.hpp.

Here is the caller graph for this function:

◆ decodeBangOlufsen()

bool IRrecv::decodeBangOlufsen ( )

Definition at line 284 of file ir_BangOlufsen.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeBoseWave()

bool IRrecv::decodeBoseWave ( )

Definition at line 62 of file ir_BoseWave.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeDenon()

bool IRrecv::decodeDenon ( )

Definition at line 167 of file ir_Denon.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeDenonOld()

bool IRrecv::decodeDenonOld ( decode_results aResults)

Definition at line 285 of file ir_Denon.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeDistanceWidth()

bool IRrecv::decodeDistanceWidth ( )

Definition at line 206 of file ir_DistanceWidthProtocol.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeFAST()

bool IRrecv::decodeFAST ( )

Definition at line 96 of file ir_FAST.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeJVC()

bool IRrecv::decodeJVC ( )

Definition at line 116 of file ir_JVC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeJVCMSB()

bool IRrecv::decodeJVCMSB ( decode_results aResults)

Definition at line 166 of file ir_JVC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeKaseikyo()

bool IRrecv::decodeKaseikyo ( )

Definition at line 197 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeLegoPowerFunctions()

bool IRrecv::decodeLegoPowerFunctions ( )

Definition at line 144 of file ir_Lego.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeLG()

bool IRrecv::decodeLG ( )

Definition at line 172 of file ir_LG.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeLGMSB()

bool IRrecv::decodeLGMSB ( decode_results aResults)

Definition at line 269 of file ir_LG.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeMagiQuest()

bool IRrecv::decodeMagiQuest ( )

Definition at line 156 of file ir_MagiQuest.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeNEC()

bool IRrecv::decodeNEC ( )

Decodes also Onkyo and Apple.

Definition at line 235 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeNECMSB()

bool IRrecv::decodeNECMSB ( decode_results aResults)

Definition at line 332 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeOpenLASIR()

bool IRrecv::decodeOpenLASIR ( )

Decode an OpenLASIR frame.

OpenLASIR uses the same physical layer as NEC but with different address/command structure:

  • 8-bit address with inverted complement (error check on address)
  • 16-bit command without error check

The decoder validates the address by checking that the second byte is the bitwise inverse of the first byte. The full 16-bit command is returned as-is.

Returns
true if a valid OpenLASIR frame was decoded.

Definition at line 229 of file ir_OpenLASIR.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeSamsung()

bool IRrecv::decodeSamsung ( )

Definition at line 270 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeSAMSUNG()

bool IRrecv::decodeSAMSUNG ( decode_results aResults)

Definition at line 361 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeSharp()

bool IRrecv::decodeSharp ( )

Definition at line 163 of file ir_Denon.hpp.

Here is the call graph for this function:

◆ decodeSony()

bool IRrecv::decodeSony ( )

Definition at line 107 of file ir_Sony.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decodeSonyMSB()

bool IRrecv::decodeSonyMSB ( decode_results aResults)

Definition at line 145 of file ir_Sony.hpp.

Here is the caller graph for this function:

◆ decodeWhynter()

bool IRrecv::decodeWhynter ( )

Definition at line 94 of file ir_Others.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DigitToHex()

static char DigitToHex ( uint8_t  x)
static

Definition at line 210 of file ir_Pronto.hpp.

Here is the caller graph for this function:

◆ dumpDigitHex() [1/2]

static void dumpDigitHex ( Print *  aSerial,
uint8_t  number 
)
static

Definition at line 214 of file ir_Pronto.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpDigitHex() [2/2]

static bool dumpDigitHex ( String *  aString,
uint8_t  number 
)
static

Definition at line 274 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ dumpDurationHex() [1/2]

static void dumpDurationHex ( Print *  aSerial,
uint32_t  duration,
uint16_t  timebase 
)
static

Definition at line 227 of file ir_Pronto.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpDurationHex() [2/2]

static size_t dumpDurationHex ( String *  aString,
uint32_t  duration,
uint16_t  timebase 
)
static

Definition at line 296 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ dumpNumberHex() [1/2]

static void dumpNumberHex ( Print *  aSerial,
uint16_t  number 
)
static

Definition at line 218 of file ir_Pronto.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpNumberHex() [2/2]

static size_t dumpNumberHex ( String *  aString,
uint16_t  number 
)
static

Definition at line 279 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ effectiveFrequency()

static uint16_t effectiveFrequency ( uint16_t  frequency)
static

Definition at line 198 of file ir_Pronto.hpp.

Here is the caller graph for this function:

◆ matchBeoLength()

static bool matchBeoLength ( uint16_t  aMeasuredTicks,
uint16_t  aMatchValueMicros 
)
static

Definition at line 279 of file ir_BangOlufsen.hpp.

Here is the caller graph for this function:

◆ sendApple()

void IRsend::sendApple ( uint8_t  aDeviceId,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Apple: Send NEC with fixed 16 bit Apple address 0x87EE.

There is NO delay after the last sent repeat! https://en.wikipedia.org/wiki/Apple_Remote https://gist.github.com/darconeous/4437f79a34e3b6441628

Parameters
aNumberOfRepeatsIf < 0 then only a special repeat frame without leading and trailing space will be sent by calling NECProtocolConstants.SpecialSendRepeatFunction().

Definition at line 210 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendBangOlufsen()

void IRsend::sendBangOlufsen ( uint16_t  aHeader,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats = NO_REPEATS,
int8_t  aNumberOfHeaderBits = 8 
)

Definition at line 140 of file ir_BangOlufsen.hpp.

Here is the call graph for this function:

◆ sendBangOlufsenDataLink()

void IRsend::sendBangOlufsenDataLink ( uint32_t  aHeader,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats = NO_REPEATS,
int8_t  aNumberOfHeaderBits = 8 
)

Definition at line 147 of file ir_BangOlufsen.hpp.

Here is the call graph for this function:

◆ sendBangOlufsenRaw()

void IRsend::sendBangOlufsenRaw ( uint32_t  aRawData,
int_fast8_t  aBits,
bool  aBackToBack = false 
)

Definition at line 157 of file ir_BangOlufsen.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendBangOlufsenRawDataLink()

void IRsend::sendBangOlufsenRawDataLink ( uint64_t  aRawData,
int_fast8_t  aBits,
bool  aBackToBack = false,
bool  aUseDatalinkTiming = false 
)

Definition at line 221 of file ir_BangOlufsen.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendBoseWave()

void IRsend::sendBoseWave ( uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Definition at line 55 of file ir_BoseWave.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendDenon() [1/2]

void IRsend::sendDenon ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
uint8_t  aSendSharpFrameMarker = 0 
)

Definition at line 129 of file ir_Denon.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendDenon() [2/2]

void IRsend::sendDenon ( unsigned long  data,
int  nbits 
)

Definition at line 261 of file ir_Denon.hpp.

Here is the call graph for this function:

◆ sendDenonRaw()

void IRsend::sendDenonRaw ( uint16_t  aRawData,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Definition at line 254 of file ir_Denon.hpp.

Here is the call graph for this function:

◆ sendDish()

void IRsend::sendDish ( uint16_t  aData)

Definition at line 64 of file ir_Others.hpp.

Here is the call graph for this function:

◆ sendFAST()

void IRsend::sendFAST ( uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

The FAST protocol repeats by skipping the header mark and space -> this leads to a poor repeat detection for JVC protocol.

Definition at line 75 of file ir_FAST.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendJVC()

void IRsend::sendJVC ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

The JVC protocol repeats by skipping the header mark and space -> this leads to a poor repeat detection for JVC protocol.

Definition at line 89 of file ir_JVC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendJVCMSB()

void IRsend::sendJVCMSB ( unsigned long  data,
int  nbits,
bool  repeat = false 
)

With Send sendJVCMSB() you can send your old 32 bit codes.

To convert one into the other, you must reverse the byte positions and then reverse all bit positions of each byte. Use bitreverse32Bit(). Or write it as one binary string and reverse/mirror it. Example: 0xCB340102 byte reverse -> 02 01 34 CB bit reverse-> 40 80 2C D3. 0xCB340102 is binary 11001011001101000000000100000010. 0x40802CD3 is binary 01000000100000000010110011010011. If you read the first binary sequence backwards (right to left), you get the second sequence.

Definition at line 227 of file ir_JVC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendKaseikyo()

void IRsend::sendKaseikyo ( uint16_t  aAddress,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats,
uint16_t  aVendorCode 
)

Address can be interpreted as sub-device << 4 + 4 bit device.

Definition at line 130 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendKaseikyo_Denon()

void IRsend::sendKaseikyo_Denon ( uint16_t  aAddress,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Stub using Kaseikyo with DENON_VENDOR_ID_CODE.

Definition at line 169 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendKaseikyo_JVC()

void IRsend::sendKaseikyo_JVC ( uint16_t  aAddress,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Stub using Kaseikyo with JVC_VENDOR_ID_CODE.

Definition at line 190 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendKaseikyo_Mitsubishi()

void IRsend::sendKaseikyo_Mitsubishi ( uint16_t  aAddress,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Stub using Kaseikyo with MITSUBISHI_VENDOR_ID_CODE.

Definition at line 176 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendKaseikyo_Sharp()

void IRsend::sendKaseikyo_Sharp ( uint16_t  aAddress,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Stub using Kaseikyo with SHARP_VENDOR_ID_CODE.

Definition at line 183 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendLegoPowerFunctions() [1/3]

void IRsend::sendLegoPowerFunctions ( uint16_t  aRawData,
bool  aDoSend5Times = true 
)

Definition at line 219 of file ir_Lego.hpp.

Here is the call graph for this function:

◆ sendLegoPowerFunctions() [2/3]

void IRsend::sendLegoPowerFunctions ( uint16_t  aRawData,
uint8_t  aChannel,
bool  aDoSend5Times = true 
)

Definition at line 124 of file ir_Lego.hpp.

Here is the call graph for this function:

◆ sendLegoPowerFunctions() [3/3]

void IRsend::sendLegoPowerFunctions ( uint8_t  aChannel,
uint8_t  tCommand,
uint8_t  aMode,
bool  aDoSend5Times = true 
)

Definition at line 113 of file ir_Lego.hpp.

Here is the caller graph for this function:

◆ sendLG() [1/2]

void IRsend::sendLG ( uint8_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

LG uses the NEC repeat.

Definition at line 161 of file ir_LG.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendLG() [2/2]

void IRsend::sendLG ( unsigned long  data,
int  nbits 
)

Definition at line 305 of file ir_LG.hpp.

Here is the call graph for this function:

◆ sendLG2()

void IRsend::sendLG2 ( uint8_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

LG2 uses a special repeat.

Definition at line 168 of file ir_LG.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendLG2Repeat()

void IRsend::sendLG2Repeat ( )

Definition at line 125 of file ir_LG.hpp.

Here is the call graph for this function:

◆ sendLG2SpecialRepeat()

void sendLG2SpecialRepeat ( )

Static function for sending special repeat frame.

For use in ProtocolConstants. Saves up to 250 bytes compared to a member function.

Definition at line 136 of file ir_LG.hpp.

Here is the call graph for this function:

◆ sendLGRaw()

void IRsend::sendLGRaw ( uint32_t  aRawData,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Here you can put your raw data, even one with "wrong" checksum.

Parameters
aRawDataThe lowest 28 (LG_BITS) bit of this value are sent MSB first.
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent.

Definition at line 265 of file ir_LG.hpp.

Here is the call graph for this function:

◆ sendMagiQuest()

void IRsend::sendMagiQuest ( uint32_t  aWandId,
uint16_t  aMagnitude 
)
Parameters
aWandId31 bit ID
aMagnitude9 bit Magnitude

Definition at line 124 of file ir_MagiQuest.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendNEC()

void IRsend::sendNEC ( uint16_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

NEC Send frame and special repeats There is NO delay after the last sent repeat!

Parameters
aNumberOfRepeatsIf < 0 then only a special NEC repeat frame will be sent by calling NECProtocolConstants.SpecialSendRepeatFunction().

Definition at line 180 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendNEC2()

void IRsend::sendNEC2 ( uint16_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

NEC2 Send frame !!! and repeat the frame for each requested repeat !!! There is NO delay after the last sent repeat!

Parameters
aNumberOfRepeatsIf < 0 then nothing is sent.

Definition at line 198 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendNECMSB()

void IRsend::sendNECMSB ( uint32_t  data,
uint8_t  nbits,
bool  repeat = false 
)

With Send sendNECMSB() you can send your old 32 bit codes.

To convert one into the other, you must reverse the byte positions and then reverse all bit positions of each byte. Use bitreverse32Bit(). Or write it as one binary string and reverse/mirror it. Example: 0xCB340102 byte reverse -> 02 01 34 CB bit reverse-> 40 80 2C D3. 0xCB340102 is binary 11001011001101000000000100000010. 0x40802CD3 is binary 01000000100000000010110011010011. If you read the first binary sequence backwards (right to left), you get the second sequence.

Definition at line 394 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendNECRaw()

void IRsend::sendNECRaw ( uint32_t  aRawData,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Sends NEC protocol.

Parameters
aNumberOfRepeatsIf < 0 then only a special repeat frame without leading and trailing space will be sent by calling NECProtocolConstants.SpecialSendRepeatFunction().

Definition at line 228 of file ir_NEC.hpp.

Here is the call graph for this function:

◆ sendNECRepeat()

void IRsend::sendNECRepeat ( )

Send special NEC repeat frame Repeat commands should be sent in a 110 ms raster.

Definition at line 132 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendNECSpecialRepeat()

void sendNECSpecialRepeat ( )

Static function variant of IRsend::sendNECRepeat For use in ProtocolConstants.

Saves up to 250 bytes compared to a member function.

Definition at line 143 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendOnkyo()

void IRsend::sendOnkyo ( uint16_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

There is NO delay after the last sent repeat!

Parameters
aNumberOfRepeatsIf < 0 then only a special repeat frame without leading and trailing space will be sent by calling NECProtocolConstants.SpecialSendRepeatFunction().

Definition at line 189 of file ir_NEC.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendOpenLASIR() [1/2]

void IRsend::sendOpenLASIR ( uint8_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Send an OpenLASIR frame with special NEC-style repeats.

There is NO delay after the last sent repeat!

Parameters
aAddress8-bit address (Block ID). Only lower 8 bits are used.
aCommand16-bit command (Device ID + Mode + Data).
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent.

Definition at line 187 of file ir_OpenLASIR.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendOpenLASIR() [2/2]

void IRsend::sendOpenLASIR ( uint8_t  aAddress,
uint8_t  aDeviceID,
uint8_t  aMode,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Send an OpenLASIR frame with special NEC-style repeats.

There is NO delay after the last sent repeat!

Parameters
aAddress8-bit address (Block ID). Only lower 8 bits are used.
aDeviceID8-bit Device ID.
aMode5-bit Mode.
aData3-bit Data (color, etc.).
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent.

Definition at line 202 of file ir_OpenLASIR.hpp.

Here is the call graph for this function:

◆ sendOpenLASIRRaw()

void IRsend::sendOpenLASIRRaw ( uint32_t  aRawData,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Send raw 32-bit OpenLASIR data.

Parameters
aRawDataThe pre-computed 32-bit raw data.
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent.

Definition at line 213 of file ir_OpenLASIR.hpp.

Here is the call graph for this function:

◆ sendOpenLASIRRepeat()

void IRsend::sendOpenLASIRRepeat ( )

Send special OpenLASIR repeat frame (same as NEC repeat frame).

Repeat commands should be sent in a 110 ms raster.

Definition at line 127 of file ir_OpenLASIR.hpp.

Here is the call graph for this function:

◆ sendOpenLASIRSpecialRepeat()

void sendOpenLASIRSpecialRepeat ( )

Static function variant of IRsend::sendOpenLASIRRepeat For use in ProtocolConstants.

Saves up to 250 bytes compared to a member function.

Definition at line 135 of file ir_OpenLASIR.hpp.

Here is the call graph for this function:

◆ sendPanasonic()

void IRsend::sendPanasonic ( uint16_t  aAddress,
uint8_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Stub using Kaseikyo with PANASONIC_VENDOR_ID_CODE.

Definition at line 162 of file ir_Kaseikyo.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendPronto() [1/3]

void IRsend::sendPronto ( const __FlashStringHelper *  str,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Definition at line 191 of file ir_Pronto.hpp.

Here is the caller graph for this function:

◆ sendPronto() [2/3]

void IRsend::sendPronto ( const char *  str,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Parse the string given as Pronto Hex, and send it a number of times given as the second argument.

Thereby the division of the Pronto Hex into an intro-sequence and a repeat sequence is taken into account: First the intro sequence is sent, then the repeat sequence is sent times-1 times. However, if the intro sequence is empty, the repeat sequence is sent times times. Reference.

Note: Using this function is very wasteful for the memory consumption on a small board. Normally it is a much better idea to use a tool like e.g. IrScrutinizer to transform Pronto type signals offline to a more memory efficient format.

Parameters
strC type string (null terminated) containing a Pronto Hex representation.
aNumberOfRepeatsNumber of times to send the signal.

Definition at line 147 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ sendPronto() [3/3]

void IRsend::sendPronto ( const uint16_t *  data,
uint16_t  length,
int_fast8_t  aNumberOfRepeats = NO_REPEATS 
)

Definition at line 68 of file ir_Pronto.hpp.

Here is the call graph for this function:

◆ sendRC5() [1/2]

void IRsend::sendRC5 ( uint32_t  data,
uint8_t  nbits 
)

Old version with 32 bit data.

Definition at line 810 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendRC5() [2/2]

void IRsend::sendRC5 ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
bool  aEnableAutomaticToggle = true 
)
Parameters
aAddress5 address bits to be sent first (MSB first).
aCommand6 or 7 (RC5X) bits. If aCommand is >=0x40 then we switch automatically to RC5X.
aEnableAutomaticToggleSend toggle bit according to the state of the static sLastSendToggleValue variable.

Definition at line 189 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendRC5ext()

void IRsend::sendRC5ext ( uint8_t  addr,
uint8_t  cmd,
bool  toggle 
)

Definition at line 834 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendRC5Marantz()

void IRsend::sendRC5Marantz ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
uint8_t  aMarantzExtension,
bool  aEnableAutomaticToggle = true 
)

!!! Not tested, because no Marantz remote was at hand and no receive function was contributed!!! Send function for the Marantz version of RC5(X) with a pause of 4 * RC5_UNIT after address / first 8 bits and before the bits of command and command extension.

Marantz seems to require at least one repetition with toggle bit set

Parameters
aAddress5 address bits to be sent first (MSB first).
aCommand6 or 7 (RC5X) bits. If aCommand is >=0x40 then we switch automatically to RC5X.
aMarantzExtension6 bit command extension which is sent after 6 command bits of aCommand. aCommand and aMarantzExtension are sent after a short pause.
aEnableAutomaticToggleSend toggle bit according to the state of the static sLastSendToggleValue variable.

Definition at line 130 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendRC6() [1/3]

void IRsend::sendRC6 ( uint32_t  data,
uint8_t  nbits 
)

Main RC6 send function.

Definition at line 522 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendRC6() [2/3]

void IRsend::sendRC6 ( uint64_t  data,
uint8_t  nbits 
)

Send RC6 64 bit raw data Can be used to send RC6A with ?31? data bits.

Definition at line 556 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendRC6() [3/3]

void IRsend::sendRC6 ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
bool  aEnableAutomaticToggle = true 
)

Assemble raw data for RC6 from parameters and toggle state and send We do not wait for the minimal trailing space of 2666 us.

Parameters
aEnableAutomaticToggleSend toggle bit according to the state of the static sLastSendToggleValue variable.

Definition at line 591 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendRC6A()

void IRsend::sendRC6A ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
uint16_t  aCustomer,
bool  aEnableAutomaticToggle = true 
)

Assemble raw data for RC6 from parameters and toggle state and send We do not wait for the minimal trailing space of 2666 us.

Parameters
aEnableAutomaticToggleSend toggle bit according to the state of the static sLastSendToggleValue variable.

Definition at line 633 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendRC6Raw() [1/2]

void IRsend::sendRC6Raw ( uint32_t  data,
uint8_t  nbits 
)

Definition at line 525 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendRC6Raw() [2/2]

void IRsend::sendRC6Raw ( uint64_t  data,
uint8_t  nbits 
)

Definition at line 559 of file ir_RC5_RC6.hpp.

Here is the call graph for this function:

◆ sendSamsung()

void IRsend::sendSamsung ( uint16_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Here we send Samsung32 If we get a command < 0x100, we send command and then ~command If we get an address < 0x100, we send 8 bit address and then the same 8 bit address again, this makes it flipper IRDB compatible !!! Be aware, that this is flexible, but makes it impossible to send e.g.

0x0042 as 16 bit value!!! To force send 16 bit address, use: sendSamsung16BitAddressAndCommand().

Parameters
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent

Definition at line 172 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSAMSUNG()

void IRsend::sendSAMSUNG ( unsigned long  data,
int  nbits 
)

Definition at line 411 of file ir_Samsung.hpp.

Here is the call graph for this function:

◆ sendSamsung16BitAddressAnd8BitCommand()

void IRsend::sendSamsung16BitAddressAnd8BitCommand ( uint16_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Maybe no one needs it in the wild...

As above, but we are able to send e.g. 0x0042 as 16 bit address

Parameters
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent

Definition at line 203 of file ir_Samsung.hpp.

Here is the call graph for this function:

◆ sendSamsung16BitAddressAndCommand()

void IRsend::sendSamsung16BitAddressAndCommand ( uint16_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Maybe no one needs it in the wild...

As above, but we are able to send e.g. 0x0042 as 16 bit address

Parameters
aNumberOfRepeatsIf < 0 then only a special repeat frame will be sent

Definition at line 220 of file ir_Samsung.hpp.

Here is the call graph for this function:

◆ sendSamsung48()

void IRsend::sendSamsung48 ( uint16_t  aAddress,
uint32_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Here we send Samsung48 We send 2 x (8 bit command and then ~command)

Definition at line 234 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSamsungLG()

void IRsend::sendSamsungLG ( uint16_t  aAddress,
uint16_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Definition at line 146 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSamsungLGRepeat()

void IRsend::sendSamsungLGRepeat ( )

Send repeat Repeat commands should be sent in a 110 ms raster.

This repeat was sent by an LG 6711R1P071A remote

Definition at line 118 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSamsungLGSpecialRepeat()

void sendSamsungLGSpecialRepeat ( )

Like above, but implemented as a static function Used for sending special repeat frame.

For use in ProtocolConstants. Saves up to 250 bytes compared to a member function.

Definition at line 132 of file ir_Samsung.hpp.

Here is the call graph for this function:

◆ sendSamsungMSB()

void IRsend::sendSamsungMSB ( unsigned long  data,
int  nbits 
)

Definition at line 399 of file ir_Samsung.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSharp() [1/2]

void IRsend::sendSharp ( uint16_t  address,
uint16_t  command 
)

Definition at line 281 of file ir_Denon.hpp.

Here is the call graph for this function:

◆ sendSharp() [2/2]

void IRsend::sendSharp ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Definition at line 114 of file ir_Denon.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSharp2()

void IRsend::sendSharp2 ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats 
)

Definition at line 119 of file ir_Denon.hpp.

Here is the call graph for this function:

◆ sendSony() [1/2]

void IRsend::sendSony ( uint16_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
uint8_t  numberOfBits = 12 
)
Parameters
numberOfBitsshould be one of SIRCS_12_PROTOCOL, SIRCS_15_PROTOCOL, SIRCS_20_PROTOCOL. Not checked! 20 -> send 13 address bits

Definition at line 101 of file ir_Sony.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSony() [2/2]

void IRsend::sendSony ( unsigned long  data,
int  nbits 
)

Definition at line 217 of file ir_Sony.hpp.

Here is the call graph for this function:

◆ sendSonyMSB()

void IRsend::sendSonyMSB ( unsigned long  data,
int  nbits 
)

Old version with MSB first data.

Definition at line 206 of file ir_Sony.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendVelux() [1/2]

void IRsend::sendVelux ( uint32_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Definition at line 215 of file ir_Others.hpp.

Here is the call graph for this function:

◆ sendVelux() [2/2]

void IRsend::sendVelux ( uint8_t  aCommand,
uint8_t  aMotorNumber,
uint8_t  aMotorSet,
uint16_t  aSecurityCode,
int_fast8_t  aNumberOfRepeats 
)

Definition at line 181 of file ir_Others.hpp.

◆ sendWhynter()

void IRsend::sendWhynter ( uint32_t  aData,
int_fast8_t  aNumberOfRepeats 
)

Definition at line 90 of file ir_Others.hpp.

Here is the call graph for this function:

◆ toFrequencyCode()

static uint16_t toFrequencyCode ( uint16_t  frequency)
static

Definition at line 206 of file ir_Pronto.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toFrequencyKHz()

static uint16_t toFrequencyKHz ( uint16_t  code)
static

Definition at line 59 of file ir_Pronto.hpp.

Here is the caller graph for this function:

◆ toTimebase()

static uint16_t toTimebase ( uint16_t  frequency)
static

Definition at line 202 of file ir_Pronto.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ LegoProtocolConstants

◆ PROGMEM [1/11]

◆ PROGMEM [2/11]

◆ PROGMEM [3/11]

◆ PROGMEM [4/11]

struct PulseDistanceWidthProtocolConstants const VeluxProtocolConstants PROGMEM

◆ PROGMEM [5/11]

◆ PROGMEM [6/11]

◆ PROGMEM [7/11]

◆ PROGMEM [8/11]

◆ PROGMEM [9/11]

◆ PROGMEM [10/11]

◆ PROGMEM [11/11]

◆ sLastSendToggleValue

uint8_t sLastSendToggleValue = 1

Definition at line 43 of file ir_RC5_RC6.hpp.

SUPPRESS_STOP_BIT
#define SUPPRESS_STOP_BIT
Definition: IRProtocol.h:155
SAMSUNG_HEADER_SPACE
#define SAMSUNG_HEADER_SPACE
Definition: ir_Samsung.hpp:91
BOSEWAVE_HEADER_SPACE
#define BOSEWAVE_HEADER_SPACE
Definition: ir_BoseWave.hpp:38
PROTOCOL_IS_MSB_FIRST
#define PROTOCOL_IS_MSB_FIRST
Definition: IRProtocol.h:156
JVC
@ JVC
Definition: IRProtocol.h:98
PROTOCOL_IS_PULSE_WIDTH
#define PROTOCOL_IS_PULSE_WIDTH
Definition: IRProtocol.h:153
LG_REPEAT_PERIOD
#define LG_REPEAT_PERIOD
Definition: ir_LG.hpp:108
LEGO_ZERO_SPACE
#define LEGO_ZERO_SPACE
Definition: ir_Lego.hpp:89
FAST
@ FAST
Definition: IRProtocol.h:104
FAST_BIT_MARK
#define FAST_BIT_MARK
Definition: TinyIR.h:96
MICROS_IN_ONE_MILLI
#define MICROS_IN_ONE_MILLI
Definition: IRremote.hpp:217
JVC_KHZ
#define JVC_KHZ
Definition: IRProtocol.h:169
PROTOCOL_IS_PULSE_DISTANCE
#define PROTOCOL_IS_PULSE_DISTANCE
Definition: IRProtocol.h:151
NEC_BIT_MARK
#define NEC_BIT_MARK
Definition: ir_NEC.hpp:101
SONY
@ SONY
Definition: IRProtocol.h:101
SONY_HEADER_MARK
#define SONY_HEADER_MARK
Definition: ir_Sony.hpp:81
MAGIQUEST_ZERO_MARK
#define MAGIQUEST_ZERO_MARK
Definition: ir_MagiQuest.hpp:111
DISH_ONE_SPACE
#define DISH_ONE_SPACE
Definition: ir_Others.hpp:57
KASEIKYO_BIT_MARK
#define KASEIKYO_BIT_MARK
Definition: ir_Kaseikyo.hpp:104
JVC_ZERO_SPACE
#define JVC_ZERO_SPACE
Definition: ir_JVC.hpp:74
KASEIKYO_REPEAT_PERIOD
#define KASEIKYO_REPEAT_PERIOD
Definition: ir_Kaseikyo.hpp:109
SAMSUNG
@ SAMSUNG
Definition: IRProtocol.h:100
BOSEWAVE
@ BOSEWAVE
Definition: IRProtocol.h:103
DISH_BIT_MARK
#define DISH_BIT_MARK
Definition: ir_Others.hpp:56
DENON_HEADER_MARK
#define DENON_HEADER_MARK
Definition: ir_Denon.hpp:103
JVC_REPEAT_PERIOD
#define JVC_REPEAT_PERIOD
Definition: ir_JVC.hpp:77
DISH_ZERO_SPACE
#define DISH_ZERO_SPACE
Definition: ir_Others.hpp:58
MAGIQUEST
@ MAGIQUEST
Definition: IRProtocol.h:103
DENON_REPEAT_PERIOD
#define DENON_REPEAT_PERIOD
Definition: ir_Denon.hpp:100
DENON_ZERO_SPACE
#define DENON_ZERO_SPACE
Definition: ir_Denon.hpp:97
DENON_HEADER_SPACE
#define DENON_HEADER_SPACE
Definition: ir_Denon.hpp:104
MAGIQUEST_ONE_MARK
#define MAGIQUEST_ONE_MARK
Definition: ir_MagiQuest.hpp:109
JVC_HEADER_MARK
#define JVC_HEADER_MARK
Definition: ir_JVC.hpp:69
MAGIQUEST_ZERO_SPACE
#define MAGIQUEST_ZERO_SPACE
Definition: ir_MagiQuest.hpp:112
BOSEWAVE_ZERO_SPACE
#define BOSEWAVE_ZERO_SPACE
Definition: ir_BoseWave.hpp:40
NEC_ONE_SPACE
#define NEC_ONE_SPACE
Definition: ir_NEC.hpp:102
DENON_ONE_SPACE
#define DENON_ONE_SPACE
Definition: ir_Denon.hpp:96
BOSEWAVE_BIT_MARK
#define BOSEWAVE_BIT_MARK
Definition: ir_BoseWave.hpp:39
SAMSUNG_KHZ
#define SAMSUNG_KHZ
Definition: IRProtocol.h:173
PROTOCOL_IS_LSB_FIRST
#define PROTOCOL_IS_LSB_FIRST
Definition: IRProtocol.h:157
SAMSUNG_BIT_MARK
#define SAMSUNG_BIT_MARK
Definition: ir_Samsung.hpp:92
BOSEWAVE_HEADER_MARK
#define BOSEWAVE_HEADER_MARK
Definition: ir_BoseWave.hpp:37
LG_ONE_SPACE
#define LG_ONE_SPACE
Definition: ir_LG.hpp:104
JVC_HEADER_SPACE
#define JVC_HEADER_SPACE
Definition: ir_JVC.hpp:70
NEC
@ NEC
Definition: IRProtocol.h:98
MAGIQUEST_ONE_SPACE
#define MAGIQUEST_ONE_SPACE
Definition: ir_MagiQuest.hpp:110
KASEIKYO_HEADER_SPACE
#define KASEIKYO_HEADER_SPACE
Definition: ir_Kaseikyo.hpp:102
SAMSUNG_ZERO_SPACE
#define SAMSUNG_ZERO_SPACE
Definition: ir_Samsung.hpp:94
BOSEWAVE_ONE_SPACE
#define BOSEWAVE_ONE_SPACE
Definition: ir_BoseWave.hpp:41
NEC_KHZ
#define NEC_KHZ
Definition: IRProtocol.h:171
BOSEWAVE_KHZ
#define BOSEWAVE_KHZ
Definition: IRProtocol.h:167
BOSEWAVE_REPEAT_PERIOD
#define BOSEWAVE_REPEAT_PERIOD
Definition: ir_BoseWave.hpp:43
LEGO_PF
@ LEGO_PF
Definition: IRProtocol.h:103
JVC_BIT_MARK
#define JVC_BIT_MARK
Definition: ir_JVC.hpp:72
LG_KHZ
#define LG_KHZ
Definition: IRProtocol.h:170
FAST_ZERO_SPACE
#define FAST_ZERO_SPACE
Definition: TinyIR.h:98
KASEIKYO
@ KASEIKYO
Definition: IRProtocol.h:99
DENON
@ DENON
Definition: IRProtocol.h:98
NEC_ZERO_SPACE
#define NEC_ZERO_SPACE
Definition: ir_NEC.hpp:103
KASEIKYO_KHZ
#define KASEIKYO_KHZ
Definition: IRProtocol.h:174
SONY_KHZ
#define SONY_KHZ
Definition: IRProtocol.h:166
SAMSUNG_REPEAT_PERIOD
#define SAMSUNG_REPEAT_PERIOD
Definition: ir_Samsung.hpp:98
NEC_HEADER_SPACE
#define NEC_HEADER_SPACE
Definition: ir_NEC.hpp:99
SAMSUNG_HEADER_MARK
#define SAMSUNG_HEADER_MARK
Definition: ir_Samsung.hpp:90
FAST_REPEAT_PERIOD
#define FAST_REPEAT_PERIOD
Definition: TinyIR.h:103
LG_HEADER_MARK
#define LG_HEADER_MARK
Definition: ir_LG.hpp:97
PROTOCOL_IS_PULSE_DISTANCE_WIDTH
#define PROTOCOL_IS_PULSE_DISTANCE_WIDTH
Definition: IRProtocol.h:152
LG_ZERO_SPACE
#define LG_ZERO_SPACE
Definition: ir_LG.hpp:105
FAST_KHZ
#define FAST_KHZ
The FAST protocol is a proprietary modified JVC protocol without address, with parity and with a shor...
Definition: TinyIR.h:89
SONY_ZERO_MARK
#define SONY_ZERO_MARK
Definition: ir_Sony.hpp:83
KASEIKYO_ONE_SPACE
#define KASEIKYO_ONE_SPACE
Definition: ir_Kaseikyo.hpp:105
LEGO_HEADER_SPACE
#define LEGO_HEADER_SPACE
Definition: ir_Lego.hpp:85
SAMSUNG_ONE_SPACE
#define SAMSUNG_ONE_SPACE
Definition: ir_Samsung.hpp:93
LEGO_HEADER_MARK
#define LEGO_HEADER_MARK
Definition: ir_Lego.hpp:84
DISH_HEADER_MARK
#define DISH_HEADER_MARK
Definition: ir_Others.hpp:54
DISH_HEADER_SPACE
#define DISH_HEADER_SPACE
Definition: ir_Others.hpp:55
FAST_HEADER_SPACE
#define FAST_HEADER_SPACE
Definition: TinyIR.h:101
KASEIKYO_HEADER_MARK
#define KASEIKYO_HEADER_MARK
Definition: ir_Kaseikyo.hpp:101
LEGO_AUTO_REPEAT_PERIOD_MIN
#define LEGO_AUTO_REPEAT_PERIOD_MIN
Definition: ir_Lego.hpp:94
SONY_REPEAT_PERIOD
#define SONY_REPEAT_PERIOD
Definition: ir_Sony.hpp:88
LEGO_BIT_MARK
#define LEGO_BIT_MARK
Definition: ir_Lego.hpp:87
NEC_REPEAT_PERIOD
#define NEC_REPEAT_PERIOD
Definition: ir_NEC.hpp:110
JVC_ONE_SPACE
#define JVC_ONE_SPACE
Definition: ir_JVC.hpp:73
LG_HEADER_SPACE
#define LG_HEADER_SPACE
Definition: ir_LG.hpp:98
LEGO_ONE_SPACE
#define LEGO_ONE_SPACE
Definition: ir_Lego.hpp:88
SONY_ONE_MARK
#define SONY_ONE_MARK
Definition: ir_Sony.hpp:82
DENON_BIT_MARK
#define DENON_BIT_MARK
Definition: ir_Denon.hpp:95
FAST_HEADER_MARK
#define FAST_HEADER_MARK
Definition: TinyIR.h:100
UNKNOWN
@ UNKNOWN
Definition: IRProtocol.h:98
NEC_HEADER_MARK
#define NEC_HEADER_MARK
Definition: ir_NEC.hpp:98
LG_BIT_MARK
#define LG_BIT_MARK
Definition: ir_LG.hpp:103
DENON_KHZ
#define DENON_KHZ
Definition: IRProtocol.h:168
SONY_SPACE
#define SONY_SPACE
Definition: ir_Sony.hpp:84
KASEIKYO_ZERO_SPACE
#define KASEIKYO_ZERO_SPACE
Definition: ir_Kaseikyo.hpp:106
FAST_ONE_SPACE
#define FAST_ONE_SPACE
Definition: TinyIR.h:97
LG
@ LG
Definition: IRProtocol.h:98
sendNECSpecialRepeat
void sendNECSpecialRepeat()
Static function variant of IRsend::sendNECRepeat For use in ProtocolConstants.
Definition: ir_NEC.hpp:143