Skip to content

Releases: Arduino-IRremote/Arduino-IRremote

Fixed overflow bug for rawlen > 254

19 Mar 21:09
Compare
Choose a tag to compare
  • Fixed overflow bug for rawlen > 254.
  • Removed deprecated sendPulseDistance... functions with parameter aSendStopBit.

Removed default value USE_DEFAULT_FEEDBACK_LED_PIN for last parameter of IRsend::begin(...)

08 Mar 08:26
Compare
Choose a tag to compare
  • Removed default value USE_DEFAULT_FEEDBACK_LED_PIN for last parameter of IRsend::begin(bool aEnableLEDFeedback, uint_fast8_t aFeedbackLEDPin).
    Therefore IrSender.begin(DISABLE_LED_FEEDBACK) will not longer work!
  • Added convenience function isIRReceiverAttachedForTinyReceiver().
  • Added Extended NEC Protocol macro to TinyIR by Buzzerb.
  • Fixed sendSamsung() / sendSamsungLG() bug.
  • Added functions stopTimer(), restartTimer() and restartTimerWithTicksToAdd().
  • Added rawlen and initialGap to IRData.
  • Added ReceiveAndSendHobToHood example.
  • Changed RECORD_GAP_MICROS default value from 5000 to 8000.

Fixes and TinyReceiver 2.0

23 Jan 17:05
Compare
Choose a tag to compare
  • Fix wrong type of tEnableLEDFeedback in IRSend.hpp and IRReceive.hpp.
  • TinyReceiver 2.0
    • New TinyIRReceiverData which is filled with address, command and flags.
    • Removed parameters address, command and flags from callback handleReceivedTinyIRData() and printTinyReceiverResultMinimal().
    • Callback function now only enabled if USE_CALLBACK_FOR_TINY_RECEIVER is activated.
  • Fix changing IR_SEND_PIN dynamically for ESP32.
  • Fix wrong type of tEnableLEDFeedback.
  • Support for ESP32-C3.

Old decode() prints a message now. Added untested Uno R4 support.

12 Aug 08:05
Compare
Choose a tag to compare
  • The old decode function is renamed to decode_old(decode_results *aResults). decode (decode_results *aResults) is only available in IRremote.h and prints a message.
  • Added DECODE_ONKYO, to force 16 bit command and data decoding.
  • Enable Bang&Olufsen 455 kHz if SEND_PWM_BY_TIMER is defined.
  • Fixed bug: TinyReceiver throwing ISR not in IRAM on ESP8266.
  • Usage of ATTinyCore pin numbering scheme e.g. PIN_PB2.
  • Added ARDUINO_ARCH_NRF52 to support Seeed XIAO nRF52840 Sense.
  • First untested support of Uno R4.
  • Extraced version macros to IRVersion.h.

Workaround for ESP32 RTOS delay() timing bug influencing the mark() function.

22 Mar 11:00
Compare
Choose a tag to compare
V4.1.2. Workaround for ESP32 RTOS delay() timing bug influencing the …

…mark() function. Closes #1114.

Disabled #define LOCAL_DEBUG in IRReceive.hpp, which was accidently enabled at 4.1.0

15 Mar 00:43
Compare
Choose a tag to compare
  • SAMD51 use timer3 if timer5 not available.
  • Disabled #define LOCAL_DEBUG in IRReceive.hpp, which was accidently enabled at 4.1.0.

Added FAST Protocol. Changed some function signatures. Improved handling of PULSE_DISTANCE + PULSE_WIDTH protocols.

06 Mar 10:26
Compare
Choose a tag to compare
  • Fixed bug in printing durations > 64535 in printIRResultRawFormatted().
  • Narrowed constraints for RC5 RC6 number of bits.
  • Changed the first parameter of printTinyReceiverResultMinimal() to &Serial.
  • Removed 3 Serial prints for deprecation warnings to fix #1094.
  • Version 1.2.0 of TinyIR. Now FAST protocol with 40 ms period and shorter header space.
  • Removed field bool hasStopBit and parameter bool aSendStopBit from PulseDistanceWidthProtocolConstants structure and related functions.
  • Changed a lot of unsigned int types to uint16_t types.
  • Improved overflow handling.
  • Improved software PWM generation.
  • Added FAST protocol.
  • Improved handling of PULSE_DISTANCE + PULSE_WIDTH protocols.
  • New example ReceiveAndSendDistanceWidth.
  • Removed the automatic restarting of the receiver timer after sending with SEND_PWM_BY_TIMER enabled.
  • Split ISR into ISR and function IRPinChangeInterruptHandler().
  • Added functions addTicksToInternalTickCounter() and addMicrosToInternalTickCounter().

