On Fri, 18 Oct 1996 11:11:39 -0500, Rogerio Odriozola belden wrote: >A while back someone asked about the Control-L protocol used in VCR and >camcorder remotes and editors. Anyone know where I can get a copy of this >protocol? Has anyone tried to use a PIC to drive a camcorder using C-L? For the inside scoop on the Sony LANC Control L order the Protocol manual for Control L/Lf from Sony. I ordered it from: Sony Service Company Parts Division 8281 NW 107th Terrace Kansas City, MO 64153 (816) 891-7550 Part # 9-972-453-11 "Protocol of Control L/LF" You get to find out where to order it in your country, but I'm sure they will send you a copy from the address above if you give them a call. About $20US or so (but don't quote me!) (Somebody let me know if they do manage to get it from the US overseas.) Control L is a two-way serial open collector 9600 baud protocol. Cameras (control-L) use a three pin sub-mini jack that has ground on the sleeve, power (up to 100ma unregulated 5-9v) at the tip and LANC signal on the ring. VCRs with the five pin mini-DIN connector have DC out on pin 1, LANC bus on pin 4 and GND on pin 5. Pin 3 may be a power switch line (ground to switch power on and off) and pin 2 may put out a square wave locked to the video frames. (pins 2 & 3 are optional, not used on consumer equipment.) The LANC bus is open collector so it is normally pulled high to about 5v and is pulled low to send commands or status information. You can hook the LANC signal directly to the input of a 1488 RS232 line driver and feed that into your PC serial port and capture the 9600 baud data stream. It will have to be inverted before you use it (00 will read as FF). The data stream is 8 bytes, then a gap (1.7ms? until the end of the current frame) then 8 bytes for the next frame, another gap and so on. If you can write your serial driver to sync to that gap you can read it easily. I wrote a program in modula 2 to display the signal, but I don't know enough about PC timing to detect that gap in the data stream. The camcorder puts out an 8 byte data packet with each video frame. The first two bytes are for controllers to command the camera and are usually 00 00. The next two are for tuners and are also usually 00 00. The last four bytes are for the VCR status and carry the counter and several other status bits. Reading is the easy part . . . To send a command you have to wait until you detect the start bit of the first byte in a frame then impose your signal on the LANC line (remember it is open collector and inverted, so 00 is all high - you just pull low for your command bits). I haven't the foggiest how to send a byte on the serial port in response to an external start bit. I think you might almost have to bit bang it in software. Wouldn't be bad - only need to send 2 bytes in each frame. Oh yeah - and in at least 5 consecutive frames to make sure the VCR hears and understands your command. I have managed to write a simple program for the PIC16C84 processor which will control a camcorder remotely - Sort of a homemade version of the RM95 remote control Email me for the whole scoop on Control-L (38K text file) David Meed dmeed@nbnet.nb.ca http://cythera.unb.ca/c-net/nb/ministry/nbbi/nbbihome.htm