Releases: Arduino-IRremote/Arduino-IRremote
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.
Fixed ESP32 send bug for 2.x ESP32 cores
- SendRaw now supports bufferlenght > 255.
- Improved DistanceProtocol decoder output.
- Fixed ESP32 send bug for 2.x ESP32 cores.
Added IrReceiver.restartAfterSend() and inserted it in every send(). Changed types to fast ones.
- Changed
TOLERANCE
toTOLERANCE_FOR_DECODERS_MARK_OR_SPACE_MATCHING
and documented it. - Changed last
uint8_t
touint_fast8_t
anduint16_t
tounsigned integer
. - Improved MagiQuest protocol.
- Improved prints and documentation.
- Added
IrReceiver.restartAfterSend()
and inserted it in every send()`. Closes #989 - Use
IRAM_ATTR
instead of deprecatedICACHE_RAM_ATTR
for ESP8266`. - Removed pulse width decoding from ir_DistanceProtocol.
Switched Bose timing for 0 and 1
Switched Bose internal protocol timing for 0 and 1 -> old 1 timing is… … now 0 and vice versa.