IRremote
IRsend Class Reference

Main class for sending IR signals. More...

#include <IRremoteInt.h>

Public Member Functions

 IRsend ()
 
 IRsend (uint_fast8_t aSendPin)
 
void begin (uint_fast8_t aSendPin)
 Initializes the send pin and enable LED feedback with board specific FEEDBACK_LED_ON() and FEEDBACK_LED_OFF() functions. More...
 
void setSendPin (uint_fast8_t aSendPin)
 
void begin (uint_fast8_t aSendPin, bool aEnableLEDFeedback, uint_fast8_t aFeedbackLEDPin=USE_DEFAULT_FEEDBACK_LED_PIN)
 Initializes the send and feedback pin. More...
 
size_t write (IRData *aIRSendData, uint_fast8_t aNumberOfRepeats=NO_REPEATS)
 Interprets and sends a IRData structure. More...
 
void enableIROut (uint_fast8_t aFrequencyKHz)
 Enables IR output. More...
 
void sendPulseDistanceWidthData (unsigned int aOneMarkMicros, unsigned int aOneSpaceMicros, unsigned int aZeroMarkMicros, unsigned int aZeroSpaceMicros, uint32_t aData, uint_fast8_t aNumberOfBits, bool aMSBfirst, bool aSendStopBit=false)
 Sends PulseDistance data The output always ends with a space. More...
 
void sendBiphaseData (unsigned int aBiphaseTimeUnit, uint32_t aData, uint_fast8_t aNumberOfBits)
 Sends Biphase data MSB first Always send start bit, do not send the trailing space of the start bit 0 -> mark+space 1 -> space+mark The output always ends with a space can only send 31 bit data, since we put the start bit as 32th bit on front. More...
 
void mark (unsigned int aMarkMicros)
 Sends an IR mark for the specified number of microseconds. More...
 
void space (unsigned int aSpaceMicros)
 Sends an IR space for the specified number of microseconds. More...
 
void IRLedOff ()
 Just switch the IR sending LED off to send an IR space A space is "no output", so the PWM output is disabled. More...
 
void sendRaw (const uint8_t aBufferWithTicks[], uint_fast16_t aLengthOfBuffer, uint_fast8_t aIRFrequencyKilohertz)
 Function using an 8 byte tick timing array to save program memory Raw data starts with a Mark. More...
 
void sendRaw_P (const uint8_t aBufferWithTicks[], uint_fast16_t aLengthOfBuffer, uint_fast8_t aIRFrequencyKilohertz)
 New function using an 8 byte tick timing array in FLASH to save program memory Raw data starts with a Mark. More...
 
void sendRaw (const uint16_t aBufferWithMicroseconds[], uint_fast16_t aLengthOfBuffer, uint_fast8_t aIRFrequencyKilohertz)
 Function using an 16 byte microsecond timing array for every purpose. More...
 
void sendRaw_P (const uint16_t aBufferWithMicroseconds[], uint_fast16_t aLengthOfBuffer, uint_fast8_t aIRFrequencyKilohertz)
 Function using an 16 byte microsecond timing array in FLASH for every purpose. More...
 
void sendBoseWave (uint8_t aCommand, uint_fast8_t aNumberOfRepeats=NO_REPEATS)
 
void sendDenon (uint8_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats, bool aSendSharp=false)
 