Pulse Distance / Pulse Width decoder, send usage, 64 bit support, callback

21 Jan 19:30
Compare
Choose a tag to compare
  1. New universal Pulse Distance / Pulse Width decoder added, which covers many previous unknown protocols.
    
  2. Printout of code how to send received command by IrReceiver.printIRSendUsage(&Serial).
    
  3. RawData type is now 64 bit for 32 bit platforms and therefore decodedIRData.decodedRawData can contain complete frame information for more protocols than with 32 bit as before.
    
  4. Callback after receiving a command - call your own code if a message was received.
    
  • Added decoding of PulseDistanceWidth protocols and therfore changed function decodeDistance() to decodeDistanceWidth() and filename ir_DistanceProtocol.hpp to ir_DistanceWidthProtocol.hpp.

  • Removed static function printIRSendUsage(), but kept class function printIRSendUsage().

  • Changed type of decodedRawData and decodedRawDataArray which is now 64 bit for 32 bit platforms.

  • Added receiver callback functionality and registerReceiveCompleteCallback() function.

  • Introduced common structure PulseDistanceWidthProtocolConstants.

  • Where possible, changed all send and decode functions to use PulseDistanceWidthProtocolConstants.

  • Improved MSB/LSB handling

  • New convenience fuctions bitreverse32Bit() and bitreverseOneByte().

  • Improved Magiquest protocol.

  • Fix for #1028 - Prevent long delay caused by overflow when frame duration < repeat period - Thanks to Stephen Humphries!

  • Support for ATtiny816 - Thanks to elockman.

  • Added Bang&Olufsen protocol. #1030.

  • Third parameter of function "void begin(uint_fast8_t aSendPin, bool aEnableLEDFeedback, uint_fast8_t aFeedbackLEDPin)" is not optional anymore and this function is now only available if IR_SEND_PIN is not defined. #1033.

  • Fixed bug in sendSony() for command parameter > 0x7F;

  • Fixed bug with swapped LG2 header mark and space.

  • Disabled strict checks while decoding. They can be enabled by defining DECODE_STRICT_CHECKS.

  • Merged the 2 decode pulse width and distance functions.

  • Changed macro names _REPEAT_SPACE to _REPEAT_DISTANCE.

  • Improved TinyIRReceiver,added FAST protocol for it and added TinyIRSender.hpp and TinySender example, renamed TinyReceiver.h to TinyIR.h.

  • Added DISABLE_CODE_FOR_RECEIVER to save program memory and RAM if receiving functionality is not required.

  • Extracted protocol functions used by receive and send to IRProtocol.hpp.

  • Analyzed Denon code table and therefore changed Denon from MSB to LSB first.

  • Renamed sendRC6(aRawData...) to sendRC6Raw( aRawData...).

  • Support for seeduino which lacks the print(unsigned long long...) method. Thanks to sklott https://stackoverflow.com/users/11680056/sklott

  • Added support for attiny1614 by Joe Ostrander.

  • Fixed SEND_PWM_BY_TIMER for ATtiny167 thanks to freskpe.

  • Improved SHARP repeat decoding.

  • Replaced macros TIMER_EN/DISABLE_RECEIVE_INTR and EN/DISABLE_SEND_PWM_BY_TIMER by functions.

  • Added SAMSUNG48 protocol and sendSamsung48() function.

Added NEC2 protocol. Improved Magiquest protocol. Added function sendPulseDistanceWidth().

31 Aug 11:15
8dba6f5
Compare
Choose a tag to compare
  • Improved documentation with the help of [ElectronicsArchiver}(https://github.com/ElectronicsArchiver).
  • Added NEC2 protocol.
  • Improved Magiquest protocol.
  • Renamed sendSamsungRepeat() to sendSamsungLGRepeat().
  • Added function sendPulseDistanceWidth().
  • Improved repeat detection for some protocols.

Improvements and bug fixes. Added SAMD51 support.

07 Aug 07:54
Compare
Choose a tag to compare
  • Changed Samsung repeat handling. Old handling is available as SamsungLG.
  • Added function printIRSendUsage().
  • Reduced output size and improved format of printIRResultRawFormatted() to fasten up output (and getting repeats properly decoded).
  • Fixed Bug in sendDenonRaw() and improved decodeDenon().
  • Fixed potential bug in SendBiphase data for 1 bit.
  • Fixed bug in send for RP4020.
  • Fixed pin mapping problems especially for Teensy 2.0.
  • Added support for decoding of "special" NEC repeats.
  • Added SAMD51 support.
  • Improved pin mapping for TinyReceiver.