Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed 2.1.1 Update #268

Open
wants to merge 29 commits into
base: master
from
Open

Conversation

@adamlhumphreys
Copy link

adamlhumphreys commented Feb 10, 2016

Greetings @z3t0,
It sure took me long enough, eh?

I think I have the macros fully restored now. Initially, I had placed them back in IRremoteInt.h, but when I tried to compile in DEBUG mode, it complained about the lines where the function prototypes are located. Removing the macros in IRremoteInt.h enabled it to compile, so then I placed the macros in the IRremoteInt.cpp under the DEBUG functions, but then trying to compile without debug, it complained when it saw MATCH et al. not being defined in ir_Aiwa.cpp, the first file in alphabetical order, because it wasn’t defined until IRremoteInt.cpp. Moving the macros right under the DEBUG function prototypes in IrremoteInt.h seems to do the trick for both compile modes! :D

For reference I’m currently using Arduino 1.0.1 with WinAVR-20100110 with a Teensy 2.0, (will be using decodes on Arduino NANOs though). Here’s my edits in a nutshell:

2.1.1 - 2016/02/21

Changes

  • Updated IRrecvDumpV2.ino to include gap reading to determine send repeat timing
  • Fixed false positive REPEAT in Sony and Sanyo protocols due to code errors
  • Restored macros for MATCH, MATCH_MARK, and MATCH_SPACE for efficiency
  • Updated protocols with separate “offset++;” in place of “[offset++]” to function with macros
  • Optimized by reducing floating point operations as suggested by @madmalkav (#193)
  • Optimized with macros when using default USECPERTICK and TOLERANCE
  • Made decodeHash as a settable protocol defined by DECODE_HASH
  • Fixed some minor typos

Additions

  • Added Jensen Protocol [@adamlhumphreys]
  • Added Heater Protocol [@adamlhumphreys]
  • Added “SHUZU_” prefix to macro variables in ir_Template.cpp to maintain distinction and standardization
  • Added notice to use “offset++;” in place of “[offset++]” in ir_Template.cpp for macros
  • Added missing semicolon found by @mattman00000 (#271)
Added decode for Jensen and Heater.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Removed extra newline.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Removed extra newline.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Removed extra newline.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Removed extra newline.
Change to support macros for efficiency of MATCH_MARK and MATCH_SPACE.
Removed extra newline.
- Added “SHUZU_” prefix to macro variables to maintain distinction and standardization
- Added notice to use “offset++;” in place of “[offset++]” for macros
Macros restored! :D
So far dual debug seems to work fine. I'm currently using Arduino 1.0.1 with WinAVR-20100110 on Windows.
- Fixed false positive REPEAT in Sony due to code error
Removed extra newline.
- Fixed false positive REPEAT in Sanyo due to code error
Also fixed up debug code.
Macros restored! :D So far dual debug seems to work fine. I'm currently using Arduino 1.0.1 with WinAVR-20100110 on Windows.
Added Jensen and Heater protocols.
Jensen Protocol Added!
Heater Protocol Added!
- Updated IRrecvDumpV2.ino to include gap reading to determine send repeat timing
- Added Jensen and Heater protocols
- Indicated HEX value
@z3t0

This comment has been minimized.

Copy link
Owner

z3t0 commented Feb 12, 2016

Awesome, looks like you were busy! I will get to it as soon as possible.

Thanks again for the contribution, it really does make a difference!

Thanks,
Rafi Khan

On Wed, Feb 10, 2016 at 2:41 AM, Adam L. Humphreys <notifications@github.com

wrote:

Greetings @z3t0 https://github.com/z3t0,
It sure took me long enough, eh?

I think I have the macros fully restored now. Initially, I had placed them
back in IRremoteInt.h, but when I tried to compile in DEBUG mode, it
complained about the lines where the function prototypes are located.
Removing the macros in IRremoteInt.h enabled it to compile, so then I
placed the macros in the IRremoteInt.cpp under the DEBUG functions, but
then trying to compile without debug, it complained when it saw MATCH et
al. not being defined in ir_Aiwa.cpp, the first file in alphabetical order,
because it wasn’t defined until IRremoteInt.cpp. Moving the macros right
under the DEBUG function prototypes in IrremoteInt.h seems to do the trick
for both compile modes! :D

For reference I’m currently using Arduino 1.0.1 with WinAVR-20100110 with
a Teensy 2.0, (will be using decodes on Arduino NANOs though). Here’s my
edits in a nutshell:
2.0.3 - 2016/02/10 Changes

  • Updated IRrecvDumpV2.ino to include gap reading to determine send
    repeat timing
  • Fixed false positive REPEAT in Sony and Sanyo protocols due to code
    errors
  • Restored macros for MATCH, MATCH_MARK, and MATCH_SPACE for efficiency
  • Updated protocols with separate “offset++;” in place of “[offset++]”
    to function with macros
  • Fixed some minor typos

Additions

  • Added Jensen Protocol
  • Added Heater Protocol
  • Added “SHUZU_” prefix to macro variables in ir_Template.cpp to
    maintain distinction and standardization
  • Added notice to use “offset++;” in place of “[offset++]” in
    ir_Template.cpp for macros

You can view, comment on, or merge this pull request online at:

#268
Commit Summary

  • Update irRecv.cpp
  • Update ir_Aiwa.cpp
  • Update ir_Denon.cpp
  • Update ir_JVC.cpp
  • Update ir_LG.cpp
  • Update ir_Panasonic.cpp
  • Update ir_RC5_RC6.cpp
  • Update ir_Samsung.cpp
  • Update ir_Whynter.cpp
  • Update ir_Template.cpp
  • Update IRremote.cpp
  • Update ir_Sony.cpp
  • Update ir_Sanyo.cpp
  • Update IRremote.h
  • Create ir_Jensen.cpp
  • Create ir_Heater.cpp
  • Updated IRrecvDumpV2.ino to include gap reading
  • Update changelog.md

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#268.

@adamlhumphreys

This comment has been minimized.

Copy link
Author

adamlhumphreys commented Feb 13, 2016

I did what I could. :) I'll also be taking a look at @madmalkav's optimizations and probably incorporate them into my current branch when I get the chance, (but I could do that after a pull too, either way). I think I can get rid of the additional division as well. Much appreciated!

No probs! I've been having fun with this library. I have a feeling I might just get lazy when it comes to using separate hardware buttons in prototyping!

-ALH

- Implemented DECODE_HASH
- Removed floating point operations from IRrecv::compare
- Removed floating point operations
- Optimized by reducing floating point operations as suggested by @madmalkav (#193)
- Optimized with macros when using default USECPERTICK and TOLERANCE
- Added missing semicolon found by @mattman00000 (#271)
@z3t0 z3t0 mentioned this pull request Feb 17, 2016
@z3t0

This comment has been minimized.

Copy link
Owner

z3t0 commented Feb 17, 2016

note to self;
TODO: add #271 to contributors list

@z3t0 z3t0 self-assigned this Feb 17, 2016
Trying to update the update.
Changing version number
@adamlhumphreys adamlhumphreys changed the title Proposed 2.0.3 Update Proposed 2.1.1 Update Feb 22, 2016
@z3t0

This comment has been minimized.

Copy link
Owner

z3t0 commented Mar 23, 2016

@adamlhumphreys Would it be possible for you to rebase this on the master as I am keen on merging this in? Otherwise I can do it just that it may take a while for me to get to it...

@z3t0 z3t0 added the Awaiting Merge label Mar 23, 2016
Updating the update with the latest master change.
@adamlhumphreys

This comment has been minimized.

Copy link
Author

adamlhumphreys commented Mar 24, 2016

If you mean update my update with the current master 2.1.0 version, I did that Feb. 21, (locally as well), hence the new pull request name of 2.1.1. But I did notice you changed the library.json file, so I just now updated that. (Had to figure out GitHub again, at least I was much quicker this time. ^^) So it should all be good to go! 🎉

I've also developed a Fast Decode based on binary masks that can, (with less rigorous checking and tweak-ability), take the place of NEC, Sony, Jensen, and whatever else uses a typical IR protocol, (even some previously unrecognized codes from an old universal remote we had programmed for something). But if the marks, (or spaces in Sony's case, but thankfully I didn't need a special check for that), aren't present as expected, it returns false. I plan to experiment with it a little more, and maybe add some better optional header recognition, (which is tricky without distinct headers or variable lengths). But for my purposes I just ignore the header and get a consistent code rather than a hash. :)

@adamlhumphreys

This comment has been minimized.

Copy link
Author

adamlhumphreys commented Mar 25, 2016

@z3t0 Everything should be good to go. :)

@z3t0

This comment has been minimized.

Copy link
Owner

z3t0 commented May 21, 2016

Sorry for the delay. Thanks again for all the hard work

@z3t0

This comment has been minimized.

Copy link
Owner

z3t0 commented May 21, 2016

If possible please rebase it so I can merge

@adamlhumphreys

This comment has been minimized.

Copy link
Author

adamlhumphreys commented May 22, 2016

That's been done, (a couple of months ago actually). Does it need to be done again or is everything good?

@z3t0

This comment has been minimized.

Copy link
Owner

z3t0 commented Jun 26, 2016

It seems like theres some sort of conflict as I can't merge it directly. I will take a look in a few days and see if its anything problematic.

@adamlhumphreys

This comment has been minimized.

Copy link
Author

adamlhumphreys commented Jun 28, 2016

Huh. The only conflict it tells me on this thread is "Only those with write access to this repository can merge pull requests," of course that goes without saying. I guess GitHub isn't quite as streamlined as we'd like for it to be. ^^ Thank you for your efforts! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.