void sendDenonRaw (uint16_t aRawData, uint_fast8_t aNumberOfRepeats=0) void sendJVC(uint8_t aAddress
 
void sendLGRepeat (bool aUseLG2Protocol=false)
 
void sendLG (uint8_t aAddress, uint16_t aCommand, uint_fast8_t aNumberOfRepeats, bool aIsRepeat=false, bool aUseLG2Protocol=false)
 Repeat commands should be sent in a 110 ms raster. More...
 
void sendLG2 (uint8_t aAddress, uint16_t aCommand, uint_fast8_t aNumberOfRepeats, bool aIsRepeat=false)
 
void sendLGRaw (uint32_t aRawData, uint_fast8_t aNumberOfRepeats=0, bool aIsRepeat=false, bool aUseLG2Protocol=false)
 
void sendNECRepeat ()
 
void sendNEC (uint16_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats, bool aIsRepeat=false)
 
void sendNECRaw (uint32_t aRawData, uint_fast8_t aNumberOfRepeats=0, bool aIsRepeat=false)
 
void sendOnkyo (uint16_t aAddress, uint16_t aCommand, uint_fast8_t aNumberOfRepeats, bool aIsRepeat=false)
 
void sendApple (uint8_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats, bool aIsRepeat=false)
 
void sendKaseikyo (uint16_t aAddress, uint8_t aData, uint_fast8_t aNumberOfRepeats, uint16_t aVendorCode)
 
void sendPanasonic (uint16_t aAddress, uint8_t aData, uint_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with PANASONIC_VENDOR_ID_CODE. More...
 
void sendKaseikyo_Denon (uint16_t aAddress, uint8_t aData, uint_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with DENON_VENDOR_ID_CODE. More...
 
void sendKaseikyo_Mitsubishi (uint16_t aAddress, uint8_t aData, uint_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with MITSUBISHI_VENDOR_ID_CODE. More...
 
void sendKaseikyo_Sharp (uint16_t aAddress, uint8_t aData, uint_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with SHARP_VENDOR_ID_CODE. More...
 
void sendKaseikyo_JVC (uint16_t aAddress, uint8_t aData, uint_fast8_t aNumberOfRepeats)
 Stub using Kaseikyo with JVC_VENDOR_ID_CODE. More...
 
void sendRC5 (uint8_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats, bool aEnableAutomaticToggle=true)
 
void sendRC6 (uint8_t aAddress, uint8_t aCommand, uint_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 sendSamsungRepeat ()
 Send repeat Repeat commands should be sent in a 110 ms raster. More...
 
void sendSamsung (uint16_t aAddress, uint16_t aCommand, uint_fast8_t aNumberOfRepeats)
 
void sendSamsungLG (uint16_t aAddress, uint16_t aCommand, uint_fast8_t aNumberOfRepeats, bool aIsRepeat=false)
 
void sendSharp (uint8_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats)
 
void sendSony (uint16_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats, uint8_t numberOfBits=SIRCS_12_PROTOCOL)
 
void sendLegoPowerFunctions (uint8_t aChannel, uint8_t tCommand, uint8_t aMode, bool aDoSend5Times=true)
 
void sendLegoPowerFunctions (uint16_t aRawData, bool aDoSend5Times=true)
 
void sendLegoPowerFunctions (uint16_t aRawData, uint8_t aChannel, bool aDoSend5Times=true)
 
void sendMagiQuest (uint32_t wand_id, uint16_t magnitude)
 
void sendPronto (const __FlashStringHelper *str, uint_fast8_t aNumberOfRepeats=NO_REPEATS)
 
void sendPronto (const char *prontoHexString, uint_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 sendPronto (const uint16_t *data, unsigned int length, uint_fast8_t aNumberOfRepeats=NO_REPEATS)
 
void sendPulseDistance (unsigned int aHeaderMarkMicros, unsigned int aHeaderSpaceMicros, unsigned int aOneMarkMicros, unsigned int aOneSpaceMicros, unsigned int aZeroMarkMicros, unsigned int aZeroSpaceMicros, uint32_t *aDecodedRawDataArray, unsigned int aNumberOfBits, bool aMSBfirst, unsigned int aRepeatSpaceMillis=110, uint_fast8_t aNumberOfRepeats=0)
 
void sendShuzu (uint16_t aAddress, uint8_t aCommand, uint_fast8_t aNumberOfRepeats)
 
void sendDenon (unsigned long data, int nbits)
 
void sendDISH (unsigned long data, int nbits)
 
void sendJVC (unsigned long data, int nbits, bool repeat) __attribute__((deprecated("This old function sends MSB first! Please use sendJVC(aAddress
 
void sendJVCMSB (unsigned long data, int nbits, bool repeat=false)
 With Send sendJVCMSB() you can send your old 32 bit codes. More...
 
void sendLG (unsigned long data, int nbits)
 
void sendNEC (uint32_t aRawData, uint8_t nbits) __attribute__((deprecated("This old function sends MSB first! Please use sendNEC(aAddress
 
void sendNECMSB (uint32_t data, uint8_t nbits, bool repeat=false)
 With Send sendNECMSB() you can send your old 32 bit codes. More...
 
void sendPanasonic (uint16_t aAddress, uint32_t aData) __attribute__((deprecated("This old function sends MSB first! Please use sendPanasonic(aAddress
 Old version with MSB first data. More...
 
void sendRC5 (uint32_t data, uint8_t nbits)
 Old version with 32 bit data. More...
 
void sendRC5ext (uint8_t addr, uint8_t cmd, bool toggle)
 
void sendRC6 (uint32_t data, uint8_t nbits)
 Main RC6 send function. More...
 
void sendRC6 (uint64_t data, uint8_t nbits)
 Send RC6 64 bit raw data We do not wait for the minimal trailing space of 2666 us. More...
 
void sendSharpRaw (unsigned long data, int nbits)
 
void sendSharp (unsigned int address, unsigned int command)
 
void sendSAMSUNG (unsigned long data, int nbits)
 
 __attribute__ ((deprecated("This old function sends MSB first! Please use sendSamsung().")))
 
void sendSony (unsigned long data, int nbits) __attribute__((deprecated("This old function sends MSB first! Please use sendSony(aAddress
 Old version with MSB first data. More...
 
void sendWhynter (unsigned long data, int nbits)
 
unsigned int getPulseCorrectionNanos ()
 
void customDelayMicroseconds (unsigned long aMicroseconds)
 Custom delay function that circumvents Arduino's delayMicroseconds 16 bit limit and is (mostly) not extended by the duration of interrupt codes like the millis() interrupt. More...
 

Public Attributes

void uint8_t aCommand
 
void uint8_t uint_fast8_t aNumberOfRepeats
 
void aCommand
 
void aNumberOfRepeats
 
uint8_t sendPin
 
unsigned int periodTimeMicros
 
unsigned int periodOnTimeMicros
 

Detailed Description

Main class for sending IR signals.

Definition at line 407 of file IRremoteInt.h.

Member Function Documentation

◆ __attribute__()

IRsend::__attribute__ ( (deprecated("This old function sends MSB first! Please use sendSamsung()."))  )

◆ sendDISH()

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

Definition at line 34 of file ir_Dish.hpp.

◆ sendMagiQuest()

void IRsend::sendMagiQuest ( uint32_t  wand_id,
uint16_t  magnitude 
)

Definition at line 89 of file ir_MagiQuest.hpp.

◆ sendNEC()

void IRsend::sendNEC ( uint32_t  aRawData,
uint8_t  nbits 
)

◆ sendSharpRaw()

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

◆ sendShuzu()

void IRsend::sendShuzu ( uint16_t  aAddress,
uint8_t  aCommand,
uint_fast8_t  aNumberOfRepeats 
)

Definition at line 133 of file ir_Template.hpp.

Member Data Documentation

◆ aCommand [1/2]

void IRsend::aCommand

Definition at line 455 of file IRremoteInt.h.

◆ aCommand [2/2]

void IRsend::aCommand

Definition at line 514 of file IRremoteInt.h.

◆ aNumberOfRepeats [1/2]

void IRsend::aNumberOfRepeats
Initial value:
{
sendNECMSB(aRawData, nbits)

Definition at line 455 of file IRremoteInt.h.

◆ aNumberOfRepeats [2/2]

void IRsend::aNumberOfRepeats
Initial value:
{
sendJVCMSB(data, nbits, repeat)

Definition at line 514 of file IRremoteInt.h.

◆ periodOnTimeMicros

unsigned int IRsend::periodOnTimeMicros

Definition at line 548 of file IRremoteInt.h.

◆ periodTimeMicros

unsigned int IRsend::periodTimeMicros

Definition at line 547 of file IRremoteInt.h.

◆ sendPin

uint8_t IRsend::sendPin

Definition at line 545 of file IRremoteInt.h.


The documentation for this class was generated from the following files:
IRsend::sendNECMSB
void sendNECMSB(uint32_t data, uint8_t nbits, bool repeat=false)
With Send sendNECMSB() you can send your old 32 bit codes.
Definition: ir_NEC.hpp:368
IRsend::sendJVCMSB
void sendJVCMSB(unsigned long data, int nbits, bool repeat=false)
With Send sendJVCMSB() you can send your old 32 bit codes.
Definition: ir_JVC.hpp:225