mirror of
https://github.com/Theaninova/Arduino-IRremote.git
synced 2025-12-22 22:36:16 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
841e77a642 | ||
|
|
bd1a2e05a0 | ||
|
|
3a906217d2 | ||
|
|
9697752f4e | ||
|
|
c471e2816d | ||
|
|
ec356c951b | ||
|
|
1c3275f228 | ||
|
|
376301228a | ||
|
|
96c40f63f0 | ||
|
|
86e20db36c | ||
|
|
e4933e809e | ||
|
|
92092df7a0 | ||
|
|
ed1a2a2153 | ||
|
|
e3ec11d696 | ||
|
|
8bde9ee628 | ||
|
|
711ebd7d92 | ||
|
|
a9706375c0 | ||
|
|
1c57c6a9b0 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1 +1,3 @@
|
|||||||
*.un~
|
*.un~
|
||||||
|
*.sublime-project
|
||||||
|
*.sublime-workspace
|
||||||
@@ -13,6 +13,7 @@ env:
|
|||||||
- PLATFORMIO_CI_SRC=examples/IRtest PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6"
|
- PLATFORMIO_CI_SRC=examples/IRtest PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6"
|
||||||
- PLATFORMIO_CI_SRC=examples/IRtest2 PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6"
|
- PLATFORMIO_CI_SRC=examples/IRtest2 PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6"
|
||||||
- PLATFORMIO_CI_SRC=examples/JVCPanasonicSendDemo PLATFORMIO_BUILD_FLAGS="-DSEND_JVC -DSEND_PANASONIC"
|
- PLATFORMIO_CI_SRC=examples/JVCPanasonicSendDemo PLATFORMIO_BUILD_FLAGS="-DSEND_JVC -DSEND_PANASONIC"
|
||||||
|
- PLATFORMIO_CI_SRC=examples/IRremoteInfo
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ These are the active contributors of this project that you may contact if there
|
|||||||
- [Neco777](https://github.com/neco777) : Active contributor
|
- [Neco777](https://github.com/neco777) : Active contributor
|
||||||
- [Lauszus](https://github.com/lauszus) : Active contributor
|
- [Lauszus](https://github.com/lauszus) : Active contributor
|
||||||
- [csBlueChip](https://github.com/csbluechip) : Active contributor, who contributed major and vital changes to the code base.
|
- [csBlueChip](https://github.com/csbluechip) : Active contributor, who contributed major and vital changes to the code base.
|
||||||
|
- [Sebazzz](https://github.com/sebazz): Contributor
|
||||||
|
- [lumbric](https://github.com/lumbric): Contributor
|
||||||
|
- [ElectricRCAircraftGuy](https://github.com/electricrcaircraftguy): Active 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.
|
||||||
|
|
||||||
|
|||||||
59
IRremote.cpp
59
IRremote.cpp
@@ -41,14 +41,19 @@
|
|||||||
//
|
//
|
||||||
int MATCH (int measured, int desired)
|
int MATCH (int measured, int desired)
|
||||||
{
|
{
|
||||||
DBG_PRINT("Testing: ");
|
DBG_PRINT(F("Testing: "));
|
||||||
DBG_PRINT(TICKS_LOW(desired), DEC);
|
DBG_PRINT(TICKS_LOW(desired), DEC);
|
||||||
DBG_PRINT(" <= ");
|
DBG_PRINT(F(" <= "));
|
||||||
DBG_PRINT(measured, DEC);
|
DBG_PRINT(measured, DEC);
|
||||||
DBG_PRINT(" <= ");
|
DBG_PRINT(F(" <= "));
|
||||||
DBG_PRINTLN(TICKS_HIGH(desired), DEC);
|
DBG_PRINT(TICKS_HIGH(desired), DEC);
|
||||||
|
|
||||||
return ((measured >= TICKS_LOW(desired)) && (measured <= TICKS_HIGH(desired)));
|
bool passed = ((measured >= TICKS_LOW(desired)) && (measured <= TICKS_HIGH(desired)));
|
||||||
|
if (passed)
|
||||||
|
DBG_PRINTLN(F("?; passed"));
|
||||||
|
else
|
||||||
|
DBG_PRINTLN(F("?; FAILED"));
|
||||||
|
return passed;
|
||||||
}
|
}
|
||||||
|
|
||||||
//+========================================================
|
//+========================================================
|
||||||
@@ -56,19 +61,25 @@ int MATCH (int measured, int desired)
|
|||||||
//
|
//
|
||||||
int MATCH_MARK (int measured_ticks, int desired_us)
|
int MATCH_MARK (int measured_ticks, int desired_us)
|
||||||
{
|
{
|
||||||
DBG_PRINT("Testing mark ");
|
DBG_PRINT(F("Testing mark (actual vs desired): "));
|
||||||
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
|
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
|
||||||
DBG_PRINT(" vs ");
|
DBG_PRINT(F("us vs "));
|
||||||
DBG_PRINT(desired_us, DEC);
|
DBG_PRINT(desired_us, DEC);
|
||||||
|
DBG_PRINT("us");
|
||||||
DBG_PRINT(": ");
|
DBG_PRINT(": ");
|
||||||
DBG_PRINT(TICKS_LOW(desired_us + MARK_EXCESS), DEC);
|
DBG_PRINT(TICKS_LOW(desired_us + MARK_EXCESS) * USECPERTICK, DEC);
|
||||||
DBG_PRINT(" <= ");
|
DBG_PRINT(F(" <= "));
|
||||||
DBG_PRINT(measured_ticks, DEC);
|
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
|
||||||
DBG_PRINT(" <= ");
|
DBG_PRINT(F(" <= "));
|
||||||
DBG_PRINTLN(TICKS_HIGH(desired_us + MARK_EXCESS), DEC);
|
DBG_PRINT(TICKS_HIGH(desired_us + MARK_EXCESS) * USECPERTICK, DEC);
|
||||||
|
|
||||||
return ((measured_ticks >= TICKS_LOW (desired_us + MARK_EXCESS))
|
bool passed = ((measured_ticks >= TICKS_LOW (desired_us + MARK_EXCESS))
|
||||||
&& (measured_ticks <= TICKS_HIGH(desired_us + MARK_EXCESS)));
|
&& (measured_ticks <= TICKS_HIGH(desired_us + MARK_EXCESS)));
|
||||||
|
if (passed)
|
||||||
|
DBG_PRINTLN(F("?; passed"));
|
||||||
|
else
|
||||||
|
DBG_PRINTLN(F("?; FAILED"));
|
||||||
|
return passed;
|
||||||
}
|
}
|
||||||
|
|
||||||
//+========================================================
|
//+========================================================
|
||||||
@@ -76,19 +87,25 @@ int MATCH_MARK (int measured_ticks, int desired_us)
|
|||||||
//
|
//
|
||||||
int MATCH_SPACE (int measured_ticks, int desired_us)
|
int MATCH_SPACE (int measured_ticks, int desired_us)
|
||||||
{
|
{
|
||||||
DBG_PRINT("Testing space ");
|
DBG_PRINT(F("Testing space (actual vs desired): "));
|
||||||
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
|
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
|
||||||
DBG_PRINT(" vs ");
|
DBG_PRINT(F("us vs "));
|
||||||
DBG_PRINT(desired_us, DEC);
|
DBG_PRINT(desired_us, DEC);
|
||||||
|
DBG_PRINT("us");
|
||||||
DBG_PRINT(": ");
|
DBG_PRINT(": ");
|
||||||
DBG_PRINT(TICKS_LOW(desired_us - MARK_EXCESS), DEC);
|
DBG_PRINT(TICKS_LOW(desired_us - MARK_EXCESS) * USECPERTICK, DEC);
|
||||||
DBG_PRINT(" <= ");
|
DBG_PRINT(F(" <= "));
|
||||||
DBG_PRINT(measured_ticks, DEC);
|
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
|
||||||
DBG_PRINT(" <= ");
|
DBG_PRINT(F(" <= "));
|
||||||
DBG_PRINTLN(TICKS_HIGH(desired_us - MARK_EXCESS), DEC);
|
DBG_PRINT(TICKS_HIGH(desired_us - MARK_EXCESS) * USECPERTICK, DEC);
|
||||||
|
|
||||||
return ((measured_ticks >= TICKS_LOW (desired_us - MARK_EXCESS))
|
bool passed = ((measured_ticks >= TICKS_LOW (desired_us - MARK_EXCESS))
|
||||||
&& (measured_ticks <= TICKS_HIGH(desired_us - MARK_EXCESS)));
|
&& (measured_ticks <= TICKS_HIGH(desired_us - MARK_EXCESS)));
|
||||||
|
if (passed)
|
||||||
|
DBG_PRINTLN(F("?; passed"));
|
||||||
|
else
|
||||||
|
DBG_PRINTLN(F("?; FAILED"));
|
||||||
|
return passed;
|
||||||
}
|
}
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ class IRsend
|
|||||||
void enableIROut (int khz) ;
|
void enableIROut (int khz) ;
|
||||||
void mark (unsigned int usec) ;
|
void mark (unsigned int usec) ;
|
||||||
void space (unsigned int usec) ;
|
void space (unsigned int usec) ;
|
||||||
void sendRaw (unsigned int buf[], unsigned int len, unsigned int hz) ;
|
void sendRaw (const unsigned int buf[], unsigned int len, unsigned int hz) ;
|
||||||
|
|
||||||
//......................................................................
|
//......................................................................
|
||||||
# if SEND_RC5
|
# if SEND_RC5
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# IRremote Arduino Library
|
# IRremote Arduino Library
|
||||||
|
|
||||||
[](https://travis-ci.org/z3t0/Arduino-IRremote)
|
[](https://travis-ci.org/z3t0/Arduino-IRremote)
|
||||||
|
|
||||||
[](https://gitter.im/z3t0/Arduino-IRremote?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/z3t0/Arduino-IRremote?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ This library enables you to send and receive using infra-red signals on an Ardui
|
|||||||
|
|
||||||
Check [here](http://z3t0.github.io/Arduino-IRremote/) for tutorials and more information.
|
Check [here](http://z3t0.github.io/Arduino-IRremote/) for tutorials and more information.
|
||||||
|
|
||||||
## Version - 2.01
|
## Version - 2.1.0
|
||||||
|
|
||||||
## 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.
|
||||||
|
|||||||
240
arduino-irremote.sublime-workspace
Normal file
240
arduino-irremote.sublime-workspace
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
{
|
||||||
|
"auto_complete":
|
||||||
|
{
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"vb",
|
||||||
|
"vboMatrix"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"buffers":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"build_system": "",
|
||||||
|
"build_system_choices":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"build_varint": "",
|
||||||
|
"command_palette":
|
||||||
|
{
|
||||||
|
"height": 275.0,
|
||||||
|
"last_filter": "blame",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"blame",
|
||||||
|
"Git: Blame"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"install",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"diff",
|
||||||
|
"Git: Diff Current File"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"js",
|
||||||
|
"Set Syntax: JavaScript"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"i",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"instal",
|
||||||
|
"Package Control: Install Package"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"width": 510.0
|
||||||
|
},
|
||||||
|
"console":
|
||||||
|
{
|
||||||
|
"height": 126.0,
|
||||||
|
"history":
|
||||||
|
[
|
||||||
|
"import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"distraction_free":
|
||||||
|
{
|
||||||
|
"menu_visible": true,
|
||||||
|
"show_minimap": false,
|
||||||
|
"show_open_files": false,
|
||||||
|
"show_tabs": false,
|
||||||
|
"side_bar_visible": false,
|
||||||
|
"status_bar_visible": false
|
||||||
|
},
|
||||||
|
"expanded_folders":
|
||||||
|
[
|
||||||
|
"/C/Users/Rafi Khan/Documents/Arduino/libraries/Arduino-IRremote"
|
||||||
|
],
|
||||||
|
"file_history":
|
||||||
|
[
|
||||||
|
"/C/Users/Rafi Khan/Documents/Arduino/libraries/Arduino-IRremote/changelog.md",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/Arduino-IRremote/arduino-irremote.sublime-project",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/Arduino-IRremote/.gitignore",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/README.md",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/shader.frag",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/package.json",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/block.js",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/chunker.js",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/index.js",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/blocks",
|
||||||
|
"/C/Users/Rafi Khan/AppData/Roaming/Sublime Text 3/Packages/User/Preferences.sublime-settings",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/shader.vert",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/magic.sublime-project",
|
||||||
|
"/C/Users/Rafi Khan/Documents/Development/magic/node_modules/browserify/node_modules/syntax-error/node_modules/acorn/.tern-project",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/supermarket.py",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/takingavacation.py",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/TipCalculator.py",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/battleship.py",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/exam.py",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/pyglatin.py",
|
||||||
|
"/C/Users/Rafi Khan/OneDrive/Documents/School-RafiKhan/Grade 11/CS30/Python/student.py"
|
||||||
|
],
|
||||||
|
"find":
|
||||||
|
{
|
||||||
|
"height": 28.0
|
||||||
|
},
|
||||||
|
"find_in_files":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"where_history":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"find_state":
|
||||||
|
{
|
||||||
|
"case_sensitive": false,
|
||||||
|
"find_history":
|
||||||
|
[
|
||||||
|
"i",
|
||||||
|
"Direction",
|
||||||
|
";",
|
||||||
|
";\n",
|
||||||
|
"north",
|
||||||
|
"cubeMatrix",
|
||||||
|
")\n",
|
||||||
|
"vec3.set",
|
||||||
|
"f",
|
||||||
|
";",
|
||||||
|
"();\n",
|
||||||
|
"render",
|
||||||
|
"this",
|
||||||
|
"y"
|
||||||
|
],
|
||||||
|
"highlight": true,
|
||||||
|
"in_selection": false,
|
||||||
|
"preserve_case": false,
|
||||||
|
"regex": false,
|
||||||
|
"replace_history":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"reverse": false,
|
||||||
|
"show_context": true,
|
||||||
|
"use_buffer2": true,
|
||||||
|
"whole_word": false,
|
||||||
|
"wrap": true
|
||||||
|
},
|
||||||
|
"groups":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"sheets":
|
||||||
|
[
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"incremental_find":
|
||||||
|
{
|
||||||
|
"height": 28.0
|
||||||
|
},
|
||||||
|
"input":
|
||||||
|
{
|
||||||
|
"height": 66.0
|
||||||
|
},
|
||||||
|
"layout":
|
||||||
|
{
|
||||||
|
"cells":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"cols":
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
|
"rows":
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"menu_visible": true,
|
||||||
|
"output.find_results":
|
||||||
|
{
|
||||||
|
"height": 0.0
|
||||||
|
},
|
||||||
|
"pinned_build_system": "",
|
||||||
|
"project": "arduino-irremote.sublime-project",
|
||||||
|
"replace":
|
||||||
|
{
|
||||||
|
"height": 52.0
|
||||||
|
},
|
||||||
|
"save_all_on_build": true,
|
||||||
|
"select_file":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"json",
|
||||||
|
"package.json"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"inde",
|
||||||
|
"index.js"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"width": 0.0
|
||||||
|
},
|
||||||
|
"select_project":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"width": 0.0
|
||||||
|
},
|
||||||
|
"select_symbol":
|
||||||
|
{
|
||||||
|
"height": 0.0,
|
||||||
|
"last_filter": "",
|
||||||
|
"selected_items":
|
||||||
|
[
|
||||||
|
],
|
||||||
|
"width": 0.0
|
||||||
|
},
|
||||||
|
"selected_group": 0,
|
||||||
|
"settings":
|
||||||
|
{
|
||||||
|
},
|
||||||
|
"show_minimap": true,
|
||||||
|
"show_open_files": false,
|
||||||
|
"show_tabs": true,
|
||||||
|
"side_bar_visible": true,
|
||||||
|
"side_bar_width": 150.0,
|
||||||
|
"status_bar_visible": true,
|
||||||
|
"template_settings":
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
14
changelog.md
14
changelog.md
@@ -1,3 +1,17 @@
|
|||||||
|
## 2.1.0 - 2016/02/20
|
||||||
|
- Improved Debugging [PR #258](https://github.com/z3t0/Arduino-IRremote/pull/258)
|
||||||
|
- Display TIME instead of TICKS [PR #258](https://github.com/z3t0/Arduino-IRremote/pull/258)
|
||||||
|
|
||||||
|
## 2.0.4 - 2016/02/20
|
||||||
|
- Add Panasonic and JVC to IRrecord example [PR](https://github.com/z3t0/Arduino-IRremote/pull/54)
|
||||||
|
|
||||||
|
## 2.0.3 - 2016/02/20
|
||||||
|
- Change IRSend Raw parameter to const [PR](https://github.com/z3t0/Arduino-IRremote/pull/227)
|
||||||
|
|
||||||
|
## 2.0.2 - 2015/12/02
|
||||||
|
- Added IRremoteInfo Sketch - [PR](https://github.com/z3t0/Arduino-IRremote/pull/241)
|
||||||
|
- Enforcing changelog.md
|
||||||
|
|
||||||
## 2.0.1 - 2015/07/26 - [Release](https://github.com/shirriff/Arduino-IRremote/releases/tag/BETA)
|
## 2.0.1 - 2015/07/26 - [Release](https://github.com/shirriff/Arduino-IRremote/releases/tag/BETA)
|
||||||
### Changes
|
### Changes
|
||||||
- Updated README
|
- Updated README
|
||||||
|
|||||||
@@ -80,6 +80,12 @@ void storeCode(decode_results *results) {
|
|||||||
else if (codeType == SONY) {
|
else if (codeType == SONY) {
|
||||||
Serial.print("Received SONY: ");
|
Serial.print("Received SONY: ");
|
||||||
}
|
}
|
||||||
|
else if (codeType == PANASONIC) {
|
||||||
|
Serial.print("Received PANASONIC: ");
|
||||||
|
}
|
||||||
|
else if (codeType == JVC) {
|
||||||
|
Serial.print("Received JVC: ");
|
||||||
|
}
|
||||||
else if (codeType == RC5) {
|
else if (codeType == RC5) {
|
||||||
Serial.print("Received RC5: ");
|
Serial.print("Received RC5: ");
|
||||||
}
|
}
|
||||||
@@ -114,6 +120,16 @@ void sendCode(int repeat) {
|
|||||||
Serial.print("Sent Sony ");
|
Serial.print("Sent Sony ");
|
||||||
Serial.println(codeValue, HEX);
|
Serial.println(codeValue, HEX);
|
||||||
}
|
}
|
||||||
|
else if (codeType == PANASONIC) {
|
||||||
|
irsend.sendPanasonic(codeValue, codeLen);
|
||||||
|
Serial.print("Sent Panasonic");
|
||||||
|
Serial.println(codeValue, HEX);
|
||||||
|
}
|
||||||
|
else if (codeType == JVC) {
|
||||||
|
irsend.sendPanasonic(codeValue, codeLen);
|
||||||
|
Serial.print("Sent JVC");
|
||||||
|
Serial.println(codeValue, HEX);
|
||||||
|
}
|
||||||
else if (codeType == RC5 || codeType == RC6) {
|
else if (codeType == RC5 || codeType == RC6) {
|
||||||
if (!repeat) {
|
if (!repeat) {
|
||||||
// Flip the toggle bit for a new button press
|
// Flip the toggle bit for a new button press
|
||||||
|
|||||||
210
examples/IRremoteInfo/IRremoteInfo.ino
Normal file
210
examples/IRremoteInfo/IRremoteInfo.ino
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
/*
|
||||||
|
* IRremote: IRremoteInfo - prints relevant config info & settings for IRremote over serial
|
||||||
|
* Intended to help identify & troubleshoot the various settings of IRremote
|
||||||
|
* For example, sometimes users are unsure of which pin is used for Tx or the RAWBUF values
|
||||||
|
* This example can be used to assist the user directly or with support.
|
||||||
|
* Intended to help identify & troubleshoot the various settings of IRremote
|
||||||
|
* Hopefully this utility will be a useful tool for support & troubleshooting for IRremote
|
||||||
|
* Check out the blog post describing the sketch via http://www.analysir.com/blog/2015/11/28/helper-utility-for-troubleshooting-irremote/
|
||||||
|
* Version 1.0 November 2015
|
||||||
|
* Original Author: AnalysIR - IR software & modules for Makers & Pros, visit http://www.AnalysIR.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <IRremote.h>
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(115200); //You may alter the BAUD rate here as needed
|
||||||
|
while (!Serial); //wait until Serial is established - required on some Platforms
|
||||||
|
|
||||||
|
//Runs only once per restart of the Arduino.
|
||||||
|
dumpHeader();
|
||||||
|
dumpRAWBUF();
|
||||||
|
dumpTIMER();
|
||||||
|
dumpTimerPin();
|
||||||
|
dumpClock();
|
||||||
|
dumpPlatform();
|
||||||
|
dumpPulseParams();
|
||||||
|
dumpSignalParams();
|
||||||
|
dumpArduinoIDE();
|
||||||
|
dumpDebugMode();
|
||||||
|
dumpProtocols();
|
||||||
|
dumpFooter();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
//nothing to do!
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpRAWBUF() {
|
||||||
|
Serial.print(F("RAWBUF: "));
|
||||||
|
Serial.println(RAWBUF);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpTIMER() {
|
||||||
|
boolean flag = false;
|
||||||
|
#ifdef IR_USE_TIMER1
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer1")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER2
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer2")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER3
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer3")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER4
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer4")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER5
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer5")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER4_HS
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer4_HS")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER_CMT
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer_CMT")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER_TPM1
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer_TPM1")); flag = true;
|
||||||
|
#endif
|
||||||
|
#ifdef IR_USE_TIMER_TINY0
|
||||||
|
Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer_TINY0")); flag = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!flag) {
|
||||||
|
Serial.print(F("Timer Error: ")); Serial.println(F("not defined"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpTimerPin() {
|
||||||
|
Serial.print(F("IR Tx Pin: "));
|
||||||
|
Serial.println(TIMER_PWM_PIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpClock() {
|
||||||
|
Serial.print(F("MCU Clock: "));
|
||||||
|
Serial.println(F_CPU);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpPlatform() {
|
||||||
|
Serial.print(F("MCU Platform: "));
|
||||||
|
|
||||||
|
#if defined(__AVR_ATmega1280__)
|
||||||
|
Serial.println(F("Arduino Mega1280"));
|
||||||
|
#elif defined(__AVR_ATmega2560__)
|
||||||
|
Serial.println(F("Arduino Mega2560"));
|
||||||
|
#elif defined(__AVR_AT90USB162__)
|
||||||
|
Serial.println(F("Teensy 1.0 / AT90USB162"));
|
||||||
|
// Teensy 2.0
|
||||||
|
#elif defined(__AVR_ATmega32U4__)
|
||||||
|
Serial.println(F("Arduino Leonardo / Yun / Teensy 1.0 / ATmega32U4"));
|
||||||
|
#elif defined(__MK20DX128__) || defined(__MK20DX256__)
|
||||||
|
Serial.println(F("Teensy 3.0 / Teensy 3.1 / MK20DX128 / MK20DX256"));
|
||||||
|
#elif defined(__MKL26Z64__)
|
||||||
|
Serial.println(F("Teensy-LC / MKL26Z64"));
|
||||||
|
#elif defined(__AVR_AT90USB646__)
|
||||||
|
Serial.println(F("Teensy++ 1.0 / AT90USB646"));
|
||||||
|
#elif defined(__AVR_AT90USB1286__)
|
||||||
|
Serial.println(F("Teensy++ 2.0 / AT90USB1286"));
|
||||||
|
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
|
||||||
|
Serial.println(F("Sanguino / ATmega644(P)"));
|
||||||
|
#elif defined(__AVR_ATmega8P__) || defined(__AVR_ATmega8__)
|
||||||
|
Serial.println(F("Atmega8 / ATmega8(P)"));
|
||||||
|
#elif defined(__AVR_ATtiny84__)
|
||||||
|
Serial.println(F("ATtiny84"));
|
||||||
|
#elif defined(__AVR_ATtiny85__)
|
||||||
|
Serial.println(F("ATtiny85"));
|
||||||
|
#else
|
||||||
|
Serial.println(F("ATmega328(P) / (Duemilanove, Diecimila, LilyPad, Mini, Micro, Fio, Nano, etc)"));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpPulseParams() {
|
||||||
|
Serial.print(F("Mark Excess: ")); Serial.print(MARK_EXCESS);; Serial.println(F(" uSecs"));
|
||||||
|
Serial.print(F("Microseconds per tick: ")); Serial.print(USECPERTICK);; Serial.println(F(" uSecs"));
|
||||||
|
Serial.print(F("Measurement tolerance: ")); Serial.print(TOLERANCE); Serial.println(F("%"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpSignalParams() {
|
||||||
|
Serial.print(F("Minimum Gap between IR Signals: ")); Serial.print(_GAP); Serial.println(F(" uSecs"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpDebugMode() {
|
||||||
|
Serial.print(F("Debug Mode: "));
|
||||||
|
#if DEBUG
|
||||||
|
Serial.println(F("ON"));
|
||||||
|
#else
|
||||||
|
Serial.println(F("OFF (Normal)"));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpArduinoIDE() {
|
||||||
|
Serial.print(F("Arduino IDE version: "));
|
||||||
|
Serial.print(ARDUINO / 10000);
|
||||||
|
Serial.write('.');
|
||||||
|
Serial.print((ARDUINO % 10000) / 100);
|
||||||
|
Serial.write('.');
|
||||||
|
Serial.println(ARDUINO % 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpProtocols() {
|
||||||
|
|
||||||
|
Serial.println(); Serial.print(F("IR PROTOCOLS ")); Serial.print(F("SEND ")); Serial.println(F("DECODE"));
|
||||||
|
Serial.print(F("============= ")); Serial.print(F("======== ")); Serial.println(F("========"));
|
||||||
|
Serial.print(F("RC5: ")); printSendEnabled(SEND_RC5); printDecodeEnabled(DECODE_RC6);
|
||||||
|
Serial.print(F("RC6: ")); printSendEnabled(SEND_RC6); printDecodeEnabled(DECODE_RC5);
|
||||||
|
Serial.print(F("NEC: ")); printSendEnabled(SEND_NEC); printDecodeEnabled(DECODE_NEC);
|
||||||
|
Serial.print(F("SONY: ")); printSendEnabled(SEND_SONY); printDecodeEnabled(DECODE_SONY);
|
||||||
|
Serial.print(F("PANASONIC: ")); printSendEnabled(SEND_PANASONIC); printDecodeEnabled(DECODE_PANASONIC);
|
||||||
|
Serial.print(F("JVC: ")); printSendEnabled(SEND_JVC); printDecodeEnabled(DECODE_JVC);
|
||||||
|
Serial.print(F("SAMSUNG: ")); printSendEnabled(SEND_SAMSUNG); printDecodeEnabled(DECODE_SAMSUNG);
|
||||||
|
Serial.print(F("WHYNTER: ")); printSendEnabled(SEND_WHYNTER); printDecodeEnabled(DECODE_WHYNTER);
|
||||||
|
Serial.print(F("AIWA_RC_T501: ")); printSendEnabled(SEND_AIWA_RC_T501); printDecodeEnabled(DECODE_AIWA_RC_T501);
|
||||||
|
Serial.print(F("LG: ")); printSendEnabled(SEND_LG); printDecodeEnabled(DECODE_LG);
|
||||||
|
Serial.print(F("SANYO: ")); printSendEnabled(SEND_SANYO); printDecodeEnabled(DECODE_SANYO);
|
||||||
|
Serial.print(F("MITSUBISHI: ")); printSendEnabled(SEND_MITSUBISHI); printDecodeEnabled(DECODE_MITSUBISHI);
|
||||||
|
Serial.print(F("DISH: ")); printSendEnabled(SEND_DISH); printDecodeEnabled(DECODE_DISH);
|
||||||
|
Serial.print(F("SHARP: ")); printSendEnabled(SEND_SHARP); printDecodeEnabled(DECODE_SHARP);
|
||||||
|
Serial.print(F("DENON: ")); printSendEnabled(SEND_DENON); printDecodeEnabled(DECODE_DENON);
|
||||||
|
Serial.print(F("PRONTO: ")); printSendEnabled(SEND_PRONTO); Serial.println(F("(Not Applicable)"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void printSendEnabled(int flag) {
|
||||||
|
if (flag) {
|
||||||
|
Serial.print(F("Enabled "));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Serial.print(F("Disabled "));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void printDecodeEnabled(int flag) {
|
||||||
|
if (flag) {
|
||||||
|
Serial.println(F("Enabled"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Serial.println(F("Disabled"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpHeader() {
|
||||||
|
Serial.println(F("IRremoteInfo - by AnalysIR (http://www.AnalysIR.com/)"));
|
||||||
|
Serial.println(F(" - A helper sketch to assist in troubleshooting issues with the library by reviewing the settings within the IRremote library"));
|
||||||
|
Serial.println(F(" - Prints out the important settings within the library, which can be configured to suit the many supported platforms"));
|
||||||
|
Serial.println(F(" - When seeking on-line support, please post or upload the output of this sketch, where appropriate"));
|
||||||
|
Serial.println();
|
||||||
|
Serial.println(F("IRremote Library Settings"));
|
||||||
|
Serial.println(F("========================="));
|
||||||
|
}
|
||||||
|
|
||||||
|
void dumpFooter() {
|
||||||
|
Serial.println();
|
||||||
|
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(" - IRremteInt.h"));
|
||||||
|
Serial.println(F(" - IRremote.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"));
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
#include "IRremoteInt.h"
|
#include "IRremoteInt.h"
|
||||||
|
|
||||||
//+=============================================================================
|
//+=============================================================================
|
||||||
void IRsend::sendRaw (unsigned int buf[], unsigned int len, unsigned int hz)
|
void IRsend::sendRaw (const unsigned int buf[], unsigned int len, unsigned int hz)
|
||||||
{
|
{
|
||||||
// Set IR carrier frequency
|
// Set IR carrier frequency
|
||||||
enableIROut(hz);
|
enableIROut(hz);
|
||||||
|
|||||||
Reference in New Issue
Block a user