Add tool to convert protocol & code to raw timing info. - #1708
Conversation
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 ``` For #1707 For #1703
PtilopsisLeucotis
left a comment
There was a problem hiding this comment.
Nice tool and great work!
NiKiZe
left a comment
There was a problem hiding this comment.
Maybe we can have a minimal test for the tool as well?
| %_decode : $(COMMON_OBJ) %_decode.o | ||
| $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ | ||
|
|
||
| code_to_raw : $(COMMON_OBJ) code_to_raw.o | ||
| $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ | ||
|
|
There was a problem hiding this comment.
Maybe move down _decode and change to % to cover both cases
There was a problem hiding this comment.
I'm not sure I can easily do that with Make's wildcards. If you know how, I'm all ears.
There was a problem hiding this comment.
It wasn't that easy, but I think I got a working solution, pushed commit 8bb8c6e to PR branch
There was a problem hiding this comment.
Many thanks. Looks good to me.
Yep. I've added some end-to-end tests. |
|
Didn't find any good way to share Makefile changes, so pushed to the PR, hopefully @crankyoldgit don't get to mad on me for doing that. Please review, maybe it is some magic in the Makefile now that breaks somewhere, but seems to be standard stuff. |
Haha. No need to hope. Why on earth would I be mad about that?!? :-) |
😁 Just wanted to convey that I avoid to change PRs and know that it can be a touch subject for some. ;) |
_v2.8.1 (20220101)_ **[Bug Fixes]** - Arduino ESP32 Core v2.0.2+ crashes due to our timer hack. (#1715 #1715) - SONY: Fix old Sony CD-Player Remote (12 Bit) (#1714) **[Features]** - Add tool to convert protocol & code to raw timing info. (#1708 #1707 #1703) - Add basic support for COOLIX48 protocol. (#1697 #1694) - MITSUBISHI_AC: Added support for i-SAVE mode. (#1666) - TOSHIBA_AC: Add Filter setting support. aka. Pure. (#1693 #1692) - Airton: Add detailed A/C support. (#1688 #1670) **[Misc]** - Add a structured library version number. (#1717) - Workflows Split UnitTests (#1712) - Reduce time for workflow/Build (#1709) - Fix some compiler & linter warnings (#1699 #1700) - Fujitsu: Update supported A/C models (#1690 #1689 #1702 #1701) - Remove extra `const` qualifier for char pointer (#1704) - TCL: Update supported devices. (#1698) - ESP32-C3: Work around for some C3 specific compiler issues. (#1696 #1695)
## _v2.8.1 (20220101)_ **[Bug Fixes]** - Arduino ESP32 Core v2.0.2+ crashes due to our timer hack. (#1715 #1713 ) - SONY: Fix old Sony CD-Player Remote (12 Bit) (#1714) **[Features]** - Add tool to convert protocol & code to raw timing info. (#1708 #1707 #1703) - Add basic support for COOLIX48 protocol. (#1697 #1694) - MITSUBISHI_AC: Added support for i-SAVE mode. (#1666) - TOSHIBA_AC: Add Filter setting support. aka. Pure. (#1693 #1692) - Airton: Add detailed A/C support. (#1688 #1670) **[Misc]** - Add a structured library version number. (#1717) - Workflows Split UnitTests (#1712) - Reduce time for workflow/Build (#1709) - Fix some compiler & linter warnings (#1699 #1700) - Fujitsu: Update supported A/C models (#1690 #1689 #1702 #1701) - Remove extra `const` qualifier for char pointer (#1704) - TCL: Update supported devices. (#1698) - ESP32-C3: Work around for some C3 specific compiler issues. (#1696 #1695)
Usage:
code_to_raw --protocol PROTOCOL_NAME --code <hexidecimal> [--bits 1-424] [--timinginfo]e.g.
For #1707
For #1703