Changes since 3.7.1:
- 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.
- 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.
- 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.
- 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().
- SAMD51 use timer3 if timer5 not available.
- Disabled #define LOCAL_DEBUG in IRReceive.hpp, which was accidently
enabled at 4.1.0.
Reported by: portscout