14 Commits

Author SHA1 Message Date
David Conran
705c8c4ace Add tool to convert protocol & code to raw timing info. (#1708)
* Add tool to convert protocol & code to raw timing info.

Usage: tools/code_to_raw --protocol PROTOCOL_NAME --code <hexidecimal> [--bits 1-424] [--timinginfo]

e.g.
```
# Convert an A/C code to rawData[] & Timinginfo
tool/code_to_raw --protocol KELVINATOR --code 0x190B8050000000E0190B8070000010F0 --timinginfo

# Convert a Samsung TV code to rawData[].
tools/code_to_raw --protocol SAMSUNG --code 0xE0E09966
# Convert a Sony 12 bit message to rawData[].
tools/code_to_raw --protocol Sony --code 0xf50 --bits 12
```

* Add some tests for `code_to_raw`.
* Update tools Makefile to be more dynamic

For #1707
For #1703

Co-authored-by: Christian Nilsson <nikize@gmail.com>
2021-12-23 21:06:56 +10:00
Nikolaj Nøhr-Rasmussen
0f2ff1455a MITSUBISHI_AC: Added support for i-SAVE mode. (#1666)
* Added support for reading i-SAVE mode from a remote for Mitsubishi MSZ-FHnnVE A/C
* Added mode modes which is supported by MZS-FH series. (unknown if existing in other series):
  - I-See mode
  - Absense Detect mode
  - Ecocool mode
  - Natural Flow mode
2021-11-30 17:56:16 +10:00
tomrosenback
1d0b004fe9 Change googletest library ignore (#1626)
Co-authored-by: Tom Rosenback <tom@carputec.com>
2021-10-04 21:12:41 +10:00
David
301688372c Git: Ignore .DS_Store files 2019-07-24 23:55:06 +10:00
sillyfrog
711901c587 Scrape Supported Protocols and generate SupportedProtocols.md (#755)
* Tool to build the document.
* Add reference to new doc.
* Other
  - Move existing python unit tests to Python3
  - Use Python3's pylint
  - Fix pylint issues found after move.
  - Convince CI/Travis to install/use convince Python3 stuff.

Fixes #743
2019-06-15 18:32:05 +10:00
David Conran
acb3ba1ca1 Ignore .pio folders
PlatformIO seems to have changed directory structure. Ignore the new directory tree.
2019-05-31 03:49:32 +10:00
David Conran
b24567de34 Add missing '}' in output of Auto analyse. (#562)
* Add missing '}' in output code.
* Exclude the `mode2_decode` binary from git.
2018-10-24 08:20:45 -04:00
David Conran
6ed8a30315 v2.5.0 Release (#524)
## _v2.5.0 (20180919)_

**[Bug Fixes]**
- Fix HTML menu error for GICABLE in IRMQTTServer. (#516)
- Fix Mitsubishi A/C mode setting. (#514)
- Add missing ',' in auto analyse tool generated code. (#513)
- Fix Fujitsu checksum validation. (#501)
- Remove errant Repeat debug statement in IRMQTTServer. (#507)

**[Features]**
- Mitsubishi A/C decode improvements. (#514)
- Basic support for Whirlpool A/C messages. (#511)
- Basic support for Samsung A/C messages. (#512)
- Experimental support for detailed Samsung A/C messages. (#521)
- Experimental support for detailed Coolix A/C messages. (#518)
- Experimental support for Lutron protocol. (#516)
- Calculate and use average values for timings in analysing tool. (#513)

**[Misc]**
- Style change from using `#define`s for constants to `const kConstantName`.
- Improve the JVC example code.
2018-09-20 02:08:31 -07:00
David Conran
531dc66033 Convert AutoAnalyseRawData script to Python (#454)
* Port AutoAnalyseRawData script to Python.
* Rename python analysis script to snake_case format.
* Add options to read the data from stdin or from a file.
* Remove old analyse script.
* Improve auto_analyse_raw_data and add lint/unit tests.
* Make analyse script code unittest-able.
* Improve raw data parsing for analyse script.
* Add some unit tests for analyse script.
* Update Makefile(s) to use 'run_tests' to run their tests.
* Add python unit & lint tests into Travis
2018-05-18 13:28:01 +10:00
David Conran
5535da92d3 Gc decode improvements (#312)
* Add tools build files & binaries to .gitignore

* Allow dumping the raw code in gc_decode.
- Fix up dumpRawResult formatting and results.
- Clean up gc_decode output
- Add a -raw flag to gc_decode.
- Dump raw output if gc_decode can't find a standard decoder.
2017-10-04 19:27:17 +10:00
David Conran
21057dbf64 Add printing output of RC-MM and RC-5X protocols. (#284)
Print out the protocol types for RC-MM and RC-5X to the examples.

Add make option to install googletest
2017-07-25 14:00:05 +10:00
David Conran
37e6a146c6 Fix decoding issue on most protocols. (#244)
- Fixes Issue #243
- [bugfix] Incorrect assumption on minimum entry length when decoding. Off by one.
- [bugfix] Make matching the trailing gap/space on commands optional if we run out of buffer.
- Fix a wayward Serial.println() debug statement that got missed.
- Add unit tests to add coverage for the bug found.
- Bump version to v2.0.1
2017-06-14 17:42:26 +10:00
David Conran
4c48338e22 Unit Testing initial check-in. (#205)
* Initial check-in of Unit Testing for IRremoteESP8266.

TL;DR:  \o/ for finally having (some) Unit Testing.
- Add googletest as a submodule.
- Create unit tests for IRutils as a first step.
- Create a Makefile under test/ which builds and uses the test framework.
- De-Arduino-ise some of the code with #ifndef UNIT_TEST guards to allow it
  to compile and run outside of the Arduino Framework.

Note:
  The Unit Tests are designed to run on a unix box. Not on the ESP8266.
  This should allow them to be run under Travis. We can do this fairly safely
  in v2.0 of the library, as everything now uses c98-style type definitions.
  e.g. uint16_t etc.
  Any Arduino/ESP8266 specific code needs to be neutered using #ifndef UNIT_TEST
  lines.

* Update travis to build and run the unit tests.

* Unit tests for IRsend's sendData()
- Modify files to handle unit tests when compiled on non-arduino frameworks.
- Add unit tests to cover sendData()
- Fix an issue with sendData() when sending zero bit lengths.
- Update .gitignore for some generated content we don't want checked in.

* Add unit tests for sending NEC protocol.
- Unit tests for sendNEC() & encodeNEC()
- Make the unit test infrastructre for IRsend availble for other unit tests.
- Fix an issue with encodeNEC() which didn't count for address and command
  being in LSB order in the protocol spec.
- Other changes to make the library more portable when not compiled against
  the Arduino framework.

* Add Unit tests for decodeNEC().
- Add unit tests that cover most of decodeNEC().
- [Bug] Address and Command values needed to be reversed. LSB order etc.
- Change the way non-standard NEC messages handle address and command decoding.
- Add support methods for converting sendBlah() output into a decode_result.
- Include <stdint.h> modifier for Travis compilation.
- Update Travis for new unit tests to run.

* Update README.md with Unit Test info
2017-05-13 09:24:24 +10:00
David Conran
03dc89bc2d Create a .gitignore file to exclude useless files. (#184) 2017-04-27 21:30:48 +10:00