|
| 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) |
| Initializes the send and feedback pin. More...
|
|
size_t | write (IRData *aIRSendData, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
| Interprets and sends a IRData structure. More...
|
|
size_t | write (decode_type_t aProtocol, uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
| Simple version of write without support for MAGIQUEST and numberOfBits for SONY protocol. More...
|
|
void | enableIROut (uint_fast8_t aFrequencyKHz) |
| Enables IR output. More...
|
|
void | sendPulseDistanceWidthFromArray (uint_fast8_t aFrequencyKHz, uint16_t aHeaderMarkMicros, uint16_t aHeaderSpaceMicros, uint16_t aOneMarkMicros, uint16_t aOneSpaceMicros, uint16_t aZeroMarkMicros, uint16_t aZeroSpaceMicros, IRRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, uint8_t aFlags, uint16_t aRepeatPeriodMillis, int_fast8_t aNumberOfRepeats) |
|
void | sendPulseDistanceWidthFromArray (PulseDistanceWidthProtocolConstants *aProtocolConstants, IRRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, int_fast8_t aNumberOfRepeats) |
| Sends PulseDistance data from array using PulseDistanceWidthProtocolConstants For LSB First the LSB of array[0] is sent first then all bits until MSB of array[0]. More...
|
|
void | sendPulseDistanceWidthFromArray (uint_fast8_t aFrequencyKHz, DistanceWidthTimingInfoStruct *aDistanceWidthTimingInfo, IRRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, uint8_t aFlags, uint16_t aRepeatPeriodMillis, int_fast8_t aNumberOfRepeats) |
| Sends PulseDistance data from array For LSB First the LSB of array[0] is sent first then all bits until MSB of array[0]. More...
|
|
void | sendPulseDistanceWidth (PulseDistanceWidthProtocolConstants *aProtocolConstants, IRRawDataType aData, uint_fast8_t aNumberOfBits, int_fast8_t aNumberOfRepeats) |
| Sends PulseDistance frames and repeats. More...
|
|
void | sendPulseDistanceWidthData (PulseDistanceWidthProtocolConstants *aProtocolConstants, IRRawDataType aData, uint_fast8_t aNumberOfBits) |
| Sends PulseDistance from data contained in parameter using ProtocolConstants structure for timing etc. More...
|
|
void | sendPulseDistanceWidth (uint_fast8_t aFrequencyKHz, uint16_t aHeaderMarkMicros, uint16_t aHeaderSpaceMicros, uint16_t aOneMarkMicros, uint16_t aOneSpaceMicros, uint16_t aZeroMarkMicros, uint16_t aZeroSpaceMicros, IRRawDataType aData, uint_fast8_t aNumberOfBits, uint8_t aFlags, uint16_t aRepeatPeriodMillis, int_fast8_t aNumberOfRepeats, void(*aSpecialSendRepeatFunction)()=NULL) |
| Sends PulseDistance frames and repeats. More...
|
|
void | sendPulseDistanceWidth (uint_fast8_t aFrequencyKHz, uint16_t aHeaderMarkMicros, uint16_t aHeaderSpaceMicros, uint16_t aOneMarkMicros, uint16_t aOneSpaceMicros, uint16_t aZeroMarkMicros, uint16_t aZeroSpaceMicros, IRRawDataType aData, uint_fast8_t aNumberOfBits, bool aMSBFirst, bool aSendStopBit, uint16_t aRepeatPeriodMillis, int_fast8_t aNumberOfRepeats, void(*aSpecialSendRepeatFunction)()=NULL) __attribute__((deprecated("Since version 4.1.0 parameter aSendStopBit is not longer required."))) |
|
void | sendPulseDistanceWidthData (uint16_t aOneMarkMicros, uint16_t aOneSpaceMicros, uint16_t aZeroMarkMicros, uint16_t aZeroSpaceMicros, IRRawDataType aData, uint_fast8_t aNumberOfBits, uint8_t aFlags) |
| Sends PulseDistance data with timing parameters and flag parameters. More...
|
|
void | sendBiphaseData (uint16_t 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 (uint16_t aMarkMicros) |
| Sends an IR mark 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 (50 us) 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 | sendBangOlufsen (uint16_t aHeader, uint8_t aData, int_fast8_t aNumberOfRepeats=NO_REPEATS, int8_t aNumberOfHeaderBits=8) |
|
void | sendBangOlufsenDataLink (uint32_t aHeader, uint8_t aData, int_fast8_t aNumberOfRepeats=NO_REPEATS, int8_t aNumberOfHeaderBits=8) |
|
void | sendBangOlufsenRaw (uint32_t aRawData, int_fast8_t aBits, bool aBackToBack=false) |
|
void | sendBangOlufsenRawDataLink (uint64_t aRawData, int_fast8_t aBits, bool aBackToBack=false, bool aUseDatalinkTiming=false) |
|
void | sendBoseWave (uint8_t aCommand, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
|
void | sendDenon (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, bool aSendSharp=false) |
|
void | sendDenonRaw (uint16_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS) void sendFAST(uint8_t aCommand |
|
void | 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...
|
|
void | sendLG2Repeat () |
|
uint32_t | computeLGRawDataAndChecksum (uint8_t aAddress, uint16_t aCommand) |
|
void | sendLG (uint8_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats) |
| LG uses the NEC repeat. More...
|
|
void | sendLG2 (uint8_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats) |
| LG2 uses a special repeat. More...
|
|
void | sendLGRaw (uint32_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
| Here you can put your raw data, even one with "wrong" checksum. More...
|
|
void | sendNECRepeat () |
| Send special NEC repeat frame Repeat commands should be sent in a 110 ms raster. More...
|
|
uint32_t | 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 | 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 | 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 | sendNECRaw (uint32_t aRawData, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
| Sends NEC protocol. More...
|
|
void | sendOnkyo (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats) |
| There is NO delay after the last sent repeat! More...
|
|
void | sendApple (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats) |
| Apple: Send NEC with fixed 16 bit Apple address 0x87EE. More...
|
|
void | 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 | sendPanasonic (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats) |
| Stub using Kaseikyo with PANASONIC_VENDOR_ID_CODE. More...
|
|
void | sendKaseikyo_Denon (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats) |
| Stub using Kaseikyo with DENON_VENDOR_ID_CODE. More...
|
|
void | sendKaseikyo_Mitsubishi (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats) |
| Stub using Kaseikyo with MITSUBISHI_VENDOR_ID_CODE. More...
|
|
void | sendKaseikyo_Sharp (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats) |
| Stub using Kaseikyo with SHARP_VENDOR_ID_CODE. More...
|
|
void | sendKaseikyo_JVC (uint16_t aAddress, uint8_t aData, int_fast8_t aNumberOfRepeats) |
| Stub using Kaseikyo with JVC_VENDOR_ID_CODE. More...
|
|
void | sendRC5 (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, bool aEnableAutomaticToggle=true) |
|
void | 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 | sendSamsungLGRepeat () |
| Send repeat Repeat commands should be sent in a 110 ms raster. More...
|
|
void | 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 | sendSamsung16BitAddressAnd8BitCommand (uint16_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats) |
| Maybe no one needs it in the wild... More...
|
|
void | sendSamsung16BitAddressAndCommand (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats) |
| Maybe no one needs it in the wild... More...
|
|
void | 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...
|
|
void | sendSamsungLG (uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats) |
|
void | sendSharp (uint8_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats) |
|
void | sendSony (uint16_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats, uint8_t numberOfBits=12) |
|
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 aWandId, uint16_t aMagnitude) |
|
void | sendPronto (const __FlashStringHelper *str, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
|
void | 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 | sendPronto (const uint16_t *data, uint16_t length, int_fast8_t aNumberOfRepeats=NO_REPEATS) |
|
void | sendShuzu (uint16_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats) |
|
void | sendDenon (unsigned long data, int nbits) __attribute__((deprecated("The function sendDenon(data |
|
void nbits is deprecated and may not work as expected ! Use | sendDenonRaw (data, NumberOfRepeats) or better sendDenon(Address |
|
void | sendDish (uint16_t aData) |
|
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) __attribute__((deprecated("The function sendLG(data |
|
void nbits is deprecated and may not work as expected ! Use | sendLGRaw (data, NumberOfRepeats) or better sendLG(Address |
|
void | sendNEC (uint32_t aRawData, uint8_t nbits) __attribute__((deprecated("This old function sends MSB first! Please use sendNECMSB() or 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 | 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 | sendRC6Raw (uint32_t data, uint8_t nbits) |
|
void | sendRC6 (uint32_t data, uint8_t nbits) __attribute__((deprecated("Please use sendRC6Raw()."))) |
| Main RC6 send function. More...
|
|
void | sendRC6Raw (uint64_t data, uint8_t nbits) |
|
void | 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 | sendSharpRaw (unsigned long data, int nbits) |
|
void | sendSharp (uint16_t address, uint16_t command) |
|
void | sendSAMSUNG (unsigned long data, int nbits) |
|
| __attribute__ ((deprecated("This old function sends MSB first! Please use sendSamsung()."))) |
|
void | sendSamsungMSB (unsigned long data, int nbits) |
|
void | sendSonyMSB (unsigned long data, int nbits) |
| Old version with MSB first data. More...
|
|
void | sendSony (unsigned long data, int nbits) __attribute__((deprecated("This old function sends MSB first! Please use sendSony(aAddress |
|
void | sendWhynter (uint32_t aData, uint8_t aNumberOfBitsToSend) |
|
uint16_t | getPulseCorrectionNanos () |
|