IRremote
Decoders and encoders for different protocols

Macros

#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 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_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 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 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 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   (15L * 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 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_BITS   (RC6_LEADING_BIT + RC6_MODE_BITS + RC6_TOGGLE_BIT + 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

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...
 
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 hexDigit (uint16_t x)
 
static void dumpDigit (Print *aSerial, uint16_t number)
 
static void dumpNumber (Print *aSerial, uint16_t number)
 
static void dumpDuration (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 dumpDigit (String *aString, uint16_t number)
 
static size_t dumpNumber (String *aString, uint16_t number)
 
static size_t dumpDuration (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::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::sendDenon (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, bool aSendSharp=false)
 
bool IRrecv::decodeSharp ()
 
bool IRrecv::decodeDenon ()
 
void IRsend::sendDenonRaw (uint16_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS) void sendFAST(uint8_t aCommand
 
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 ()
 
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::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::sendDish (uint16_t aData)
 
void IRsend::sendWhynter (uint32_t aData, uint8_t aNumberOfBitsToSend)
 
bool IRrecv::decodeWhynter ()
 
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::sendRC5 (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, bool aEnableAutomaticToggle=true)
 
bool IRrecv::decodeRC5 ()
 Try to decode data as RC5 protocol. More...
 
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...
 
bool IRrecv::decodeRC6 ()
 Try to decode data as RC6 protocol. More...
 
void IRsend::sendRC5 (uint32_t data, uint8_t nbits)
 Old version with 32 bit data. More...
 
void IRsend::sendRC5ext (uint8_t addr, uint8_t cmd, bool toggle)
 
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 BoseWaveProtocolConstants
 
struct PulseDistanceWidthProtocolConstants DenonProtocolConstants
 
struct PulseDistanceWidthProtocolConstants FASTProtocolConstants
 
struct PulseDistanceWidthProtocolConstants JVCProtocolConstants
 
struct PulseDistanceWidthProtocolConstants KaseikyoProtocolConstants
 
struct PulseDistanceWidthProtocolConstants LegoProtocolConstants
 
struct PulseDistanceWidthProtocolConstants LGProtocolConstants
 
struct PulseDistanceWidthProtocolConstants LG2ProtocolConstants
 
struct PulseDistanceWidthProtocolConstants NECProtocolConstants
 
struct PulseDistanceWidthProtocolConstants NEC2ProtocolConstants
 
struct PulseDistanceWidthProtocolConstants DishProtocolConstants
 
struct PulseDistanceWidthProtocolConstants WhynterProtocolConstants
 
uint8_t sLastSendToggleValue = 1
 
struct PulseDistanceWidthProtocolConstants SamsungProtocolConstants
 
struct PulseDistanceWidthProtocolConstants SamsungLGProtocolConstants
 
struct PulseDistanceWidthProtocolConstants SonyProtocolConstants
 

Detailed Description

Macro Definition Documentation

◆ APPLE_ADDRESS

#define APPLE_ADDRESS   0x87EE

Definition at line 117 of file ir_NEC.hpp.

◆ BOSEWAVE_BIT_MARK

#define BOSEWAVE_BIT_MARK   520

Definition at line 42 of file ir_BoseWave.hpp.

◆ BOSEWAVE_BITS

#define BOSEWAVE_BITS   16

Definition at line 38 of file ir_BoseWave.hpp.

◆ BOSEWAVE_HEADER_MARK

#define BOSEWAVE_HEADER_MARK   1014

Definition at line 40 of file ir_BoseWave.hpp.

◆ BOSEWAVE_HEADER_SPACE

#define BOSEWAVE_HEADER_SPACE   1468

Definition at line 41 of file ir_BoseWave.hpp.

◆ BOSEWAVE_MAXIMUM_REPEAT_DISTANCE

#define BOSEWAVE_MAXIMUM_REPEAT_DISTANCE   62000

Definition at line 48 of file ir_BoseWave.hpp.

◆ BOSEWAVE_ONE_SPACE

#define BOSEWAVE_ONE_SPACE   1468

Definition at line 44 of file ir_BoseWave.hpp.

◆ BOSEWAVE_REPEAT_DISTANCE

#define BOSEWAVE_REPEAT_DISTANCE   50000

Definition at line 47 of file ir_BoseWave.hpp.

◆ BOSEWAVE_REPEAT_PERIOD

#define BOSEWAVE_REPEAT_PERIOD   75000

Definition at line 46 of file ir_BoseWave.hpp.

◆ BOSEWAVE_ZERO_SPACE

#define BOSEWAVE_ZERO_SPACE   468

Definition at line 43 of file ir_BoseWave.hpp.

◆ DENON_ADDRESS_BITS

#define DENON_ADDRESS_BITS   5

Definition at line 91 of file ir_Denon.hpp.

◆ DENON_AUTO_REPEAT_DISTANCE

#define DENON_AUTO_REPEAT_DISTANCE   45000

Definition at line 102 of file ir_Denon.hpp.

◆ DENON_BIT_MARK

#define DENON_BIT_MARK   DENON_UNIT

Definition at line 98 of file ir_Denon.hpp.

◆ DENON_BITS

Definition at line 95 of file ir_Denon.hpp.

◆ DENON_COMMAND_BITS

#define DENON_COMMAND_BITS   8

Definition at line 92 of file ir_Denon.hpp.

◆ DENON_FRAME_BITS

#define DENON_FRAME_BITS   2

Definition at line 93 of file ir_Denon.hpp.

◆ DENON_HEADER_MARK

#define DENON_HEADER_MARK   DENON_UNIT

Definition at line 106 of file ir_Denon.hpp.

◆ DENON_HEADER_SPACE

#define DENON_HEADER_SPACE   (3 * DENON_UNIT)

Definition at line 107 of file ir_Denon.hpp.

◆ DENON_ONE_SPACE

#define DENON_ONE_SPACE   (7 * DENON_UNIT)

Definition at line 99 of file ir_Denon.hpp.

◆ DENON_REPEAT_PERIOD

#define DENON_REPEAT_PERIOD   110000

Definition at line 103 of file ir_Denon.hpp.

◆ DENON_UNIT

#define DENON_UNIT   260

Definition at line 96 of file ir_Denon.hpp.

◆ DENON_VENDOR_ID_CODE

#define DENON_VENDOR_ID_CODE   0x3254

Definition at line 117 of file ir_Kaseikyo.hpp.

◆ DENON_ZERO_SPACE

#define DENON_ZERO_SPACE   (3 * DENON_UNIT)

Definition at line 100 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.

◆ JVC_ADDRESS_BITS

#define JVC_ADDRESS_BITS   8

Definition at line 67 of file ir_JVC.hpp.

◆ JVC_BIT_MARK

#define JVC_BIT_MARK   JVC_UNIT

Definition at line 76 of file ir_JVC.hpp.

◆ JVC_BITS

#define JVC_BITS   (JVC_ADDRESS_BITS + JVC_COMMAND_BITS)

Definition at line 70 of file ir_JVC.hpp.

◆ JVC_COMMAND_BITS

#define JVC_COMMAND_BITS   8

Definition at line 68 of file ir_JVC.hpp.

◆ JVC_HEADER_MARK

#define JVC_HEADER_MARK   (16 * JVC_UNIT)

Definition at line 73 of file ir_JVC.hpp.

◆ JVC_HEADER_SPACE

#define JVC_HEADER_SPACE   (8 * JVC_UNIT)

Definition at line 74 of file ir_JVC.hpp.

◆ JVC_ONE_SPACE

#define JVC_ONE_SPACE   (3 * JVC_UNIT)

Definition at line 77 of file ir_JVC.hpp.

◆ JVC_REPEAT_DISTANCE

#define JVC_REPEAT_DISTANCE   (uint16_t)(45 * JVC_UNIT)

Definition at line 80 of file ir_JVC.hpp.

◆ JVC_REPEAT_PERIOD

#define JVC_REPEAT_PERIOD   65000

Definition at line 81 of file ir_JVC.hpp.

◆ JVC_UNIT

#define JVC_UNIT   526

Definition at line 71 of file ir_JVC.hpp.

◆ JVC_VENDOR_ID_CODE

#define JVC_VENDOR_ID_CODE   0x0103

Definition at line 120 of file ir_Kaseikyo.hpp.

◆ JVC_ZERO_SPACE

#define JVC_ZERO_SPACE   JVC_UNIT

Definition at line 78 of file ir_JVC.hpp.

◆ KASEIKYO_ADDRESS_BITS

#define KASEIKYO_ADDRESS_BITS   12

Definition at line 98 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_AVERAGE_DURATION

#define KASEIKYO_AVERAGE_DURATION   56000

Definition at line 111 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_BIT_MARK

#define KASEIKYO_BIT_MARK   KASEIKYO_UNIT

Definition at line 107 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_BITS

◆ KASEIKYO_COMMAND_BITS

#define KASEIKYO_COMMAND_BITS   8

Definition at line 99 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_HEADER_MARK

#define KASEIKYO_HEADER_MARK   (8 * KASEIKYO_UNIT)

Definition at line 104 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_HEADER_SPACE

#define KASEIKYO_HEADER_SPACE   (4 * KASEIKYO_UNIT)

Definition at line 105 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_MAXIMUM_REPEAT_DISTANCE

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

Definition at line 114 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_ONE_SPACE

#define KASEIKYO_ONE_SPACE   (3 * KASEIKYO_UNIT)

Definition at line 108 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_PARITY_BITS

#define KASEIKYO_PARITY_BITS   8

Definition at line 100 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_REPEAT_DISTANCE

#define KASEIKYO_REPEAT_DISTANCE   (KASEIKYO_REPEAT_PERIOD - KASEIKYO_AVERAGE_DURATION)

Definition at line 113 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_REPEAT_PERIOD

#define KASEIKYO_REPEAT_PERIOD   130000

Definition at line 112 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_UNIT

#define KASEIKYO_UNIT   432

Definition at line 102 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_VENDOR_ID_BITS

#define KASEIKYO_VENDOR_ID_BITS   16

Definition at line 96 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_VENDOR_ID_PARITY_BITS

#define KASEIKYO_VENDOR_ID_PARITY_BITS   4

Definition at line 97 of file ir_Kaseikyo.hpp.

◆ KASEIKYO_ZERO_SPACE

#define KASEIKYO_ZERO_SPACE   KASEIKYO_UNIT

Definition at line 109 of file ir_Kaseikyo.hpp.

◆ LEGO_AUTO_REPEAT_PERIOD_MAX

#define LEGO_AUTO_REPEAT_PERIOD_MAX   230000

Definition at line 81 of file ir_Lego.hpp.

◆ LEGO_AUTO_REPEAT_PERIOD_MIN

#define LEGO_AUTO_REPEAT_PERIOD_MIN   110000

Definition at line 80 of file ir_Lego.hpp.

◆ LEGO_AVERAGE_DURATION

#define LEGO_AVERAGE_DURATION   11000

Definition at line 78 of file ir_Lego.hpp.

◆ LEGO_BIT_MARK

#define LEGO_BIT_MARK   158

Definition at line 74 of file ir_Lego.hpp.

◆ LEGO_BITS

Definition at line 69 of file ir_Lego.hpp.

◆ LEGO_CHANNEL_BITS

#define LEGO_CHANNEL_BITS   4

Definition at line 64 of file ir_Lego.hpp.

◆ LEGO_COMMAND_BITS

#define LEGO_COMMAND_BITS   4

Definition at line 66 of file ir_Lego.hpp.

◆ LEGO_HEADER_MARK

#define LEGO_HEADER_MARK   158

Definition at line 71 of file ir_Lego.hpp.

◆ LEGO_HEADER_SPACE

#define LEGO_HEADER_SPACE   1026

Definition at line 72 of file ir_Lego.hpp.

◆ LEGO_MODE_BITS

#define LEGO_MODE_BITS   4

Definition at line 65 of file ir_Lego.hpp.

◆ LEGO_MODE_COMBO

#define LEGO_MODE_COMBO   1

Definition at line 84 of file ir_Lego.hpp.

◆ LEGO_MODE_EXTENDED

#define LEGO_MODE_EXTENDED   0

Definition at line 83 of file ir_Lego.hpp.

◆ LEGO_MODE_SINGLE

#define LEGO_MODE_SINGLE   0x4

Definition at line 85 of file ir_Lego.hpp.

◆ LEGO_ONE_SPACE

#define LEGO_ONE_SPACE   553

Definition at line 75 of file ir_Lego.hpp.

◆ LEGO_PARITY_BITS

#define LEGO_PARITY_BITS   4

Definition at line 67 of file ir_Lego.hpp.

◆ LEGO_ZERO_SPACE

#define LEGO_ZERO_SPACE   263

Definition at line 76 of file ir_Lego.hpp.

◆ LG2_HEADER_MARK

#define LG2_HEADER_MARK   (19 * LG_UNIT)

Definition at line 105 of file ir_LG.hpp.

◆ LG2_HEADER_SPACE

#define LG2_HEADER_SPACE   (6 * LG_UNIT)

Definition at line 106 of file ir_LG.hpp.

◆ LG_ADDRESS_BITS

#define LG_ADDRESS_BITS   8

Definition at line 95 of file ir_LG.hpp.

◆ LG_BIT_MARK

#define LG_BIT_MARK   LG_UNIT

Definition at line 108 of file ir_LG.hpp.

◆ LG_BITS

#define LG_BITS   (LG_ADDRESS_BITS + LG_COMMAND_BITS + LG_CHECKSUM_BITS)

Definition at line 98 of file ir_LG.hpp.

◆ LG_CHECKSUM_BITS

#define LG_CHECKSUM_BITS   4

Definition at line 97 of file ir_LG.hpp.

◆ LG_COMMAND_BITS

#define LG_COMMAND_BITS   16

Definition at line 96 of file ir_LG.hpp.

◆ LG_HEADER_MARK

#define LG_HEADER_MARK   (18 * LG_UNIT)

Definition at line 102 of file ir_LG.hpp.

◆ LG_HEADER_SPACE

#define LG_HEADER_SPACE   4200

Definition at line 103 of file ir_LG.hpp.

◆ LG_ONE_SPACE

#define LG_ONE_SPACE   1580

Definition at line 109 of file ir_LG.hpp.

◆ LG_REPEAT_HEADER_SPACE

#define LG_REPEAT_HEADER_SPACE   (4 * LG_UNIT)

Definition at line 112 of file ir_LG.hpp.

◆ LG_REPEAT_PERIOD

#define LG_REPEAT_PERIOD   110000

Definition at line 113 of file ir_LG.hpp.

◆ LG_UNIT

#define LG_UNIT   500

Definition at line 100 of file ir_LG.hpp.

◆ LG_ZERO_SPACE

#define LG_ZERO_SPACE   550

Definition at line 110 of file ir_LG.hpp.

◆ MIN_RC5_MARKS

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

Definition at line 89 of file ir_RC5_RC6.hpp.

◆ MIN_RC6_MARKS

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

Definition at line 274 of file ir_RC5_RC6.hpp.

◆ MIN_RC6_SAMPLES

#define MIN_RC6_SAMPLES   1

Definition at line 255 of file ir_RC5_RC6.hpp.

◆ MITSUBISHI_VENDOR_ID_CODE

#define MITSUBISHI_VENDOR_ID_CODE   0xCB23

Definition at line 118 of file ir_Kaseikyo.hpp.

◆ NEC_ADDRESS_BITS

#define NEC_ADDRESS_BITS   16

Definition at line 95 of file ir_NEC.hpp.

◆ NEC_AVERAGE_DURATION

#define NEC_AVERAGE_DURATION   62000

Definition at line 110 of file ir_NEC.hpp.

◆ NEC_BIT_MARK

#define NEC_BIT_MARK   NEC_UNIT

Definition at line 104 of file ir_NEC.hpp.

◆ NEC_BITS

#define NEC_BITS   (NEC_ADDRESS_BITS + NEC_COMMAND_BITS)

Definition at line 98 of file ir_NEC.hpp.

◆ NEC_COMMAND_BITS

#define NEC_COMMAND_BITS   16

Definition at line 96 of file ir_NEC.hpp.

◆ NEC_HEADER_MARK

#define NEC_HEADER_MARK   (16 * NEC_UNIT)

Definition at line 101 of file ir_NEC.hpp.

◆ NEC_HEADER_SPACE

#define NEC_HEADER_SPACE   (8 * NEC_UNIT)

Definition at line 102 of file ir_NEC.hpp.

◆ NEC_MAXIMUM_REPEAT_DISTANCE

#define NEC_MAXIMUM_REPEAT_DISTANCE   (NEC_REPEAT_PERIOD - NEC_MINIMAL_DURATION + 10000)

Definition at line 115 of file ir_NEC.hpp.

◆ NEC_MINIMAL_DURATION

#define NEC_MINIMAL_DURATION   49900

Definition at line 111 of file ir_NEC.hpp.

◆ NEC_ONE_SPACE

#define NEC_ONE_SPACE   (3 * NEC_UNIT)

Definition at line 105 of file ir_NEC.hpp.

◆ NEC_REPEAT_DISTANCE

#define NEC_REPEAT_DISTANCE   (NEC_REPEAT_PERIOD - NEC_AVERAGE_DURATION)

Definition at line 114 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 112 of file ir_NEC.hpp.

◆ NEC_REPEAT_HEADER_SPACE

#define NEC_REPEAT_HEADER_SPACE   (4 * NEC_UNIT)

Definition at line 108 of file ir_NEC.hpp.

◆ NEC_REPEAT_PERIOD

#define NEC_REPEAT_PERIOD   110000

Definition at line 113 of file ir_NEC.hpp.

◆ NEC_UNIT

#define NEC_UNIT   560

Definition at line 99 of file ir_NEC.hpp.

◆ NEC_ZERO_SPACE

#define NEC_ZERO_SPACE   NEC_UNIT

Definition at line 106 of file ir_NEC.hpp.

◆ PANASONIC_VENDOR_ID_CODE

#define PANASONIC_VENDOR_ID_CODE   0x2002

Definition at line 116 of file ir_Kaseikyo.hpp.

◆ RC5_ADDRESS_BITS

#define RC5_ADDRESS_BITS   5

Definition at line 80 of file ir_RC5_RC6.hpp.

◆ RC5_BITS

Definition at line 85 of file ir_RC5_RC6.hpp.

◆ RC5_COMMAND_BITS

#define RC5_COMMAND_BITS   6

Definition at line 81 of file ir_RC5_RC6.hpp.

◆ RC5_COMMAND_FIELD_BIT

#define RC5_COMMAND_FIELD_BIT   1

Definition at line 82 of file ir_RC5_RC6.hpp.

◆ RC5_DURATION

#define RC5_DURATION   (15L * RC5_UNIT)

Definition at line 91 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 94 of file ir_RC5_RC6.hpp.

◆ RC5_REPEAT_DISTANCE

#define RC5_REPEAT_DISTANCE   (RC5_REPEAT_PERIOD - RC5_DURATION)

Definition at line 93 of file ir_RC5_RC6.hpp.

◆ RC5_REPEAT_PERIOD

#define RC5_REPEAT_PERIOD   (128L * RC5_UNIT)

Definition at line 92 of file ir_RC5_RC6.hpp.

◆ RC5_TOGGLE_BIT

#define RC5_TOGGLE_BIT   1

Definition at line 83 of file ir_RC5_RC6.hpp.

◆ RC5_UNIT

#define RC5_UNIT   889

Definition at line 87 of file ir_RC5_RC6.hpp.

◆ RC6_ADDRESS_BITS

#define RC6_ADDRESS_BITS   8

Definition at line 263 of file ir_RC5_RC6.hpp.

◆ RC6_BITS

Definition at line 266 of file ir_RC5_RC6.hpp.

◆ RC6_COMMAND_BITS

#define RC6_COMMAND_BITS   8

Definition at line 264 of file ir_RC5_RC6.hpp.

◆ RC6_HEADER_MARK

#define RC6_HEADER_MARK   (6 * RC6_UNIT)

Definition at line 270 of file ir_RC5_RC6.hpp.

◆ RC6_HEADER_SPACE

#define RC6_HEADER_SPACE   (2 * RC6_UNIT)

Definition at line 271 of file ir_RC5_RC6.hpp.

◆ RC6_LEADING_BIT

#define RC6_LEADING_BIT   1

Definition at line 259 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 277 of file ir_RC5_RC6.hpp.

◆ RC6_MODE_BITS

#define RC6_MODE_BITS   3

Definition at line 260 of file ir_RC5_RC6.hpp.

◆ RC6_REPEAT_DISTANCE

#define RC6_REPEAT_DISTANCE   107000

Definition at line 276 of file ir_RC5_RC6.hpp.

◆ RC6_RPT_LENGTH

#define RC6_RPT_LENGTH   46000

Definition at line 257 of file ir_RC5_RC6.hpp.

◆ RC6_TOGGLE_BIT

#define RC6_TOGGLE_BIT   1

Definition at line 261 of file ir_RC5_RC6.hpp.

◆ RC6_TOGGLE_BIT_INDEX

#define RC6_TOGGLE_BIT_INDEX   RC6_MODE_BITS

Definition at line 262 of file ir_RC5_RC6.hpp.

◆ RC6_TRAILING_SPACE

#define RC6_TRAILING_SPACE   (6 * RC6_UNIT)

Definition at line 273 of file ir_RC5_RC6.hpp.

◆ RC6_UNIT

#define RC6_UNIT   444

Definition at line 268 of file ir_RC5_RC6.hpp.

◆ SAMSUNG48_BITS

#define SAMSUNG48_BITS   (SAMSUNG_ADDRESS_BITS + SAMSUNG_COMMAND32_BITS)

Definition at line 90 of file ir_Samsung.hpp.

◆ SAMSUNG_ADDRESS_BITS

#define SAMSUNG_ADDRESS_BITS   16

Definition at line 86 of file ir_Samsung.hpp.

◆ SAMSUNG_AVERAGE_DURATION

#define SAMSUNG_AVERAGE_DURATION   55000

Definition at line 100 of file ir_Samsung.hpp.

◆ SAMSUNG_BIT_MARK

#define SAMSUNG_BIT_MARK   SAMSUNG_UNIT

Definition at line 96 of file ir_Samsung.hpp.

◆ SAMSUNG_BITS

#define SAMSUNG_BITS   (SAMSUNG_ADDRESS_BITS + SAMSUNG_COMMAND16_BITS)

Definition at line 89 of file ir_Samsung.hpp.

◆ SAMSUNG_COMMAND16_BITS

#define SAMSUNG_COMMAND16_BITS   16

Definition at line 87 of file ir_Samsung.hpp.

◆ SAMSUNG_COMMAND32_BITS

#define SAMSUNG_COMMAND32_BITS   32

Definition at line 88 of file ir_Samsung.hpp.

◆ SAMSUNG_HEADER_MARK

#define SAMSUNG_HEADER_MARK   (8 * SAMSUNG_UNIT)

Definition at line 94 of file ir_Samsung.hpp.

◆ SAMSUNG_HEADER_SPACE

#define SAMSUNG_HEADER_SPACE   (8 * SAMSUNG_UNIT)

Definition at line 95 of file ir_Samsung.hpp.

◆ SAMSUNG_MAXIMUM_REPEAT_DISTANCE

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

Definition at line 103 of file ir_Samsung.hpp.

◆ SAMSUNG_ONE_SPACE

#define SAMSUNG_ONE_SPACE   (3 * SAMSUNG_UNIT)

Definition at line 97 of file ir_Samsung.hpp.

◆ SAMSUNG_REPEAT_DURATION

Definition at line 101 of file ir_Samsung.hpp.

◆ SAMSUNG_REPEAT_PERIOD

#define SAMSUNG_REPEAT_PERIOD   110000

Definition at line 102 of file ir_Samsung.hpp.

◆ SAMSUNG_UNIT

#define SAMSUNG_UNIT   560

Definition at line 93 of file ir_Samsung.hpp.

◆ SAMSUNG_ZERO_SPACE

#define SAMSUNG_ZERO_SPACE   SAMSUNG_UNIT

Definition at line 98 of file ir_Samsung.hpp.

◆ SHARP_VENDOR_ID_CODE

#define SHARP_VENDOR_ID_CODE   0x5AAA

Definition at line 119 of file ir_Kaseikyo.hpp.

◆ SONY_ADDRESS_BITS

#define SONY_ADDRESS_BITS   5

Definition at line 76 of file ir_Sony.hpp.

◆ SONY_AVERAGE_DURATION_MAX

#define SONY_AVERAGE_DURATION_MAX   33000

Definition at line 90 of file ir_Sony.hpp.

◆ SONY_AVERAGE_DURATION_MIN

#define SONY_AVERAGE_DURATION_MIN   21000

Definition at line 89 of file ir_Sony.hpp.

◆ SONY_BITS_15

#define SONY_BITS_15   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS + 3)

Definition at line 80 of file ir_Sony.hpp.

◆ SONY_BITS_MAX

#define SONY_BITS_MAX   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS + SONY_EXTRA_BITS)

Definition at line 81 of file ir_Sony.hpp.

◆ SONY_BITS_MIN

#define SONY_BITS_MIN   (SONY_COMMAND_BITS + SONY_ADDRESS_BITS)

Definition at line 79 of file ir_Sony.hpp.

◆ SONY_COMMAND_BITS

#define SONY_COMMAND_BITS   7

Definition at line 77 of file ir_Sony.hpp.

◆ SONY_DOUBLE_SPACE_USECS

#define SONY_DOUBLE_SPACE_USECS   500

Definition at line 154 of file ir_Sony.hpp.

◆ SONY_EXTRA_BITS

#define SONY_EXTRA_BITS   8

Definition at line 78 of file ir_Sony.hpp.

◆ SONY_HEADER_MARK

#define SONY_HEADER_MARK   (4 * SONY_UNIT)

Definition at line 84 of file ir_Sony.hpp.

◆ SONY_MAXIMUM_REPEAT_DISTANCE

#define SONY_MAXIMUM_REPEAT_DISTANCE   (SONY_REPEAT_PERIOD - SONY_AVERAGE_DURATION_MIN)

Definition at line 92 of file ir_Sony.hpp.

◆ SONY_ONE_MARK

#define SONY_ONE_MARK   (2 * SONY_UNIT)

Definition at line 85 of file ir_Sony.hpp.

◆ SONY_REPEAT_PERIOD

#define SONY_REPEAT_PERIOD   45000

Definition at line 91 of file ir_Sony.hpp.

◆ SONY_SPACE

#define SONY_SPACE   SONY_UNIT

Definition at line 87 of file ir_Sony.hpp.

◆ SONY_UNIT

#define SONY_UNIT   600

Definition at line 82 of file ir_Sony.hpp.

◆ SONY_ZERO_MARK

#define SONY_ZERO_MARK   SONY_UNIT

Definition at line 86 of file ir_Sony.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 150 of file ir_DistanceWidthProtocol.hpp.

◆ compensateAndDumpSequence() [1/2]

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

Definition at line 235 of file ir_Pronto.hpp.

◆ 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.

◆ 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.

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

Definition at line 257 of file ir_Pronto.hpp.

◆ compensateAndStorePronto()

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

Definition at line 325 of file ir_Pronto.hpp.

◆ computeLGRawDataAndChecksum()

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

Definition at line 147 of file ir_LG.hpp.

◆ 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 160 of file ir_NEC.hpp.

◆ decodeBoseWave()

bool IRrecv::decodeBoseWave ( )

Definition at line 64 of file ir_BoseWave.hpp.

◆ decodeDenon()

bool IRrecv::decodeDenon ( )

Definition at line 155 of file ir_Denon.hpp.

◆ decodeDenonOld()

bool IRrecv::decodeDenonOld ( decode_results aResults)

Definition at line 280 of file ir_Denon.hpp.

◆ decodeDistanceWidth()

bool IRrecv::decodeDistanceWidth ( )

Definition at line 197 of file ir_DistanceWidthProtocol.hpp.

◆ decodeFAST()

bool IRrecv::decodeFAST ( )

Definition at line 98 of file ir_FAST.hpp.

◆ decodeJVC()

bool IRrecv::decodeJVC ( )

Definition at line 119 of file ir_JVC.hpp.

◆ decodeJVCMSB()

bool IRrecv::decodeJVCMSB ( decode_results aResults)

Definition at line 177 of file ir_JVC.hpp.

◆ decodeKaseikyo()

bool IRrecv::decodeKaseikyo ( )

Definition at line 199 of file ir_Kaseikyo.hpp.

◆ decodeLegoPowerFunctions()

bool IRrecv::decodeLegoPowerFunctions ( )

Definition at line 128 of file ir_Lego.hpp.

◆ decodeLG()

bool IRrecv::decodeLG ( )

Definition at line 176 of file ir_LG.hpp.

◆ decodeLGMSB()

bool IRrecv::decodeLGMSB ( decode_results aResults)

Definition at line 290 of file ir_LG.hpp.

◆ decodeNEC()

bool IRrecv::decodeNEC ( )

Decodes also Onkyo and Apple.

Definition at line 238 of file ir_NEC.hpp.

◆ decodeNECMSB()

bool IRrecv::decodeNECMSB ( decode_results aResults)

Definition at line 345 of file ir_NEC.hpp.

◆ decodeRC5()

bool IRrecv::decodeRC5 ( )

Try to decode data as RC5 protocol.


Clock _____| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| | ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ End of each data bit period _ _ - Mark 2 Start bits for RC5 _____| |_| ... - Data starts with a space->mark bit

  • Space _ 1 Start bit for RC5X _____| ...

Definition at line 155 of file ir_RC5_RC6.hpp.

◆ decodeRC6()

bool IRrecv::decodeRC6 ( )

Try to decode data as RC6 protocol.

Definition at line 394 of file ir_RC5_RC6.hpp.

◆ decodeSamsung()

bool IRrecv::decodeSamsung ( )

Definition at line 269 of file ir_Samsung.hpp.

◆ decodeSAMSUNG()

bool IRrecv::decodeSAMSUNG ( decode_results aResults)

Definition at line 368 of file ir_Samsung.hpp.

◆ decodeSharp()

bool IRrecv::decodeSharp ( )

Definition at line 151 of file ir_Denon.hpp.

◆ decodeSony()

bool IRrecv::decodeSony ( )

Definition at line 109 of file ir_Sony.hpp.

◆ decodeSonyMSB()

bool IRrecv::decodeSonyMSB ( decode_results aResults)

Definition at line 154 of file ir_Sony.hpp.

◆ decodeWhynter()

bool IRrecv::decodeWhynter ( )

Definition at line 94 of file ir_Others.hpp.

◆ dumpDigit() [1/2]

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

Definition at line 216 of file ir_Pronto.hpp.

◆ dumpDigit() [2/2]

static bool dumpDigit ( String *  aString,
uint16_t  number 
)
static

Definition at line 274 of file ir_Pronto.hpp.

◆ dumpDuration() [1/2]

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

Definition at line 228 of file ir_Pronto.hpp.

◆ dumpDuration() [2/2]

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

Definition at line 296 of file ir_Pronto.hpp.

◆ dumpNumber() [1/2]

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

Definition at line 220 of file ir_Pronto.hpp.

◆ dumpNumber() [2/2]

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

Definition at line 279 of file ir_Pronto.hpp.

◆ effectiveFrequency()

static uint16_t effectiveFrequency ( uint16_t  frequency)
static

Definition at line 200 of file ir_Pronto.hpp.

◆ hexDigit()

static char hexDigit ( uint16_t  x)
static

Definition at line 212 of file ir_Pronto.hpp.

◆ 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 213 of file ir_NEC.hpp.

◆ sendBoseWave()

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

Definition at line 57 of file ir_BoseWave.hpp.

◆ sendDenon() [1/2]

void IRsend::sendDenon ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
bool  aSendSharp = false 
)

Definition at line 120 of file ir_Denon.hpp.

◆ sendDenon() [2/2]

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

Definition at line 256 of file ir_Denon.hpp.

◆ sendDenonRaw()

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

Definition at line 249 of file ir_Denon.hpp.

◆ sendDish()

void IRsend::sendDish ( uint16_t  aData)

Definition at line 64 of file ir_Others.hpp.

◆ 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 92 of file ir_JVC.hpp.

◆ 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 242 of file ir_JVC.hpp.

◆ 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 132 of file ir_Kaseikyo.hpp.

◆ 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 171 of file ir_Kaseikyo.hpp.

◆ 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 192 of file ir_Kaseikyo.hpp.

◆ 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 178 of file ir_Kaseikyo.hpp.

◆ 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 185 of file ir_Kaseikyo.hpp.

◆ sendLegoPowerFunctions() [1/3]

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

Definition at line 205 of file ir_Lego.hpp.

◆ sendLegoPowerFunctions() [2/3]

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

Definition at line 108 of file ir_Lego.hpp.

◆ sendLegoPowerFunctions() [3/3]

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

Definition at line 97 of file ir_Lego.hpp.

◆ sendLG() [1/2]

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

LG uses the NEC repeat.

Definition at line 165 of file ir_LG.hpp.

◆ sendLG() [2/2]

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

Definition at line 329 of file ir_LG.hpp.

◆ sendLG2()

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

LG2 uses a special repeat.

Definition at line 172 of file ir_LG.hpp.

◆ sendLG2Repeat()

void IRsend::sendLG2Repeat ( )

Definition at line 129 of file ir_LG.hpp.

◆ 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 140 of file ir_LG.hpp.

◆ 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 286 of file ir_LG.hpp.

◆ 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 183 of file ir_NEC.hpp.

◆ 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 201 of file ir_NEC.hpp.

◆ 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 420 of file ir_NEC.hpp.

◆ 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 231 of file ir_NEC.hpp.

◆ sendNECRepeat()

void IRsend::sendNECRepeat ( )

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

Definition at line 135 of file ir_NEC.hpp.

◆ 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 146 of file ir_NEC.hpp.

◆ 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 192 of file ir_NEC.hpp.

◆ 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 164 of file ir_Kaseikyo.hpp.

◆ sendPronto() [1/3]

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

Definition at line 193 of file ir_Pronto.hpp.

◆ 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 149 of file ir_Pronto.hpp.

◆ sendPronto() [3/3]

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

Definition at line 70 of file ir_Pronto.hpp.

◆ sendRC5() [1/2]

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

Old version with 32 bit data.

Definition at line 522 of file ir_RC5_RC6.hpp.

◆ sendRC5() [2/2]

void IRsend::sendRC5 ( uint8_t  aAddress,
uint8_t  aCommand,
int_fast8_t  aNumberOfRepeats,
bool  aEnableAutomaticToggle = true 
)
Parameters
aCommandIf aCommand is >=0x40 then we switch automatically to RC5X.
aEnableAutomaticToggleSend toggle bit according to the state of the static sLastSendToggleValue variable.

Definition at line 103 of file ir_RC5_RC6.hpp.

◆ sendRC5ext()

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

Definition at line 546 of file ir_RC5_RC6.hpp.

◆ sendRC6() [1/3]

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

Main RC6 send function.

Definition at line 281 of file ir_RC5_RC6.hpp.

◆ 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 315 of file ir_RC5_RC6.hpp.

◆ 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 350 of file ir_RC5_RC6.hpp.

◆ sendRC6Raw() [1/2]

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

Definition at line 284 of file ir_RC5_RC6.hpp.

◆ sendRC6Raw() [2/2]

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

Definition at line 318 of file ir_RC5_RC6.hpp.

◆ 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 171 of file ir_Samsung.hpp.

◆ sendSAMSUNG()

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

Definition at line 421 of file ir_Samsung.hpp.

◆ 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 202 of file ir_Samsung.hpp.

◆ 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 219 of file ir_Samsung.hpp.

◆ 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 233 of file ir_Samsung.hpp.

◆ sendSamsungLG()

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

Definition at line 148 of file ir_Samsung.hpp.

◆ 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 121 of file ir_Samsung.hpp.

◆ 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 135 of file ir_Samsung.hpp.

◆ sendSamsungMSB()

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

Definition at line 409 of file ir_Samsung.hpp.

◆ sendSharp() [1/2]

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

Definition at line 276 of file ir_Denon.hpp.

◆ sendSharp() [2/2]

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

Definition at line 116 of file ir_Denon.hpp.

◆ 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 103 of file ir_Sony.hpp.

◆ sendSony() [2/2]

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

Definition at line 227 of file ir_Sony.hpp.

◆ sendSonyMSB()

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

Old version with MSB first data.

Definition at line 216 of file ir_Sony.hpp.

◆ sendWhynter()

void IRsend::sendWhynter ( uint32_t  aData,
uint8_t  aNumberOfBitsToSend 
)

Definition at line 90 of file ir_Others.hpp.

◆ toFrequencyCode()

static uint16_t toFrequencyCode ( uint16_t  frequency)
static

Definition at line 208 of file ir_Pronto.hpp.

◆ toFrequencyKHz()

static uint16_t toFrequencyKHz ( uint16_t  code)
static

Definition at line 61 of file ir_Pronto.hpp.

◆ toTimebase()

static uint16_t toTimebase ( uint16_t  frequency)
static

Definition at line 204 of file ir_Pronto.hpp.

Variable Documentation

◆ BoseWaveProtocolConstants

◆ DenonProtocolConstants

◆ DishProtocolConstants

struct PulseDistanceWidthProtocolConstants DishProtocolConstants

◆ FASTProtocolConstants

◆ JVCProtocolConstants

◆ KaseikyoProtocolConstants

◆ LegoProtocolConstants

◆ LG2ProtocolConstants

◆ LGProtocolConstants

◆ NEC2ProtocolConstants

◆ NECProtocolConstants

◆ SamsungLGProtocolConstants

◆ SamsungProtocolConstants

◆ sLastSendToggleValue

uint8_t sLastSendToggleValue = 1

Definition at line 42 of file ir_RC5_RC6.hpp.

◆ SonyProtocolConstants

◆ WhynterProtocolConstants

SAMSUNG_HEADER_SPACE
#define SAMSUNG_HEADER_SPACE
Definition: ir_Samsung.hpp:94
BOSEWAVE_HEADER_SPACE
#define BOSEWAVE_HEADER_SPACE
Definition: ir_BoseWave.hpp:40
PROTOCOL_IS_MSB_FIRST
#define PROTOCOL_IS_MSB_FIRST
Definition: IRProtocol.h:147
JVC
@ JVC
Definition: IRProtocol.h:46
WHYNTER_ONE_SPACE
#define WHYNTER_ONE_SPACE
Definition: ir_Others.hpp:84
LG_REPEAT_PERIOD
#define LG_REPEAT_PERIOD
Definition: ir_LG.hpp:112
LEGO_ZERO_SPACE
#define LEGO_ZERO_SPACE
Definition: ir_Lego.hpp:75
WHYNTER_HEADER_SPACE
#define WHYNTER_HEADER_SPACE
Definition: ir_Others.hpp:82
FAST
@ FAST
Definition: IRProtocol.h:71
FAST_BIT_MARK
#define FAST_BIT_MARK
Definition: TinyIR.h:96
MICROS_IN_ONE_MILLI
#define MICROS_IN_ONE_MILLI
Definition: IRremote.hpp:255
JVC_KHZ
#define JVC_KHZ
Definition: IRProtocol.h:159
NEC_BIT_MARK
#define NEC_BIT_MARK
Definition: ir_NEC.hpp:103
SONY
@ SONY
Definition: IRProtocol.h:64
SONY_HEADER_MARK
#define SONY_HEADER_MARK
Definition: ir_Sony.hpp:83
DISH_ONE_SPACE
#define DISH_ONE_SPACE
Definition: ir_Others.hpp:57
KASEIKYO_BIT_MARK
#define KASEIKYO_BIT_MARK
Definition: ir_Kaseikyo.hpp:106
JVC_ZERO_SPACE
#define JVC_ZERO_SPACE
Definition: ir_JVC.hpp:77
KASEIKYO_REPEAT_PERIOD
#define KASEIKYO_REPEAT_PERIOD
Definition: ir_Kaseikyo.hpp:111
SAMSUNG
@ SAMSUNG
Definition: IRProtocol.h:60
BOSEWAVE
@ BOSEWAVE
Definition: IRProtocol.h:67
DISH_BIT_MARK
#define DISH_BIT_MARK
Definition: ir_Others.hpp:56
WHYNTER_HEADER_MARK
#define WHYNTER_HEADER_MARK
Definition: ir_Others.hpp:81
DENON_HEADER_MARK
#define DENON_HEADER_MARK
Definition: ir_Denon.hpp:105
JVC_REPEAT_PERIOD
#define JVC_REPEAT_PERIOD
Definition: ir_JVC.hpp:80
DISH_ZERO_SPACE
#define DISH_ZERO_SPACE
Definition: ir_Others.hpp:58
sendLG2SpecialRepeat
void sendLG2SpecialRepeat()
Static function for sending special repeat frame.
Definition: ir_LG.hpp:140
NEC2
@ NEC2
Definition: IRProtocol.h:50
DENON_REPEAT_PERIOD
#define DENON_REPEAT_PERIOD
Definition: ir_Denon.hpp:102
DENON_ZERO_SPACE
#define DENON_ZERO_SPACE
Definition: ir_Denon.hpp:99
DENON_HEADER_SPACE
#define DENON_HEADER_SPACE
Definition: ir_Denon.hpp:106
WHYNTER_ZERO_SPACE
#define WHYNTER_ZERO_SPACE
Definition: ir_Others.hpp:85
JVC_HEADER_MARK
#define JVC_HEADER_MARK
Definition: ir_JVC.hpp:72
BOSEWAVE_ZERO_SPACE
#define BOSEWAVE_ZERO_SPACE
Definition: ir_BoseWave.hpp:42
NEC_ONE_SPACE
#define NEC_ONE_SPACE
Definition: ir_NEC.hpp:104
DENON_ONE_SPACE
#define DENON_ONE_SPACE
Definition: ir_Denon.hpp:98
BOSEWAVE_BIT_MARK
#define BOSEWAVE_BIT_MARK
Definition: ir_BoseWave.hpp:41
SAMSUNG_KHZ
#define SAMSUNG_KHZ
Definition: IRProtocol.h:162
PROTOCOL_IS_LSB_FIRST
#define PROTOCOL_IS_LSB_FIRST
Definition: IRProtocol.h:148
SAMSUNG_BIT_MARK
#define SAMSUNG_BIT_MARK
Definition: ir_Samsung.hpp:95
sendSamsungLGSpecialRepeat
void sendSamsungLGSpecialRepeat()
Like above, but implemented as a static function Used for sending special repeat frame.
Definition: ir_Samsung.hpp:135
BOSEWAVE_HEADER_MARK
#define BOSEWAVE_HEADER_MARK
Definition: ir_BoseWave.hpp:39
WHYNTER_BIT_MARK
#define WHYNTER_BIT_MARK
Definition: ir_Others.hpp:83
LG_ONE_SPACE
#define LG_ONE_SPACE
Definition: ir_LG.hpp:108
JVC_HEADER_SPACE
#define JVC_HEADER_SPACE
Definition: ir_JVC.hpp:73
NEC
@ NEC
Definition: IRProtocol.h:49
KASEIKYO_HEADER_SPACE
#define KASEIKYO_HEADER_SPACE
Definition: ir_Kaseikyo.hpp:104
SAMSUNG_ZERO_SPACE
#define SAMSUNG_ZERO_SPACE
Definition: ir_Samsung.hpp:97
BOSEWAVE_ONE_SPACE
#define BOSEWAVE_ONE_SPACE
Definition: ir_BoseWave.hpp:43
NEC_KHZ
#define NEC_KHZ
Definition: IRProtocol.h:161
BOSEWAVE_KHZ
#define BOSEWAVE_KHZ
Definition: IRProtocol.h:157
BOSEWAVE_REPEAT_PERIOD
#define BOSEWAVE_REPEAT_PERIOD
Definition: ir_BoseWave.hpp:45
LEGO_PF
@ LEGO_PF
Definition: IRProtocol.h:68
JVC_BIT_MARK
#define JVC_BIT_MARK
Definition: ir_JVC.hpp:75
LG_KHZ
#define LG_KHZ
Definition: IRProtocol.h:160
FAST_ZERO_SPACE
#define FAST_ZERO_SPACE
Definition: TinyIR.h:98
LG2_HEADER_MARK
#define LG2_HEADER_MARK
Definition: ir_LG.hpp:104
KASEIKYO
@ KASEIKYO
Definition: IRProtocol.h:53
DENON
@ DENON
Definition: IRProtocol.h:45
LG2_HEADER_SPACE
#define LG2_HEADER_SPACE
Definition: ir_LG.hpp:105
NEC_ZERO_SPACE
#define NEC_ZERO_SPACE
Definition: ir_NEC.hpp:105
KASEIKYO_KHZ
#define KASEIKYO_KHZ
Definition: IRProtocol.h:163
SONY_KHZ
#define SONY_KHZ
Definition: IRProtocol.h:156
LG2
@ LG2
Definition: IRProtocol.h:48
SAMSUNG_REPEAT_PERIOD
#define SAMSUNG_REPEAT_PERIOD
Definition: ir_Samsung.hpp:101
NEC_HEADER_SPACE
#define NEC_HEADER_SPACE
Definition: ir_NEC.hpp:101
SAMSUNG_HEADER_MARK
#define SAMSUNG_HEADER_MARK
Definition: ir_Samsung.hpp:93
FAST_REPEAT_PERIOD
#define FAST_REPEAT_PERIOD
Definition: TinyIR.h:103
LG_HEADER_MARK
#define LG_HEADER_MARK
Definition: ir_LG.hpp:101
LG_ZERO_SPACE
#define LG_ZERO_SPACE
Definition: ir_LG.hpp:109
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:85
KASEIKYO_ONE_SPACE
#define KASEIKYO_ONE_SPACE
Definition: ir_Kaseikyo.hpp:107
LEGO_HEADER_SPACE
#define LEGO_HEADER_SPACE
Definition: ir_Lego.hpp:71
SAMSUNG_ONE_SPACE
#define SAMSUNG_ONE_SPACE
Definition: ir_Samsung.hpp:96
LEGO_HEADER_MARK
#define LEGO_HEADER_MARK
Definition: ir_Lego.hpp:70
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:103
LEGO_AUTO_REPEAT_PERIOD_MIN
#define LEGO_AUTO_REPEAT_PERIOD_MIN
Definition: ir_Lego.hpp:79
SONY_REPEAT_PERIOD
#define SONY_REPEAT_PERIOD
Definition: ir_Sony.hpp:90
LEGO_BIT_MARK
#define LEGO_BIT_MARK
Definition: ir_Lego.hpp:73
NEC_REPEAT_PERIOD
#define NEC_REPEAT_PERIOD
Definition: ir_NEC.hpp:112
JVC_ONE_SPACE
#define JVC_ONE_SPACE
Definition: ir_JVC.hpp:76
LG_HEADER_SPACE
#define LG_HEADER_SPACE
Definition: ir_LG.hpp:102
LEGO_ONE_SPACE
#define LEGO_ONE_SPACE
Definition: ir_Lego.hpp:74
SONY_ONE_MARK
#define SONY_ONE_MARK
Definition: ir_Sony.hpp:84
DENON_BIT_MARK
#define DENON_BIT_MARK
Definition: ir_Denon.hpp:97
FAST_HEADER_MARK
#define FAST_HEADER_MARK
Definition: TinyIR.h:100
UNKNOWN
@ UNKNOWN
Definition: IRProtocol.h:41
WHYNTER
@ WHYNTER
Definition: IRProtocol.h:70
NEC_HEADER_MARK
#define NEC_HEADER_MARK
Definition: ir_NEC.hpp:100
LG_BIT_MARK
#define LG_BIT_MARK
Definition: ir_LG.hpp:107
DENON_KHZ
#define DENON_KHZ
Definition: IRProtocol.h:158
SAMSUNGLG
@ SAMSUNGLG
Definition: IRProtocol.h:61
SONY_SPACE
#define SONY_SPACE
Definition: ir_Sony.hpp:86
KASEIKYO_ZERO_SPACE
#define KASEIKYO_ZERO_SPACE
Definition: ir_Kaseikyo.hpp:108
FAST_ONE_SPACE
#define FAST_ONE_SPACE
Definition: TinyIR.h:97
LG
@ LG
Definition: IRProtocol.h:47
sendNECSpecialRepeat
void sendNECSpecialRepeat()
Static function variant of IRsend::sendNECRepeat For use in ProtocolConstants.
Definition: ir_NEC.hpp:146