Article View: sci.electronics
Article #8223Re: Data formats for IR remote controls??
From: Michael Bender
Date: Thu, 08 Nov 1990 04:39
Date: Thu, 08 Nov 1990 04:39
476 lines
21314 bytes
21314 bytes
In article <35706@cup.portal.com> bkoball@cup.portal.com (Bruce R Koball) writes:
>I'm looking for info on the data format and protocols used by TV
>remote controls. The goal is to interface to the control devices
>(wobble sticks, touch boards, etc.) used by disabled kids. I believe
>that I've seen info on this topic posted here in the past, but
>unfortunately I haven't got access to archives. Thanks for any help.
check rec.video and ask for the person that has the archive for the
various remote control and edit control formats over there. Start with
this though.
mike
========== ^S SPEC ==========
>From appserv!sun!newstop!sun-barr!apple!brutus.cs.uiuc.edu!ux1.cso.uiuc.edu!uxa.cso.uiuc.edu!mjw06513 Thu Apr 26 19:29:57 PDT 1990
Article 12665 of rec.video:
Path: appserv!sun!newstop!sun-barr!apple!brutus.cs.uiuc.edu!ux1.cso.uiuc.edu!uxa.cso.uiuc.edu!mjw06513
>From: mjw06513@uxa.cso.uiuc.edu (Mary Winters)
Newsgroups: rec.video
Subject: Re: VCR Control Specs (Sony and Panasonic)
Summary: Here they are!
Message-ID: <1990Apr27.000803.552@ux1.cso.uiuc.edu>
Date: 27 Apr 90 00:08:03 GMT
References: <1990Apr25.150423.218@ux1.cso.uiuc.edu-> <692@bilver.UUCP>
Sender: usenet@ux1.cso.uiuc.edu (News)
Organization: University of Illinois at Urbana
Lines: 185
In article <692@bilver.UUCP> bill@bilver.UUCP (Bill Vermillion) writes:
>I would appreciate the control-S info.
You and jillions of other people! My mailbox has been overflowing with
requests for the Control-S info, so I'm going to go ahead and post it
here. I hope it's reasonably clear. If anyone notices any errors or
omissions, please email me and I'll do what I can to correct the problem.
BTW, I'm still looking for some kind soul who would care to share with me
the specs for the Panasonic edit control interface. If you know anything
about them, please don't hesitate to drop me some email. Thanks!
Sony Control-S Protocol Specifications
The following is a reference guide to using a microcomputer
to control a VCR equipped with a Control-S port. Apparently there
is no documentation on the Control-S protocol available from Sony
(at least, that's what their publications office told me when I
called). Thus, the following information is a synthesis of bits
and pieces obtained from many sources, including the Sony Service
Manual for the RMT-124 IR controller, some net.friends, and
connecting an oscilloscope across the LED in a Sony IR remote
controller and observing the signals sent as various buttons on
the controller were pressed. The timings given may not be exactly
those used by the Sony products, but these have been used
successfully in controlling a Sony SL-HF900 VCR, so I figure
they're pretty close. I make no guarantees of accuracy for any of
the information contained in this document, although I would
appreciate hearing from you if you find any errors contained
herein. I'd also like to acknowledge the assistance of Paul
Milazzo (milazzo@bbn.com) for his valuable pointers in the right
direction when I first began to research this topic. Without his
response to my usenet post, I might never have figured all this
stuff out and gotten my controller program working. Thanks, Paul!
Protocol Description
The Control-S protocol used by various Sony video products
is simply a demodulated (baseband TTL) version of the signals
sent by the Sony remote controllers (such as the RMT-124).
Another way to think of this is the Sony remote controls send a
40kHz IR carrier signal which is amplitude modulated by the
Control-S signal. The Control-S command word is 12 bits long, and
consists of a 5-bit device ID code followed by a 7-bit button
code. The control-S control word is preceded by a 2.4 millisecond
TTL logic-1 pulse (start bit) followed by 0.4 ms of logic-0. Each
1 bit in the control word is represented by a 1.2 ms logic-1
level followed by a 0.4 ms logic-0 level, and each 0 bit is 0.8
ms high, 0.4 ms low. The end of the control packet is always a
TTL logic-0 level, and the total length of each packet is fixed
at 45 ms in length. The bits in each control word are sent in
increasing bit position order (i.e. low order bit first, high
order bit last). As an example, let's look at the command to
toggle the power on a SL-HF900. The device ID for the VCR is
00010, and the button code for the power switch is 0010101. Thus,
the entire control word is 000100010101. To send this command to
the VCR, we first send out a 2.4 ms start bit, and then send the
bits in reverse order (i.e. 101010001000). We then hold the
Control-S port to logic-0 level to make the total packet time
(i.e. the time since the rising edge of the start pulse) equal to
45 ms.
Interfacing
To send commands to your VCR, your computer will need a TTL-
level binary output port. A standard IBM-PC parallel printer port
works well, as does the binary output portion of a data
acquisition and control adapter (IBM DACA board). Some people
have even used a serial port (along with the appropriate level
conversion circuitry) to control their VCRs. As long as the port
you use can send a TTL-level signal (0VDC = logic-0, 5VDC =
logic-1) you should be OK. Connect the output line from the port
to a 1/8" mini phone plug, with the tip carrying the TTL signal
and the ring grounded. A simple software routine can then be
written to toggle the status of a bit in the output port
corresponding to the output line. Ideally, setting the bit should
cause the line to go high; clearing the bit should cause the line
to go low. By carefully controlling the pattern and timing the
commands may be sent to and properly understood by the VCR. The
following pseudocode outlines a routine to send a command through
a port setup such as that described above:
begin
/* send the start bit */
raise Ctrl-S line to TTL logic-1
wait 2.4 ms
lower Ctrl-S line to logic-0
wait 0.4 ms
/* send each of the 12 bits in the complete control word out */
/* the Control-S port one at a time, low order bit first */
for current_bit = low_order_bit to high_order_bit do begin
raise Ctrl-S line to logic-1
if (current_bit is a 1)
wait 1.2 ms /* high duration of a 1-bit */
else
wait 0.8 ms /* high duration of a 0-bit */
lower Ctrl-S line to logic-0
wait 0.4 ms /* low duration of all bits */
end
wait a sufficient time to make the total message duration 45 ms.
end
Additional Information
The following are some of the codes I've discovered while
experimenting with the Control-S port software I wrote. Note that
not all of these commands work with all VCR models. For example,
button code 22 causes the SL-HF900 to eject a tape, but the SL-
HF400 ignores that command. If you come across any codes which
are not listed here, I'd appreciate it if you'd send me a list of
the codes you discover.
Note: All numbers in the following table are base 10.
Device ID Codes
1 TV
2 VTR1
4 VTR2
Button Codes
000 1 button
001 2 button
002 3 button
003 4 button
004 5 button
005 6 button
006 7 button
007 8 button
008 9 button
009 10 button/0 button
010 11 button
011 12 button
012 13 button
013 14 button
020 X 2 play w/sound
021 power
022 eject
023 L-CH/R-CH/Stereo
024 stop
025 pause
026 play
027 rewind
028 FF
029 record
032 pause engage
035 X 1/5 play
040 reverse visual scan
041 forward visual scan
042 TV/VTR
045 VTR from TV
047 power off
048 single frame reverse/slow reverse play
049 single frame advance/slow forward play
060 aux
070 counter reset
078 TV/VTR
083 index (scan)
106 edit play
107 mark
Well, this ought to be enough to get you started. If you
have any questions, or would like to share some new device/button
codes, I can be reached at either of the following addresses:
Internet: UV@f69.n233.z1.fidonet.org
FIDOnet: UV@1:233/69.0
--
----- End Included Message -----
======== ^L TALK ==============
>From appserv!sun!newstop!sun-barr!apple!mips!zaphod.mps.ohio-state.edu!samsung!uunet!mcrware!tim Tue Jan 30 08:01:47 PST 1990
Article 11141 of rec.video:
Path: appserv!sun!newstop!sun-barr!apple!mips!zaphod.mps.ohio-state.edu!samsung!uunet!mcrware!tim
>From: tim@mcrware.UUCP (Tim Harris)
Newsgroups: rec.video
Subject: Re: SONY CAMCORDER REMOTE FUNCTION ???
Message-ID: <1494@mcrware.UUCP>
Date: 29 Jan 90 15:39:24 GMT
References: <5020054@hpscdc.scd.hp.com> <2869@cerberus.oakhill.UUCP>
Reply-To: tim@mcrware.UUCP (Tim Harris)
Organization: Microware Systems Corp., Des Moines, Iowa
Lines: 18
This remote is a Control L line which is Sony's control protocol. There
was an article on the net some time ago giving a brief description of the
electrical characteristics of this protocol and also giving an address to
get the tech manual on it. There has also been some talk of making a cable
to go from the 5pin Control L output to this sub-mini version.
The book is found through Sony and is called: "Protocol and Control:
Control L/LF". You'll need to order it from their parts center,
Sony Corp.
P.O. Box 20407
Kansas City, MO 64195
1-(816)-891-7550
My suggestion on making a cabled remote would be to get the manual
from Sony and find out more about the protocol from it.
Tim Harris (...!sun!mcrware!tim)
==========^S Revisited ==============
>From appserv!sun!newstop!sun-barr!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!ux1.cso.uiuc.edu!uxa.cso.uiuc.edu!mjw06513 Fri May 25 05:21:07 PDT 1990
Article 12989 of rec.video:
Path: appserv!sun!newstop!sun-barr!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!ux1.cso.uiuc.edu!uxa.cso.uiuc.edu!mjw06513
>From: mjw06513@uxa.cso.uiuc.edu (Mary Winters)
Newsgroups: sci.electronics,rec.video
Subject: Re: IR Remote Plans - Who Wants 'em?
Summary: They're on their way...
Message-ID: <1990May21.200644.1463@ux1.cso.uiuc.edu>
Date: 21 May 90 20:06:44 GMT
References: <1990May11> <6900008@eola> <3331@serval.oakhill.UUCP>
Sender: usenet@ux1.cso.uiuc.edu (News)
Organization: University of Illinois at Urbana
Lines: 19
Xref: appserv sci.electronics:12384 rec.video:12989
As of this morning, around 50 copies of the IR remote plans have been sent
to everyone who sent me mail requesting them. Check your mailboxes - if you
did not receive your copy, or missed the original post and would like a copy
also, the file has been made available for anonymous ftp from
mrcnext.cso.uiuc.edu [128.174.73.105] in directory /simtel20/txt. The filename
is zapper.zoo. The updated (and corrected) Sony Control-S specs are also in
that same directory under the name sircs.txt.
Please send any feedback or comments you may have to the author at the address
listed in the documents, NOT to me.
Enjoy!
--
uv@f69.n233.z1.fidonet.org
Suffering from PMS (Presentation Manager Syndrome)
====== Additional Contact... ================
>From appserv!sun!newstop!sun-barr!decwrl!elroy.jpl.nasa.gov!sdd.hp.com!think!linus!linus!richard!psw Mon Jul 30 20:35:53 PDT 1990
Article 13968 of rec.video:
Path: appserv!sun!newstop!sun-barr!decwrl!elroy.jpl.nasa.gov!sdd.hp.com!think!linus!linus!richard!psw
>From: psw@richard.mitre.org (Phillip Wherry)
Newsgroups: rec.video
Subject: ftp site?
Message-ID: <114857@linus.mitre.org>
Date: 26 Jul 90 17:58:52 GMT
Sender: usenet@linus.mitre.org
Reply-To: psw@richard.mitre.org ()
Organization: MITRE Corporation, McLean, VA
Lines: 13
I recently acquired a Sony SLV-676 VCR, and remembered reading something
on the net a long time ago about a site which had information on the
control-s protocol used by the editing port of these beasts available
for anonymous FTP. Could someone point me in the direction of this
server?
Thanks very much.
Phil
--
Phillip Wherry
The MITRE Corporation, McLean, VA
psw@mitre.org
======== Better Addresses ==========
>From quintus!unix!Teknowledge.COM!uw-beaver!rice!cs.utexas.edu!uwm.edu!zaphod.mps.ohio-state.edu!usc!apple!snorkelwacker!spdcc!merk!alliant!linus!linus!richard!psw Tue Aug 7 05:03:06 PDT 1990
Article 14926 of rec.video:
Path: sun!quintus!unix!Teknowledge.COM!uw-beaver!rice!cs.utexas.edu!uwm.edu!zaphod.mps.ohio-state.edu!usc!apple!snorkelwacker!spdcc!merk!alliant!linus!linus!richard!psw
>From: psw@richard.mitre.org (Phillip Wherry)
Newsgroups: rec.video
Subject: Sony Control-S/Control-L protocol
Message-ID: <115019@linus.mitre.org>
Date: 27 Jul 90 19:25:27 GMT
Sender: usenet@linus.mitre.org
Reply-To: psw@richard.mitre.org ()
Organization: MITRE Corporation, McLean, VA
Lines: 21
Many thanks to all of those who responded to my request for information
on the Sony Control-S protocol. For others who might be interested
in receiving this information, it is available for anonymous FTP from
mrcnext.cso.uiuc.edu (128.174.73.105) in the video directory.
My VCR (Sony SLV676) also has a 5-pin mini-DIN connector which speaks
the Control-L or LANC protocols. Ok, I give up: anyone have info on
this protocol?
One final question, which I'd hoped would be documented in the manual,
but wasn't: what is the purpose of the EDIT switch? I'm told to turn
it on when doing a tape-to-tape dub, but given no information on what
it actually accomplishes. I checked the manual of another [JVC] VCR,
and it was similarly unilluminating.
Phil Wherry
--
Phillip Wherry
The MITRE Corporation, McLean, VA
psw@mitre.org
>From newstop!sundc!seismo!uunet!cs.utexas.edu!sdd.hp.com!usc!ucsd!pacbell.com!pacbell!sactoh0!mfolivo Tue Aug 7 05:04:28 PDT 1990
Article 14932 of rec.video:
Path: sun!newstop!sundc!seismo!uunet!cs.utexas.edu!sdd.hp.com!usc!ucsd!pacbell.com!pacbell!sactoh0!mfolivo
>From: mfolivo@sactoh0.UUCP (Mark Newton-John)
Newsgroups: rec.video
Subject: Re: Control-S jacks.... synching Beta decks.... how precise?
Summary: Syncho Edit
Sony Control-S
Keywords: to what time tolerance?
Message-ID: <3626@sactoh0.UUCP>
Date: 30 Jul 90 03:52:05 GMT
References: <11855@hydra.gatech.EDU>
Organization: Sacramento Public Access, Ca. USA
Lines: 24
Using the Synchro Edit feature to make edits of some of my
SuperBeta tapes, the accuracy of Control-S is much better than the
two hands approach. The time factor is negligible for most consumer
applications.
Remember, you aren't dealing with SMPTE time codes, and uunless
you *need* to do very precise edits, the Control-S Syncho Edit will
send the commands in less than the 0.1 sec time frame.
Frame counts? Well, if you are so concerned, why are you even using
consumer equipment? Anyway, off hand (my guess) frame accuracy is
probably about 3 frames (?????) I never counted, or needed to count
frames.
My experience with Synchro Edit is from using an EDV-9500 ED Beta
connected to a SLHF-860D SuperBeta.
--
(ames att sun)!pacbell! \ Sakura-mendo, CA
ucdavis!csusac! - sactoh0!mfolivo
the good guys!
============================
>From newstop!sundc!seismo!uunet!samsung!uakari.primate.wisc.edu!ark1!nems!oasys.dt.navy.mil!curt Wed Aug 22 21:50:12 PDT 1990
Article 15399 of rec.video:
Path: sun!newstop!sundc!seismo!uunet!samsung!uakari.primate.wisc.edu!ark1!nems!oasys.dt.navy.mil!curt
>From: curt@oasys.dt.navy.mil (Welch)
Newsgroups: rec.video
Subject: Re: Sony Control-L Request
Message-ID: <3077@nems.dt.navy.mil>
Date: 22 Aug 90 20:02:17 GMT
References: <8152@emcard.UUCP>
Sender: news@nems.dt.navy.mil
Reply-To: curt@oasys.dt.navy.mil (Curt Welch)
Organization: David Taylor Research Center, Bethesda, MD
Lines: 61
In article <8152@emcard.UUCP> mat@emcard.UUCP (W Mat Waites) writes:
>It speaks of checking the line to see if you message gets out unmodified
>(paraphrase). Is the signal line similar in operation to Ethernet? Are
>there "collisions"?. The manual is very vague.
Here's my guess as to how it works. (from memory, my copy is
at home)
The serial line is a bi-directional open-collector TTL type buss what
can have multiple controllers on it. It is like Ethernet in that
multiple stations can try to transmit at the same time, but unlike
Ethernet, you you don't have to stop transmitting when there is
a collision.
The format is a basic 9600 baud, 1 start bit, 8 data bits, and 1 stop
bit. This makes up one word. Once every frame (1/60 or 1/50 of a sec),
the VCR transmits a block of 8 (or is it 16) words. (I assume this is
in sync with the video.)
If you want to send a request, you have to wait for the start of the
frame, and transmit in sync with the VCR. With the open collector
buss, if one station is transmitting +5V (which is logical 0 on this
buss) and another station is transmitting 0V (which is logical 1),
the 0V will win. This means that someone transmitting a 1 will always
win out over someone trying to transmit a 0. As you transmit, you
check the value on the buss. If you try to send a 0, but read back
a 1, then you know that someone else is sending data, and you should
stop and wait for the next frame to try again. The other transmitter(s)
don't even notice the collision and just keep going. The commands are
arranged so that the more important ones have more 1's.
For example, I think the VCR is normally transmitting all 0's in the
first byte. All zeros means something like "VCR STATUS". If no one
requests another type of command, the VCR just constantly transmits
status information.
I don't see any easy way to use a serial port on a computer to interface
with this.
>Any hints? Or software?
Maybe you could do something with a line from a parallel port and a lot
of tricky software.
The documentation isn't very clear about all the codes and just what
they mean. During each 8 byte frame, sometimes the VCR transmits and
sometimes other devices transmits, depending on the commands given, and
the type of devices connected (VCR vs CAMCORDER, vs COMPUTER etc.).
I think it would take a lot of experimentation to determine exactly what
different devices do, and what commands they respond to and what they
ignore etc.
They also imply that you can't just send a command once and expect to
work. They imply it might take 4 frames, so you should transmit
every command 5 times (If I'm remembering the numbers correctly).
If someone rigs up a cheap interface and some software for this, I'd love
to hear about it.
Curt Welch
curt@oasys.dt.navy.mil
--
Won't look like rain, Won't look like snow, | DOD #000007
Won't look like fog, That's all we know! | AMA #511250
We just can't tell you anymore, We've never made oobleck before! | MSC #298726
Technical Details
Message-ID:
<2354@exodus.Eng.Sun.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!newstop!exodus!oobleck.Eng.Sun.COM!benderReferences:
<35706@cup.portal.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!newstop!exodus!oobleck.Eng.Sun.COM!bender From: bender@oobleck.Eng.Sun.COM (Michael Bender) Newsgroups: sci.electronics Subject: Re: Data formats for IR remote controls?? Message-ID: <2354@exodus.Eng.Sun.COM> Date: 8 Nov 90 04:39:13 GMT References: <35706@cup.portal.com> Sender: news@exodus.Eng.Sun.COM Organization: Sun Microsystems, Mt. View, Ca. Lines: 476