Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
April 20, 2024, 05:14:39 17:14


Login with username, password and session length


Pages: [1]
Print
Author Topic: Sony remote RM-X151  (Read 4072 times)
0 Members and 1 Guest are viewing this topic.
metal
Global Moderator
Hero Member
*****
Offline Offline

Posts: 2420

Thank You
-Given: 862
-Receive: 678


Top Topic Starter


« on: June 19, 2013, 08:36:26 08:36 »

I bought a couple of them from eBay, this by itself is a problem. This remote uses 15-bit SIRC as shown in the attachment that was sent to me by a friend who has the original remote unit but doesn't use PIC. When I press a button it is decoded correctly, but for unknown reason once I remove my finger off the button, the PIC shows 69 as the received command. I tried another Sony remote unit and it worked successfully but it is SIRC 12-bit, this is not the problem, one number can be modified to work for 12-bit and 15-bit.

I was wondering on my way to work if any body succeeded decoding the SIRC IR signals coming out of this remote, especially those bought from eBay!?

If someone is interested in the code, let me know.

Logged
pickit2
Moderator
Hero Member
*****
Offline Offline

Posts: 4646

Thank You
-Given: 826
-Receive: 4207


There is no evidence that I muted SoNsIvRi


« Reply #1 on: June 19, 2013, 11:12:35 11:12 »

that sounds like the problem "if it is a problem is in the pic code"
maybe you need to latch value, sent by remote.
logic says code is only valid when key is pressed.

Added: Sony remotes appear to repeat each frame a minimum of 3 times
http://picprojects.org.uk/projects/sirc/sonysirc.pdf
« Last Edit: June 19, 2013, 11:15:02 11:15 by pickit2 » Logged

Note: I stoped Muteing bad members OK I now put thier account in sleep mode
metal
Global Moderator
Hero Member
*****
Offline Offline

Posts: 2420

Thank You
-Given: 862
-Receive: 678


Top Topic Starter


« Reply #2 on: June 20, 2013, 10:53:30 10:53 »

I modified the code to work with 15-Bit SIRC, I used PICKit2 to see the actual signals being sent, I thought there was something wrong with the remote itself, but apparently there is a trick in the code that I could not find to solve my problem. Look at the snapshot, I have not inverted the signal so what you see is the actually the inverted signal from the IR module.

I came across this code two days ago, since then I have been trying to figure why when I remove my finger off any button, the LCD shows 69 as the command received but while pressing any button, the correct command is displayed. very strange indeed, I have also tried measuring start bit time and then use it for 600us and 1200us as well as tolerance calculations, but this has not changed anything, the 69 command is still received when I remove my finger off the button, I understand that I did enhance the code and it worked perfectly, but this enhancement did not solve the problem, so I reverted back to the original code.

I did the modification to accommodate the 15-bit SIRC by changing the value to which bitmask is compared:

if (bitmask == 0x00) // all addr bits received?

So that I need 8 bits address instead of 5. Original code used 0x20, this means it was expecting 5 bits command. Shifting 3 bits, I believe I must test for 0x00, correct me if I am wring please.

Another funny thing, when I tried 12-bit remote with this code and the code which I enhanced, it worked flawlessly, I press the button, and the LCD shows the received command, when I remove my finger off the button, the command is still the same, contrary to what happens in the 15-bit remote. I attached the code, I am using PIC16F886 @ 4MHz and using MPLABX.
Logged
pickit2
Moderator
Hero Member
*****
Offline Offline

Posts: 4646

Thank You
-Given: 826
-Receive: 4207


There is no evidence that I muted SoNsIvRi


« Reply #3 on: June 20, 2013, 01:02:04 13:02 »

Just a thought is the remote, sending the code instead of, /or/ when going into sleep mode.
Logged

Note: I stoped Muteing bad members OK I now put thier account in sleep mode
metal
Global Moderator
Hero Member
*****
Offline Offline

Posts: 2420

Thank You
-Given: 862
-Receive: 678


Top Topic Starter


« Reply #4 on: June 20, 2013, 02:06:52 14:06 »

I don't know PICkit, I contacted a friend who has a similar remote and sent him my code to see on sunday how it behaves, if they are the same, then this MF behaves like this, if not, then it is the code... I don't know, I thought about it but it is random, and if I add delay in the main while loop, say 750ms, I never see the 96 command!!
« Last Edit: June 20, 2013, 02:09:15 14:09 by metal » Logged
metal
Global Moderator
Hero Member
*****
Offline Offline

Posts: 2420

Thank You
-Given: 862
-Receive: 678


Top Topic Starter


« Reply #5 on: July 12, 2013, 02:07:21 02:07 »

Thanks, the problem is not in the code.

Car stereos remotes are a bit different. They use commands 68 and 69 to tell car stereo that the button has been pressed for a long time, and hence the stereo has to take a different action. For example, when you press button '1' on the remote, it sends command 0 and the stereo selects the pre-saved station frequency on channel no. 1. If you press it for a long time, the stereo saves the current station frequency on channel no. 1.

commands 68 and 69 are kinda long press notifiers.

Any way, I solved it by ignoring either commands and keeping the last received command in case those two are received.
« Last Edit: July 12, 2013, 02:13:34 02:13 by metal » Logged
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC