-
Notifications
You must be signed in to change notification settings - Fork 801
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
RC-MM Protocol For IRremoteESP8266 #21
Comments
The protocol is documented here: http://www.sbprojects.com/knowledge/ir/rcmm.php Seems fairly straight forward, yet a little odd compared to other common protocols. |
@darshkpatel Care to give https://github.com/crankyoldgit/IRremoteESP8266/tree/philips-rc-mm a try? |
Ping. |
1 similar comment
Ping. |
Sure, let me see
…On Mar 30, 2017 8:13 AM, "David Conran" ***@***.***> wrote:
Ping.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrhmXJIXzdIjHusVcQVthjBZ_NQ8dks5rqxa2gaJpZM4H-Rsj>
.
|
@crankyoldgit |
I enquired with a few colleagues , came to know it's not the protocol, but the wrong receiver for the frequency the IR transmitter is transmitting at. I suppose someone with the right receiver can try it out ? |
Um, let me check/confirm. Are you trying to send RC-MM or receive it? I only added sending btw. If you are getting different results from something for each send, can you share them please? It should produce the same signal when sending the same data., but seeing the different outputs might help me work out what's not working. |
Ah, yeah. 38kHz vs 36kHz might be an issue. Don't know. I've only got 38kHz ones myself. :-( |
Same here, guess we'll have to wait for someone else to confirm
On Mar 30, 2017 9:08 AM, "David Conran" <notifications@github.com> wrote:
Ah, yeah. 38kHz vs 36kHz might be an issue. Don't know. I've only got 38kHz
ones myself. :-(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrmA09ubr9H3UWXmL1mjsdYL4ORQGks5rqyPHgaJpZM4H-Rsj>
.
|
I might add what I've got to the library as is, and label it untested/experimental etc. That way someone might be able to check it. Or, you could probably order a 36kHz receiver module off ebay for a couple of dollars etc. |
Actually, can you describe what the testing setup is? I didn't add a decode for rc-mm, just the sender.
the 'unknown' code values should be taken with a grain of salt. It is a hash of the raw data, not an indication of the actual code signal. A minute change in a timing length will produce a very different 'unknown' code even if the underlying pattern is the same. The underlying pattern in your earlier examples however looks fine/the same. So, I can probably try to add a decode routine we might have some luck. |
Decoding one of your captures by hand:
HEADER + 00 + 10 + 10 + 00 + 11 + 10 + 00 + 00 + 10 + 10 + 01 + 10 + 00 + 00 + 00 + 00 + FOOTER |
Hey @darshkpatel, care to try the latest update to my 'philips-rc-mm' branch? It also has my very first attempt at writing a decode routine. No promises etc. Completely untested. No warranties etc etc. |
Sure, I'll check it as soon as I get home on 15th
Apologies for the delay
…On Mar 30, 2017 7:27 PM, "David Conran" ***@***.***> wrote:
Hey @darshkpatel <https://github.com/darshkpatel>, care to try the latest
update to my 'philips-rc-mm' branch?
Based on the data you provided, I think I now understand the RC-MM
protocol better than the limited reference docs I could find. i.e. There is
a footer mark that wasn't documented.
It also has my very first attempt at writing a decode routine. No promises
etc. Completely untested. No warranties etc etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrribJ6m2nGqpgd8qk_kDHoPcBjmKks5rq7SygaJpZM4H-Rsj>
.
|
I have got it working with 38khz tsop38338, tested this with stb remote with success, was looking for this for a long! thanks and kudos |
I have tested the decoding (receiving), will confirm the send too tomorrow. |
Many thanks for that @tejipal I think it is not matching the spaces well, in that it is matching a lower 2-bit value when it should be matching a higher 2-bit value per mark/space pair. Looking at the code MATCH code, the tolerances for it matching are too wide. We need to reduce the tolerances for this to accurately match values received. I'll need to work out a nice way to reduce the tolerances for this protocol and not for all the others for this to work correctly. |
**Completely untested.** Based on timings and protocol descriptions from: http://www.sbprojects.com/knowledge/ir/rcmm.php For issue #21
the tolerance thingy looks promising, I will test it again and get back with results. I also ordered 36khz decoder, will share results after testing. |
hatts off to your quick remedy :) |
@tejipal I'm currently developing in my personal fork under this branch https://github.com/crankyoldgit/IRremoteESP8266/tree/rework-match But beware, I haven't tested it at all yet. It's flat out compiling. ;-) i.e. Expect things to break. |
…ing. (#156) * Move the match routines inside the irrecv object. * Relocate some defines to a more appropriate location. * Change the match routines have runtime definable tolerance and excess. * Match routines now return boolean, rather than int. * Add plenty of comments. * Change the way DEBUGing is handled for the match routines. * Turn the TICKS_LOW & TICKS_HIGH macros into proper functions. * Use a tolerance of +/-10% for matching the data 'spaces' as the default tolerance was to high and caused mismatches. (#21) * Allow for different excesses to be used in the matching functions. * Fix the incorrect RC-MM '0' space value * Enforce the minimum gap between RC-MM codes per spec.
…ing. (#150) * Move the match routines inside the irrecv object. * Relocate some defines to a more appropriate location. * Change the match routines have runtime definable tolerance and excess. * Match routines now return boolean, rather than int. * Add plenty of comments. * Change the way DEBUGing is handled for the match routines. * Turn the TICKS_LOW & TICKS_HIGH macros into proper functions. * Use a tolerance of +/-10% for matching the data 'spaces' as the default tolerance was to high and caused mismatches. (#21) * Allow for different excesses to be used in the matching functions. * Fix the incorrect RC-MM '0' space value * Enforce the minimum gap between RC-MM codes per spec.
@tejipal & @darshkpatel Care to test the current master branch? Should be better/working, I think. (famously wrong/last words.) |
I gotta wait until another ESP is shipped.
…On Apr 23, 2017 9:21 AM, "David Conran" ***@***.***> wrote:
@tejipal <https://github.com/tejipal> & @darshkpatel
<https://github.com/darshkpatel> Care to test the current *master*
branch? Should be better/working, I think. (famously wrong/last words.)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrvrpqczrf0V4CND1GciMb7b7dczJks5rysqygaJpZM4H-Rsj>
.
|
@darshkpatel Did your next ESP arrive? Care to test master and/or v2.0-dev branch? |
I'm sorry, It just slipped out of my mind
I'll test it this week for sure
On May 16, 2017 2:47 PM, "David Conran" <notifications@github.com> wrote:
@darshkpatel <https://github.com/darshkpatel> Did your next ESP arrive?
Care to test master and/or v2.0-dev branch?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrhKXSzQhrgzJHLezA9UuFPADkq6oks5r6WmfgaJpZM4H-Rsj>
.
|
No worries. I'm writing some test-cases for the code now. So, in a day or so I should be more confident if it will work or not, but nothing beats real-world tests. |
- Unit test coverage for sendRCMM() and decodeRCMM() - Update status for those to Beta as tests now work on them. - Minor code/ordering optimisation. - [Fix] Removed special tolerence for the bit mark which caused issues in decoding. - Bring RC-MM up to 64bit support. - Add repeating to sendRCMM. This should address issue #21 when v2.0 is released.
- Unit test coverage for sendRCMM() and decodeRCMM() - Update status for those to Beta as tests now work on them. - Minor code/ordering optimisation. - [Fix] Removed special tolerence for the bit mark which caused issues in decoding. - Bring RC-MM up to 64bit support. - Add repeating to sendRCMM. This should address issue #21 when v2.0 is released.
- Unit test coverage for sendRCMM() and decodeRCMM() - Update status for those to Beta as tests now work on them. - Minor code/ordering optimisation. - [Fix] Removed special tolerence for the bit mark which caused issues in decoding. - Bring RC-MM up to 64bit support. - Add repeating to sendRCMM. This should address issue #21 when v2.0 is released.
- Unit test coverage for sendRCMM() and decodeRCMM() - Update status for those to Beta as tests now work on them. - Minor code/ordering optimisation. - [Fix] Removed special tolerence for the bit mark which caused issues in decoding. - Bring RC-MM up to 64bit support. - Add repeating to sendRCMM. This should address issue #21 when v2.0 is released.
@darshkpatel & @tejipal The v2.0-dev tree should have an updated & working version for both sending and decoding. I think I've ironed out the remaining bugs when I wrote the unit tests for them, but real hardware is different etc. Note: You'll need to call it via Feedback etc most welcome. Good or bad. :) I'm hoping to have a release candidate out for v2.0 by the end of the month. |
I tried it with my existing receiver tsop1738 but it seems like 38khz
TSOP38338 is needed, it still gives different codes for same button presses
…On Wed, May 17, 2017 at 12:50 PM, David Conran ***@***.***> wrote:
@darshkpatel <https://github.com/darshkpatel> & @tejipal
<https://github.com/tejipal> The v2.0-dev
<https://github.com/markszabo/IRremoteESP8266/tree/v2.0-dev> tree should
have an updated & working version for both sending and decoding.
I think I've ironed out the remaining bugs when I wrote the uinit tests
for them, but real hardware is different etc.
Note: You'll need to call it via sendRCMM(data, 32); if you want to send
your 32-bit messages you've listed in this issue. It defaults to 24-bits.
Feedback etc most welcome. Good or bad. :)
I'm hoping to have a release candidate out for v2.0 by the end of the
month.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJriFldjn7VKqfGa9kosR_trVd4SuYks5r6p_QgaJpZM4H-Rsj>
.
|
Out of curiosity, any chance you can include the dumps here please? I would have thought the tsop1738 would have worked fine as it is also a 38kHz receiver. |
Next time I set it up I'll dump it here
…On May 18, 2017 6:07 AM, "David Conran" ***@***.***> wrote:
Out of curiosity, any chance you can include the dumps here please?
I would have thought the tsop1738 would have worked fine as it is also a
38kHz receiver.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrjYmu32TF9DDCHjL3NWvx5NNMy8eks5r65LbgaJpZM4H-Rsj>
.
|
This week maybe
…On May 18, 2017 8:14 AM, "Darsh Patel" ***@***.***> wrote:
Next time I set it up I'll dump it here
On May 18, 2017 6:07 AM, "David Conran" ***@***.***> wrote:
> Out of curiosity, any chance you can include the dumps here please?
>
> I would have thought the tsop1738 would have worked fine as it is also a
> 38kHz receiver.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#21 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AKvJrjYmu32TF9DDCHjL3NWvx5NNMy8eks5r65LbgaJpZM4H-Rsj>
> .
>
|
Just checking. You used the latest v2.0-dev branch in your latest tests? |
Yeah, i pulled the v2.0dev
…On May 18, 2017 8:22 AM, "David Conran" ***@***.***> wrote:
Just checking. You used the latest v2.0-dev branch in your latest tests?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrrwFcd7ZSZkAUHV4O764_WZK98LQks5r67JfgaJpZM4H-Rsj>
.
|
@crankyoldgit I am attaching the dump for my Tatasky remote , looks like this First two are pressing the same button and the third is for another button on the number pad. also the last two cases are while sliding the finger actoss the touchpad ( not sure what it's called , but remote blasts out a lot of codes while sliding the finger , similar to scrolling with fingers )
|
- Unit test coverage for Mitsubishi "normal" devices, and Air-Conditioning. - [bugfix] decodeMitsubishi() falsely matched RC-MM due to having no length requirement. #21 - [bugfix] Unit tests uncovered failure to clear previous state in setFan() & setVane(). - [Compiler warning] C++11-ism removed. - Updated MitsubishiAC to v2.0 spec. - Comments and style improvements. - Turned on strict compliance in decodeMitsubishi() to help stop false detecting on RC-MM messages. #21
Nice. Thanks for the data. |
@darshkpatel Once #214 is merged into v2.0-dev, I think it should decode RC-MM for you, |
Sure, I'll try that
…On May 19, 2017 1:05 PM, "David Conran" ***@***.***> wrote:
@darshkpatel <https://github.com/darshkpatel> Once #214
<#214> is merged into
v2.0-dev, I think it should decode RC-MM for you,
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKvJrnLAfzc5V6083z_Zt0jyQu0276krks5r7UZegaJpZM4H-Rsj>
.
|
You could try the branch https://github.com/markszabo/IRremoteESP8266/tree/v2.0-dev-mitsubishi-unittests in the meantime. |
- Unit test coverage for Mitsubishi "normal" devices, and Air-Conditioning. - [bugfix] decodeMitsubishi() falsely matched RC-MM due to having no length requirement. #21 - [bugfix] Unit tests uncovered failure to clear previous state in setFan() & setVane(). - [Compiler warning] C++11-ism removed. - Updated MitsubishiAC to v2.0 spec. - Comments and style improvements. - Turned on strict compliance in decodeMitsubishi() to help stop false detecting on RC-MM messages. #21
This should now be working in v2.0-RC0. Marking this closed. Please either re-open if there are issues, or create a new issue. |
I came across a remote which uses RC-MM protocol (probably also known as Nokia 24 ) , I needed help adding that to IRremoteESP8266 library.
here is a sample for the same
This is the dump of the "same button" being pressed 10 times
``Encoding : UNKNOWN
Code : 49EF3073 (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,300, 200,550, 150,600, 200,250, 200,750, 200,550, 200,250, 200,250, 150,600, 200,550, 200,450, 150,600, 150,300, 150,300, 150,250, 200,250, 150}; // UNKNOWN 49EF3073
Encoding : UNKNOWN
Code : 6E277A3 (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,250, 200,600, 150,600, 200,250, 150,800, 150,600, 150,300, 150,300, 150,250, 200,600, 150,450, 150,600, 200,250, 150,300, 150,250, 200,250, 200}; // UNKNOWN 6E277A3
Encoding : UNKNOWN
Code : B70D49E4 (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,300, 150,600, 150,600, 200,250, 200,750, 150,600, 200,250, 200,250, 150,600, 200,600, 150,450, 150,600, 200,250, 150,300, 150,250, 200,250, 200}; // UNKNOWN B70D49E4
Encoding : UNKNOWN
Code : 25D6E01D (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,250, 200,600, 150,600, 200,250, 150,800, 150,600, 200,250, 150,300, 150,250, 200,600, 150,450, 150,600, 200,250, 150,300, 150,300, 150,250, 200}; // UNKNOWN 25D6E01D
Encoding : UNKNOWN
Code : 40033D4D (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 200,250, 150,600, 200,600, 150,300, 150,750, 200,600, 150,250, 200,250, 200,600, 150,600, 150,450, 150,600, 200,250, 200,250, 150,300, 150,250, 200}; // UNKNOWN 40033D4D
Encoding : UNKNOWN
Code : 6E277A3 (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,250, 200,600, 150,600, 200,250, 150,800, 150,600, 150,300, 150,300, 150,250, 200,600, 150,450, 150,600, 200,250, 150,300, 150,250, 200,250, 200}; // UNKNOWN 6E277A3
Encoding : UNKNOWN
Code : 9A2A2562 (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,250, 200,600, 150,600, 200,250, 150,800, 150,600, 150,300, 150,250, 200,600, 150,600, 200,400, 200,600, 150,300, 150,250, 200,250, 200,250, 150}; // UNKNOWN 9A2A2562
Encoding : UNKNOWN
Code : DF6C1994 (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 200,250, 150,600, 200,600, 150,300, 150,750, 200,600, 150,250, 200,250, 200,250, 150,600, 200,400, 200,600, 150,300, 150,250, 200,250, 200,250, 150}; // UNKNOWN DF6C1994
Encoding : UNKNOWN
Code : 2EA1533E (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,200, 200,250, 200,600, 150,600, 150,300, 150,750, 200,600, 150,300, 150,250, 200,600, 150,600, 200,400, 200,600, 150,250, 200,250, 200,250, 150,300, 150}; // UNKNOWN 2EA1533E
Encoding : UNKNOWN
Code : 915E804D (32 bits)
Timing[35]:
unsigned int rawData[35] = {450,250, 150,300, 150,600, 200,550, 200,250, 200,750, 150,600, 200,250, 200,250, 150,300, 150,600, 200,400, 200,550, 200,250, 200,250, 200,250, 150,300, 150}; // UNKNOWN 915E804D
Encoding : UNKNOWN
Code : 7B255A09 (32 bits)
Timing[35]:
unsigned int rawData[35] = {400,250, 200,250, 200,550, 200,600, 150,300, 150,750, 200,600, 150,250, 200,250, 200,600, 150,600, 150,450, 200,550, 200,250, 200,250, 150,300, 150,300, 150}; // UNKNOWN 7B255A09
Encoding : UNKNOWN
Code : AD737632 (32 bits)
Timing[35]:
The text was updated successfully, but these errors were encountered: