mirror of
https://github.com/Theaninova/Arduino-IRremote.git
synced 2026-01-18 23:32:51 +00:00
Compare commits
1 Commits
revert-425
...
experiment
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13ac290b3b |
@@ -15,8 +15,8 @@
|
|||||||
// Whynter A/C ARC-110WD added by Francesco Meschia
|
// Whynter A/C ARC-110WD added by Francesco Meschia
|
||||||
//******************************************************************************
|
//******************************************************************************
|
||||||
|
|
||||||
#ifndef IRremote_h
|
#ifndef AIRremote_h
|
||||||
#define IRremote_h
|
#define AIRremote_h
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// The ISR header contains several useful macros the user may wish to use
|
// The ISR header contains several useful macros the user may wish to use
|
||||||
@@ -16,7 +16,7 @@ These are the active contributors of this project that you may contact if there
|
|||||||
- [Sebazzz](https://github.com/sebazz): Contributor
|
- [Sebazzz](https://github.com/sebazz): Contributor
|
||||||
- [lumbric](https://github.com/lumbric): Contributor
|
- [lumbric](https://github.com/lumbric): Contributor
|
||||||
- [ElectricRCAircraftGuy](https://github.com/electricrcaircraftguy): Active Contributor
|
- [ElectricRCAircraftGuy](https://github.com/electricrcaircraftguy): Active Contributor
|
||||||
- [philipphenkel](https://github.com/philipphenkel): Active Contributor
|
- [henkel](https://github.com/henkel): Contributor
|
||||||
- [MCUdude](https://github.com/MCUdude): Contributor
|
- [MCUdude](https://github.com/MCUdude): Contributor
|
||||||
|
|
||||||
Note: This list is being updated constantly so please let [z3t0](https://github.com/z3t0) know if you have been missed.
|
Note: This list is being updated constantly so please let [z3t0](https://github.com/z3t0) know if you have been missed.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
// Defining IR_GLOBAL here allows us to declare the instantiation of global variables
|
// Defining IR_GLOBAL here allows us to declare the instantiation of global variables
|
||||||
#define IR_GLOBAL
|
#define IR_GLOBAL
|
||||||
# include "IRremote.h"
|
# include "AIRremote.h"
|
||||||
# include "IRremoteInt.h"
|
# include "IRremoteInt.h"
|
||||||
#undef IR_GLOBAL
|
#undef IR_GLOBAL
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
**Code Block:**
|
**Code Block:**
|
||||||
```c
|
```c
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
.....
|
.....
|
||||||
|
|
||||||
@@ -14,12 +14,8 @@
|
|||||||
Use [a gist](gist.github.com) if the code exceeds 30 lines
|
Use [a gist](gist.github.com) if the code exceeds 30 lines
|
||||||
|
|
||||||
**checklist:**
|
**checklist:**
|
||||||
- [] I have **read** the README.md file thoroughly
|
|
||||||
- [] I have searched existing issues to see if there is anything I have missed.
|
|
||||||
- [] The latest [release](https://github.com/z3t0/Arduino-IRremote/releases/latest) is used
|
- [] The latest [release](https://github.com/z3t0/Arduino-IRremote/releases/latest) is used
|
||||||
- [] Any code referenced is provided and if over 30 lines a gist is linked INSTEAD of it being pasted in here
|
- [] Any code referenced is provided
|
||||||
- [] The title of the issue is helpful and relevant
|
- [] The title of the issue is helpful and relevant
|
||||||
|
|
||||||
** We will start to close issues that do not follow these guidelines as it doesn't help the contributors who spend time trying to solve issues if the community ignores guidelines!**
|
|
||||||
|
|
||||||
The above is a short template allowing you to make detailed issues!
|
The above is a short template allowing you to make detailed issues!
|
||||||
@@ -8,7 +8,7 @@ This library enables you to send and receive using infra-red signals on an Ardui
|
|||||||
|
|
||||||
Tutorials and more information will be made available on [the official homepage](http://z3t0.github.io/Arduino-IRremote/).
|
Tutorials and more information will be made available on [the official homepage](http://z3t0.github.io/Arduino-IRremote/).
|
||||||
|
|
||||||
## Version - 2.2.3
|
## Version - 2.2.1
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
1. Navigate to the [Releases](https://github.com/z3t0/Arduino-IRremote/releases) page.
|
1. Navigate to the [Releases](https://github.com/z3t0/Arduino-IRremote/releases) page.
|
||||||
|
|||||||
@@ -1,9 +1,3 @@
|
|||||||
## 2.2.3 - 2017/03/27
|
|
||||||
- Fix calculation of pause length in LEGO PF protocol [PR #427](https://github.com/z3t0/Arduino-IRremote/pull/427)
|
|
||||||
|
|
||||||
## 2.2.2 - 2017/01/20
|
|
||||||
- Fixed naming bug [PR #398](https://github.com/z3t0/Arduino-IRremote/pull/398)
|
|
||||||
|
|
||||||
## 2.2.1 - 2016/07/27
|
## 2.2.1 - 2016/07/27
|
||||||
- Added tests for Lego Power Functions Protocol [PR #336](https://github.com/z3t0/Arduino-IRremote/pull/336)
|
- Added tests for Lego Power Functions Protocol [PR #336](https://github.com/z3t0/Arduino-IRremote/pull/336)
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
|
|
||||||
#define POWER 0x7F80
|
#define POWER 0x7F80
|
||||||
#define AIWA_RC_T501
|
#define AIWA_RC_T501
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
int RECV_PIN = 11;
|
int RECV_PIN = 11;
|
||||||
int BUTTON_PIN = 12;
|
int BUTTON_PIN = 12;
|
||||||
@@ -126,7 +126,7 @@ void sendCode(int repeat) {
|
|||||||
Serial.println(codeValue, HEX);
|
Serial.println(codeValue, HEX);
|
||||||
}
|
}
|
||||||
else if (codeType == JVC) {
|
else if (codeType == JVC) {
|
||||||
irsend.sendJVC(codeValue, codeLen, false);
|
irsend.sendPanasonic(codeValue, codeLen);
|
||||||
Serial.print("Sent JVC");
|
Serial.print("Sent JVC");
|
||||||
Serial.println(codeValue, HEX);
|
Serial.println(codeValue, HEX);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
int RECV_PIN = 11;
|
int RECV_PIN = 11;
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* LG added by Darryl Smith (based on the JVC protocol)
|
* LG added by Darryl Smith (based on the JVC protocol)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default is Arduino pin D11.
|
* Default is Arduino pin D11.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Include the IRremote library header
|
// Include the IRremote library header
|
||||||
//
|
//
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Tell IRremote which Arduino pin is connected to the IR Receiver (TSOP4838)
|
// Tell IRremote which Arduino pin is connected to the IR Receiver (TSOP4838)
|
||||||
@@ -66,7 +66,7 @@ void dumpInfo (decode_results *results)
|
|||||||
{
|
{
|
||||||
// Check if the buffer overflowed
|
// Check if the buffer overflowed
|
||||||
if (results->overflow) {
|
if (results->overflow) {
|
||||||
Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWBUF");
|
Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWLEN");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
int RECV_PIN = 11;
|
int RECV_PIN = 11;
|
||||||
int RELAY_PIN = 4;
|
int RELAY_PIN = 4;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
@@ -224,7 +224,7 @@ void dumpFooter() {
|
|||||||
Serial.println(F("Notes: "));
|
Serial.println(F("Notes: "));
|
||||||
Serial.println(F(" - Most of the seetings above can be configured in the following files included as part of the library"));
|
Serial.println(F(" - Most of the seetings above can be configured in the following files included as part of the library"));
|
||||||
Serial.println(F(" - IRremteInt.h"));
|
Serial.println(F(" - IRremteInt.h"));
|
||||||
Serial.println(F(" - IRremote.h"));
|
Serial.println(F(" - AIRremote.h"));
|
||||||
Serial.println(F(" - You can save SRAM by disabling the Decode or Send features for any protocol (Near the top of IRremoteInt.h)"));
|
Serial.println(F(" - You can save SRAM by disabling the Decode or Send features for any protocol (Near the top of IRremoteInt.h)"));
|
||||||
Serial.println(F(" - Some Timer conflicts, with other libraries, can be easily resolved by configuring a differnt Timer for your platform"));
|
Serial.println(F(" - Some Timer conflicts, with other libraries, can be easily resolved by configuring a differnt Timer for your platform"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
IRsend irsend;
|
IRsend irsend;
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
IRsend irsend;
|
IRsend irsend;
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
* Copyright 2009 Ken Shirriff
|
* Copyright 2009 Ken Shirriff
|
||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
*
|
*
|
||||||
* Note: to run these tests, edit IRremote/IRremote.h to add "#define TEST"
|
* Note: to run these tests, edit IRremote/AIRremote.h to add "#define TEST"
|
||||||
* You must then recompile the library by removing IRremote.o and restarting
|
* You must then recompile the library by removing IRremote.o and restarting
|
||||||
* the arduino IDE.
|
* the arduino IDE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
#include <IRremoteInt.h>
|
#include <IRremoteInt.h>
|
||||||
|
|
||||||
// Dumps out the decode_results structure.
|
// Dumps out the decode_results structure.
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
int RECV_PIN = 11;
|
int RECV_PIN = 11;
|
||||||
int LED_PIN = 3;
|
int LED_PIN = 3;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* http://arcfn.com
|
* http://arcfn.com
|
||||||
* JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
|
* JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
|
||||||
*/
|
*/
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
|
|
||||||
#define PanasonicAddress 0x4004 // Panasonic address (Pre data)
|
#define PanasonicAddress 0x4004 // Panasonic address (Pre data)
|
||||||
#define PanasonicPower 0x100BCBD // Panasonic Power button
|
#define PanasonicPower 0x100BCBD // Panasonic Power button
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* Copyright (c) 2016 Philipp Henkel
|
* Copyright (c) 2016 Philipp Henkel
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IRremote.h>
|
#include <AIRremote.h>
|
||||||
#include <IRremoteInt.h>
|
#include <IRremoteInt.h>
|
||||||
|
|
||||||
IRsend irsend;
|
IRsend irsend;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* LegoPowerFunctionsTest: LEGO Power Functions Tests
|
* LegoPowerFunctionsTest: LEGO Power Functions Tests
|
||||||
* Copyright (c) 2016, 2017 Philipp Henkel
|
* Copyright (c) 2016 Philipp Henkel
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ir_Lego_PF_BitStreamEncoder.h>
|
#include <ir_Lego_PF_BitStreamEncoder.h>
|
||||||
@@ -78,14 +78,14 @@ void testMessageBitCount(LegoPfBitStreamEncoder& bitStreamEncoder) {
|
|||||||
logTestResult(bitCount == 18);
|
logTestResult(bitCount == 18);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean check(LegoPfBitStreamEncoder& bitStreamEncoder, unsigned long markDuration, unsigned long pauseDuration) {
|
boolean check(LegoPfBitStreamEncoder& bitStreamEncoder, int markDuration, int pauseDuration) {
|
||||||
bool result = true;
|
bool result = true;
|
||||||
result = result && bitStreamEncoder.getMarkDuration() == markDuration;
|
result = result && bitStreamEncoder.getMarkDuration() == markDuration;
|
||||||
result = result && bitStreamEncoder.getPauseDuration() == pauseDuration;
|
result = result && bitStreamEncoder.getPauseDuration() == pauseDuration;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean checkNext(LegoPfBitStreamEncoder& bitStreamEncoder, unsigned long markDuration, unsigned long pauseDuration) {
|
boolean checkNext(LegoPfBitStreamEncoder& bitStreamEncoder, int markDuration, int pauseDuration) {
|
||||||
bool result = bitStreamEncoder.next();
|
bool result = bitStreamEncoder.next();
|
||||||
result = result && check(bitStreamEncoder, markDuration, pauseDuration);
|
result = result && check(bitStreamEncoder, markDuration, pauseDuration);
|
||||||
return result;
|
return result;
|
||||||
@@ -129,16 +129,16 @@ void testMessage407Repeated(LegoPfBitStreamEncoder& bitStreamEncoder) {
|
|||||||
bool result = true;
|
bool result = true;
|
||||||
result = result && check(bitStreamEncoder, 158, 1026);
|
result = result && check(bitStreamEncoder, 158, 1026);
|
||||||
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026L + 5L * 16000L - 10844L);
|
result = result && checkNext(bitStreamEncoder, 158, 1026 + 5 * 16000 - 10844);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
||||||
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026L + 5L * 16000L - 10844L);
|
result = result && checkNext(bitStreamEncoder, 158, 1026 + 5 * 16000 - 10844);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
||||||
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026L + 8L * 16000L - 10844L);
|
result = result && checkNext(bitStreamEncoder, 158, 1026 + 8 * 16000 - 10844);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
||||||
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026L + 8L * 16000L - 10844L);
|
result = result && checkNext(bitStreamEncoder, 158, 1026 + 8 * 16000 - 10844);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
||||||
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
result = result && checkDataBitsOfMessage407(bitStreamEncoder);
|
||||||
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
result = result && checkNext(bitStreamEncoder, 158, 1026);
|
||||||
@@ -191,3 +191,7 @@ void testGetMessageLengthAllLow(LegoPfBitStreamEncoder& bitStreamEncoder) {
|
|||||||
bitStreamEncoder.reset(0x0, false);
|
bitStreamEncoder.reset(0x0, false);
|
||||||
logTestResult(bitStreamEncoder.getMessageLength() == 9104);
|
logTestResult(bitStreamEncoder.getMessageLength() == 9104);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
void mark (int t) { printf("+%d," , t); }
|
void mark (int t) { printf("+%d," , t); }
|
||||||
void space (int t) { printf("-%d, ", t); }
|
void space (int t) { printf("-%d, ", t); }
|
||||||
#else
|
#else
|
||||||
# include "IRremote.h"
|
# include "AIRremote.h"
|
||||||
#endif // TEST
|
#endif // TEST
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
// Reverse Engineered by looking at RAW dumps generated by IRremote
|
// Reverse Engineered by looking at RAW dumps generated by IRremote
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
#include "ir_Lego_PF_BitStreamEncoder.h"
|
#include "ir_Lego_PF_BitStreamEncoder.h"
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
// L E E O O
|
// L E E O O
|
||||||
// L EEEE E EEE O O
|
// L EEEE E EEE O O
|
||||||
// L E E E O O LEGO Power Functions
|
// L E E E O O LEGO Power Functions
|
||||||
// LLLLLL EEEEEE EEEE OOOO Copyright (c) 2016, 2017 Philipp Henkel
|
// LLLLLL EEEEEE EEEE OOOO Copyright (c) 2016 Philipp Henkel
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
@@ -14,25 +14,25 @@ class LegoPfBitStreamEncoder {
|
|||||||
private:
|
private:
|
||||||
uint16_t data;
|
uint16_t data;
|
||||||
bool repeatMessage;
|
bool repeatMessage;
|
||||||
uint8_t messageBitIdx;
|
int messageBitIdx;
|
||||||
uint8_t repeatCount;
|
int repeatCount;
|
||||||
uint16_t messageLength;
|
int messageLength;
|
||||||
|
|
||||||
public:
|
|
||||||
// HIGH data bit = IR mark + high pause
|
// HIGH data bit = IR mark + high pause
|
||||||
// LOW data bit = IR mark + low pause
|
// LOW data bit = IR mark + low pause
|
||||||
static const uint16_t LOW_BIT_DURATION = 421;
|
static const int LOW_BIT_DURATION = 421;
|
||||||
static const uint16_t HIGH_BIT_DURATION = 711;
|
static const int HIGH_BIT_DURATION = 711;
|
||||||
static const uint16_t START_BIT_DURATION = 1184;
|
static const int START_BIT_DURATION = 1184;
|
||||||
static const uint16_t STOP_BIT_DURATION = 1184;
|
static const int STOP_BIT_DURATION = 1184;
|
||||||
static const uint8_t IR_MARK_DURATION = 158;
|
static const int IR_MARK_DURATION = 158;
|
||||||
static const uint16_t HIGH_PAUSE_DURATION = HIGH_BIT_DURATION - IR_MARK_DURATION;
|
static const int HIGH_PAUSE_DURATION = HIGH_BIT_DURATION - IR_MARK_DURATION;
|
||||||
static const uint16_t LOW_PAUSE_DURATION = LOW_BIT_DURATION - IR_MARK_DURATION;
|
static const int LOW_PAUSE_DURATION = LOW_BIT_DURATION - IR_MARK_DURATION;
|
||||||
static const uint16_t START_PAUSE_DURATION = START_BIT_DURATION - IR_MARK_DURATION;
|
static const int START_PAUSE_DURATION = START_BIT_DURATION - IR_MARK_DURATION;
|
||||||
static const uint16_t STOP_PAUSE_DURATION = STOP_BIT_DURATION - IR_MARK_DURATION;
|
static const int STOP_PAUSE_DURATION = STOP_BIT_DURATION - IR_MARK_DURATION;
|
||||||
static const uint8_t MESSAGE_BITS = 18;
|
static const int MESSAGE_BITS = 18;
|
||||||
static const uint16_t MAX_MESSAGE_LENGTH = 16000;
|
static const int MAX_MESSAGE_LENGTH = 16000;
|
||||||
|
|
||||||
|
public:
|
||||||
void reset(uint16_t data, bool repeatMessage) {
|
void reset(uint16_t data, bool repeatMessage) {
|
||||||
this->data = data;
|
this->data = data;
|
||||||
this->repeatMessage = repeatMessage;
|
this->repeatMessage = repeatMessage;
|
||||||
@@ -43,9 +43,9 @@ class LegoPfBitStreamEncoder {
|
|||||||
|
|
||||||
int getChannelId() const { return 1 + ((data >> 12) & 0x3); }
|
int getChannelId() const { return 1 + ((data >> 12) & 0x3); }
|
||||||
|
|
||||||
uint16_t getMessageLength() const {
|
int getMessageLength() const {
|
||||||
// Sum up all marks
|
// Sum up all marks
|
||||||
uint16_t length = MESSAGE_BITS * IR_MARK_DURATION;
|
int length = MESSAGE_BITS * IR_MARK_DURATION;
|
||||||
|
|
||||||
// Sum up all pauses
|
// Sum up all pauses
|
||||||
length += START_PAUSE_DURATION;
|
length += START_PAUSE_DURATION;
|
||||||
@@ -75,9 +75,9 @@ class LegoPfBitStreamEncoder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t getMarkDuration() const { return IR_MARK_DURATION; }
|
int getMarkDuration() const { return IR_MARK_DURATION; }
|
||||||
|
|
||||||
uint32_t getPauseDuration() const {
|
int getPauseDuration() const {
|
||||||
if (messageBitIdx == 0)
|
if (messageBitIdx == 0)
|
||||||
return START_PAUSE_DURATION;
|
return START_PAUSE_DURATION;
|
||||||
else if (messageBitIdx < MESSAGE_BITS - 1) {
|
else if (messageBitIdx < MESSAGE_BITS - 1) {
|
||||||
@@ -88,13 +88,13 @@ class LegoPfBitStreamEncoder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint16_t getDataBitPause() const {
|
int getDataBitPause() const {
|
||||||
const int pos = MESSAGE_BITS - 2 - messageBitIdx;
|
const int pos = MESSAGE_BITS - 2 - messageBitIdx;
|
||||||
const bool isHigh = data & (1 << pos);
|
const bool isHigh = data & (1 << pos);
|
||||||
return isHigh ? HIGH_PAUSE_DURATION : LOW_PAUSE_DURATION;
|
return isHigh ? HIGH_PAUSE_DURATION : LOW_PAUSE_DURATION;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t getStopPause() const {
|
int getStopPause() const {
|
||||||
if (repeatMessage) {
|
if (repeatMessage) {
|
||||||
return getRepeatStopPause();
|
return getRepeatStopPause();
|
||||||
} else {
|
} else {
|
||||||
@@ -102,12 +102,12 @@ class LegoPfBitStreamEncoder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t getRepeatStopPause() const {
|
int getRepeatStopPause() const {
|
||||||
if (repeatCount == 0 || repeatCount == 1) {
|
if (repeatCount == 0 || repeatCount == 1) {
|
||||||
return STOP_PAUSE_DURATION + (uint32_t)5 * MAX_MESSAGE_LENGTH - messageLength;
|
return STOP_PAUSE_DURATION + 5 * MAX_MESSAGE_LENGTH - messageLength;
|
||||||
} else if (repeatCount == 2 || repeatCount == 3) {
|
} else if (repeatCount == 2 || repeatCount == 3) {
|
||||||
return STOP_PAUSE_DURATION
|
return STOP_PAUSE_DURATION
|
||||||
+ (uint32_t)(6 + 2 * getChannelId()) * MAX_MESSAGE_LENGTH - messageLength;
|
+ (6 + 2 * getChannelId()) * MAX_MESSAGE_LENGTH - messageLength;
|
||||||
} else {
|
} else {
|
||||||
return STOP_PAUSE_DURATION;
|
return STOP_PAUSE_DURATION;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ You have written the code to support your new protocol!
|
|||||||
|
|
||||||
Now you must do a few things to add it to the IRremote system:
|
Now you must do a few things to add it to the IRremote system:
|
||||||
|
|
||||||
1. Open IRremote.h and make the following changes:
|
1. Open AIRremote.h and make the following changes:
|
||||||
REMEMEBER to change occurences of "SHUZU" with the name of your protocol
|
REMEMEBER to change occurences of "SHUZU" with the name of your protocol
|
||||||
|
|
||||||
A. At the top, in the section "Supported Protocols", add:
|
A. At the top, in the section "Supported Protocols", add:
|
||||||
@@ -91,7 +91,7 @@ Regards,
|
|||||||
BlueChip
|
BlueChip
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "IRremote.h"
|
#include "AIRremote.h"
|
||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/z3t0/Arduino-IRremote.git"
|
"url": "https://github.com/z3t0/Arduino-IRremote.git"
|
||||||
},
|
},
|
||||||
"version": "2.2.3",
|
"version": "2.2.1",
|
||||||
"frameworks": "arduino",
|
"frameworks": "arduino",
|
||||||
"platforms": "atmelavr",
|
"platforms": "atmelavr",
|
||||||
"authors" :
|
"authors" :
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name=IRremote
|
name=IRremote
|
||||||
version=2.2.3
|
version=2.2.1
|
||||||
author=shirriff
|
author=shirriff
|
||||||
maintainer=shirriff
|
maintainer=shirriff
|
||||||
sentence=Send and receive infrared signals with multiple protocols
|
sentence=Send and receive infrared signals with multiple protocols
|
||||||
|
|||||||
Reference in New Issue
Block a user