-
Notifications
You must be signed in to change notification settings - Fork 842
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
sendSony once again #1018
Comments
Thanks for the excellent issue report. Full of details! Just what I like. I'll try simulating a few things in a few minutes, but I'd like you to do a few things for me in parallel.
In theory, it should work as you've used it. I'll do some tests while I wait for your results to see if I can see what could be causing the issue. Looking forward to your response/feedback. |
On first examination of your
|
More detailed analysis indicates that your captured data is just a little off spec. IF and ONLY IF that doesn't work, then I would suggest you tweak the library values as following:
Other than that, I can't see any problems. |
I just noticed this line. What exactly do you mean by "not run"? IRMQTTServer doesn't produce any useful serial output by default. |
Thanks for the quick and substantial reply. I'll try the 38KHz modulation and repeat=3. I've tried up to repeat=5 but with the default modulation. By the way, the dumps were made with Vishay's TSOP4838, but according to specs it works for signals from 38 to 40 KHz base. Here are raw dumps of all the commands from Sony soundbar remote: Most are 15bit but some are 20 bit, regarding your reply re: code sizes. The TV is Toshiba 42TL838.
No serial output and not seeing the wifi network to connect to for initial configuration. |
Sounds like you need to do a full reset/clear of the ESP device. A Google search should tell you how to do it with tools like esptool.py etc |
I think you mean 40kHz, when sending raw.
Yep. You signal was captured fine. No issues with you captures. They look fine to me.
Ta. If changing the timings don't work, or the modulation, the only thing left to try really changing the duty cycle ( Alternatively, can you capture with another ESP device the signal your ESP32 is producing when sending via |
FYI, to full erase the flash, here are some instructions:
It's likely IRMQTTServer is picking up previous wifi config info. Erasing the chip fully should get you into a clean new state. Also, you could enable serial debugging in https://github.com/crankyoldgit/IRremoteESP8266/blob/master/examples/IRMQTTServer/IRMQTTServer.h#L231-L237 to get more info on what might be going wrong. |
@tomash Friendly ping/follow up to see how your tweaking/testing went. |
Thanks for the ping. I was out of town for the last three days, I'll resume work on this today or friday. |
Any luck? |
I finally have some time for hacking! |
All right, great success: after editing ir_Sony.cpp in the library dir:
in the library, |
Now, how do I implement the "sendSony but 38 Khz" function in a cleaner way, other than editing directly in the library's folder? I can't add a method to IRsend that wasn't declared in the header file, the used symbols aren't visible either. A pull request adding yet another parameter, base frequency, after |
As for IRMQTTServer -- I'll try your suggestions and if something's broken for me I'll open a separate issue to avoid mixups. Thanks 👌 |
I'll code something up shortly. |
- Add new protocol: `SONY_38K` & `sendSony38()` - SONY_38K uses 3 repeats it seems, so default to that. - There is no way to reliably tell if an incoming message is using 40kHz or 38kHz, so assume the SONY standard (40kHz). - Unit tests for the above. - Add supported model info. Fixes #1018
@tomash Can you please download/test PR #1029 / branch https://github.com/crankyoldgit/IRremoteESP8266/tree/Sony38kHz and let me know if Thanks in advance. Btw. Thanks for doing the testing and confirming my theory, because otherwise, I was stumped for reasons why it was failing. ;-) |
- Add new protocol: `SONY_38K` & `sendSony38()` - SONY_38K uses 3 repeats it seems, so default to that. - There is no way to reliably tell if an incoming message is using 40kHz or 38kHz, so assume the SONY standard (40kHz). - Unit tests for the above. - Add supported model info. Fixes #1018
@tomash I haven't heard back from you testing the new branch/PR etc. I'm assuming it will work fine, merged it, and closing this issue. Please re-open if it doesn't work, or open a new issue and reference this one. ;-) |
_v2.7.3 (20200130)_ **[Features]** - Allow protocols to be enabled or disabled with compiler flags. (#1013, #1012) - Panasonic AC: Add Ion Filter support for DKE models. (#1025, #1024) - Add support for sending Sony at 38Khz (#1029, #1018, #1019) - auto_analyse_raw_data.py: Handle analysing messages with no headers. (#1017) **[Misc]** - Fix Coolix unit test errors when using Apple c++ compiler. (#1030, #1028) - Fix Apple clang c++ compiler error in unit tests. (#1027, #1026) - Improve/fix scraping of supported devices (#1022) - Panasonic PKR series A/C uses DKE protocol. (#1020, #1021) - Update NEC supported devices. (#1018) - Add note to avoid GPIO16 on the ESP8266 for receiving. (#1016, #1015)
_v2.7.3 (20200130)_ **[Features]** - Allow protocols to be enabled or disabled with compiler flags. (#1013, #1012) - Panasonic AC: Add Ion Filter support for DKE models. (#1025, #1024) - Add support for sending Sony at 38Khz (#1029, #1018, #1019) - auto_analyse_raw_data.py: Handle analysing messages with no headers. (#1017) **[Misc]** - Fix Coolix unit test errors when using Apple c++ compiler. (#1030, #1028) - Fix Apple clang c++ compiler error in unit tests. (#1027, #1026) - Improve/fix scraping of supported devices (#1022) - Panasonic PKR series A/C uses DKE protocol. (#1020, #1021) - Update NEC supported devices. (#1018) - Add note to avoid GPIO16 on the ESP8266 for receiving. (#1016, #1015)
The code changes referenced above have been included in the v2.7.3 release of the library. |
Thanks! I do it in my spare time which I don't have much of this week so I'll test it around saturday and get back to you here :) |
This helped me fix my Sony HT-SF150 soundbar. It worked with sendSony38(value,kSony15Bits,3); |
Also, Samsung UE40K5510AUXRU TV worked with sendSAMSUNG(value), an old BBK SP550S 5.1 sound system worked with sendNEC(value), and a TX 3 mini Android TV Box worked with sendNEC(value). |
Library version 2.7, ESP32-Dev module.
I'm building my own web-to-ir to control both TV and Soundbar via phone in local network. The IRMQTTSample seems to compile, upload but not run, and I got pretty far with my setup anyway.
Baseline: the TV works with it all, it's a pretty old Toshiba 42" LCD using NEC protocol. So I've got it confirmed that my wiring (with transistor for amplifying the IR LED etc.) is working.
The problem: Sony soundbar (HT-CT380, to be exact) does not react to any sendSony() attempts I throw at it. I've recorded-and-decoded all the signals from original remote buttons:
In my Arduino sketch code, whenever I call:
with or without third
repeat
argument, the soundbar does not react. Yes, I'm passing the codes as integers, so that volume up,0x240C
, is passed tosendSony()
as9228
.The fun part, and a bit of silver lining which might help in debugging what happens, is that the raw data works properly (!).
Which means I'm probably one-two parameters of sendSony() away from getting it to work. Is that the delays (22404?)? Is that something else?
And even if not, I can record raw dumps of all the original remote buttons and just use them.
Thanks for this library, it makes working with IR signals a breeze.
The text was updated successfully, but these errors were encountered: