-
Notifications
You must be signed in to change notification settings - Fork 836
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
sendJVC() freezes on sending Power command (0xC5E8) #400
Comments
Since `sendJVC()` was updated to use `sendGeneric()` it has produced a double minimum gap at the end of each message, instead of a single one. This wasn't picked up by our unit-testing. This tickled a situation where an integer underflow happened when calculating the required `space()` length, which would cause a delay of approx 1h20m. Refactored code to eliminate this problem, and a potential similar case in `sendWhynter()` too. This is a derivative of the bug/issue #381 This instance was reported in #400, which this patch should fix.
Thanks for the detailed report. Yep, that's a bug alright. Sorry it affected you. |
Since `sendJVC()` was updated to use `sendGeneric()` it has produced a double minimum gap at the end of each message, instead of a single one. This wasn't picked up by our unit-testing. This tickled a situation where an integer underflow happened when calculating the required `space()` length, which would cause a delay of approx 1h20m. Refactored code to eliminate this problem, and a potential similar case in `sendWhynter()` too. This is a derivative of the bug/issue #381 This instance was reported in #400, which this patch should fix.
Hi, Just for clearification: It could be simplified (at least with my device) by removing the second send command and adding a repeat to the first.
|
FYI, I've just released v2.3.2 of the library which contains this fix. If you are using the Arduino IDE, it should be available via the Library Manager in less than 24 hours. |
This commit is 98% housekeeping. The only user-facing changes are in ir_LG.cpp. These changes should hopefully eliminate or highlight the symptoms & causes of some recent bugs. e.g. #400 Overview: * Add support for pseudo-tracking the passage of transmition time in the tests. This has the affect of making the messages produced in the unit tests much more similar to real-world message timings. Notably, the end of a message space()/gap is now a realistic size. * Update all the message timings in the existing unit-tests to reflect this. * Remove redundant "#include <IRtimer.h>" lines. * Fix typo(s) in Unit Tests named "SendUnusualSize". User facing changes: * Remove an ugly hack in the LG protocol related to gap timing. (yay!) * Add a check for the correct min message size when decoding LG32 messages.
This commit is 98% housekeeping. The only user-facing changes are in ir_LG.cpp. These changes should hopefully eliminate or highlight the symptoms & causes of some recent bugs. e.g. #400 Overview: * Add support for pseudo-tracking the passage of transmition time in the tests. This has the affect of making the messages produced in the unit tests much more similar to real-world message timings. Notably, the end of a message space()/gap is now a realistic size. * Update all the message timings in the existing unit-tests to reflect this. * Remove redundant "#include <IRtimer.h>" lines. * Fix typo(s) in Unit Tests named "SendUnusualSize". User facing changes: * Remove an ugly hack in the LG protocol related to gap timing. (yay!) * Add a check for the correct min message size when decoding LG32 messages.
Version/revison of the library used
"version": "2.3.1",
Expected behavior
irsend.sendJVC(JVCPower, 16, 1);
For verification, I tried another key press (Sleep) - which was recorded as 0xC5C0.
This works fine. Command was done correctly by my device.
Code
The ordering of sending those two commands does not have any effect - JVCPower always stops the code working, regardless if send first or second.
The text was updated successfully, but these errors were encountered: