Releases: Arduino-IRremote/Arduino-IRremote
Fixed overflow bug for rawlen > 254
Removed default value USE_DEFAULT_FEEDBACK_LED_PIN for last parameter of IRsend::begin(...)
- 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
- 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.
- 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.
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
- 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.
- 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 parameterbool aSendStopBit
from PulseDistanceWidthProtocolConstants structure and related functions. - Changed a lot of
unsigned int
types touint16_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()
andaddMicrosToInternalTickCounter()
.
Pulse Distance / Pulse Width decoder, send usage, 64 bit support, callback
-
New universal Pulse Distance / Pulse Width decoder added, which covers many previous unknown protocols.
-
Printout of code how to send received command by IrReceiver.printIRSendUsage(&Serial).
-
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.
-
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().
- 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.
- 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.