MCPcopy Create free account
hub / github.com/Arduino-IRremote/Arduino-IRremote / IRsend

Class IRsend

src/IRremoteInt.h:515–755  ·  view source on GitHub ↗

* Main class for sending IR signals */

Source from the content-addressed store, hash-verified

513 * Main class for sending IR signals
514 */
515class IRsend {
516public:
517 IRsend();
518
519 /*
520 * IR_SEND_PIN is defined or fixed by timer, value of IR_SEND_PIN is then "DeterminedByTimer"
521 */
522#if defined(IR_SEND_PIN)
523 void begin();
524 // The default parameter allowed to specify IrSender.begin(7); without errors, if IR_SEND_PIN was defined. But the semantics is not the one the user expect.
525 void begin(uint_fast8_t aFeedbackLEDPin);
526#else
527 IRsend(uint_fast8_t aSendPin);
528 void begin(uint_fast8_t aSendPin);
529 void setSendPin(uint_fast8_t aSendPin); // required if we use IRsend() as constructor
530#endif
531 void begin(uint_fast8_t aSendPin, uint_fast8_t aFeedbackLEDPin); // aFeedbackLEDPin is by default USE_DEFAULT_FEEDBACK_LED_PIN
532 void begin(uint_fast8_t aSendPin, bool aEnableLEDFeedback, uint_fast8_t aFeedbackLEDPin)
533# if !defined (DOXYGEN)
534 __attribute__ ((deprecated ("Use begin(aSendPin, aFeedbackLEDPin) instead.")));
535# endif
536
537 size_t write(IRData *aIRSendData, int_fast8_t aNumberOfRepeats = NO_REPEATS);
538 size_t write(decode_type_t aProtocol, uint16_t aAddress, uint16_t aCommand, int_fast8_t aNumberOfRepeats = NO_REPEATS);
539
540 void enableIROut(uint_fast8_t aFrequencyKHz);
541#if defined(SEND_PWM_BY_TIMER)
542 void enableHighFrequencyIROut(uint_fast16_t aFrequencyKHz); // Used for Bang&Olufsen
543#endif
544
545 /*
546 * Array functions
547 */
548 void sendPulseDistanceWidthFromArray(uint_fast8_t aFrequencyKHz, uint16_t aHeaderMarkMicros, uint16_t aHeaderSpaceMicros,
549 uint16_t aOneMarkMicros, uint16_t aOneSpaceMicros, uint16_t aZeroMarkMicros, uint16_t aZeroSpaceMicros,
550 IRDecodedRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, uint8_t aFlags, uint16_t aRepeatPeriodMillis,
551 int_fast8_t aNumberOfRepeats);
552 void sendPulseDistanceWidthFromPGMArray(uint_fast8_t aFrequencyKHz, uint16_t aHeaderMarkMicros, uint16_t aHeaderSpaceMicros,
553 uint16_t aOneMarkMicros, uint16_t aOneSpaceMicros, uint16_t aZeroMarkMicros, uint16_t aZeroSpaceMicros,
554 IRDecodedRawDataType const *aDecodedRawDataPGMArray, uint16_t aNumberOfBits, uint8_t aFlags,
555 uint16_t aRepeatPeriodMillis, int_fast8_t aNumberOfRepeats);
556 void sendPulseDistanceWidthFromArray(PulseDistanceWidthProtocolConstants *aProtocolConstants,
557 IRDecodedRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, int_fast8_t aNumberOfRepeats);
558 void sendPulseDistanceWidthFromPGMArray(PulseDistanceWidthProtocolConstants *aProtocolConstants,
559 IRDecodedRawDataType const *aDecodedRawDataPGMArray, uint16_t aNumberOfBits, int_fast8_t aNumberOfRepeats);
560 void sendPulseDistanceWidthFromArray_P(PulseDistanceWidthProtocolConstants const *aProtocolConstantsPGM,
561 IRDecodedRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, int_fast8_t aNumberOfRepeats);
562 void sendPulseDistanceWidthFromPGMArray_P(PulseDistanceWidthProtocolConstants const *aProtocolConstantsPGM,
563 IRDecodedRawDataType const *aDecodedRawDataPGMArray, uint16_t aNumberOfBits, int_fast8_t aNumberOfRepeats);
564
565 void sendPulseDistanceWidthFromArray(uint_fast8_t aFrequencyKHz, DistanceWidthTimingInfoStruct *aDistanceWidthTimingInfo,
566 IRDecodedRawDataType *aDecodedRawDataArray, uint16_t aNumberOfBits, uint8_t aFlags, uint16_t aRepeatPeriodMillis,
567 int_fast8_t aNumberOfRepeats);
568 void sendPulseDistanceWidthFromArray_P(uint_fast8_t aFrequencyKHz,
569 DistanceWidthTimingInfoStruct const *aDistanceWidthTimingInfoPGM, IRDecodedRawDataType *aDecodedRawDataArray,
570 uint16_t aNumberOfBits, uint8_t aFlags, uint16_t aRepeatPeriodMillis, int_fast8_t aNumberOfRepeats);
571
572 void sendPulseDistanceWidth(PulseDistanceWidthProtocolConstants *aProtocolConstants, IRDecodedRawDataType aData,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected