Description
Controlling the HDR camcorders using the Arduino prototyping board.
Current Command Set
Here is the list of commands that hopefully the rest of you can come up with some new meta-commands for use with the command line application.
Realistically none of the commands that only work only for playback mode will even be used. ( cant get to playback mode using Arduino )
Command Description
Special Commands ( command ss ) ( None Work In Playback Mode )
00 - 0E Various Speeds of Zooming In ( 00 slowest, 0E fastest )
10 - 1E Various Speeds of Zooming Out ( 10 slowest, 1E fastest )
35 Zooming In ( speed ~05 )
37 Zooming Out ( speed ~15 )
39 Zooming In ( speed ~0D-0E )
3B Zooming Out ( speed ~1D-1E )
41 Auto-Focus on/off
45 Focus Manual Far
47 Focus Manual Near
51 Backlight on/off
Normal Commands ( command nn ) ( None Work In Playback Mode )
2B Takes a Photo
39 Autofocussing
33 Starts Recording ( HDV mode only )
Normal Commands That Only Work For Playback Mode
30 Stops Playback ( Playback Mode Only )
32 Pauses Playback ( Playback Mode Only )
34 Resumes Playback ( Playback Mode Only )
46 Slow Forward ( Playback Mode Only )
Global Commands ( Works Anywhere )
05 & 2A Switch Mode from Camera - HDV or vice versa
5E Turns Camera Off
The following are commands I created ( they do various things with the above commands or just things within my program ( special/normal ) )
pp Turns Camera On
nn Switches to Normal Mode
ss Switches to Special Mode
mp Starts Multi-Camera Pause
mr Starts Multi-Camera Record
Proposed Meta Command List
These would be used in the following context. ( executable is named serial ) at command line: serial -c command
Also, note any suggestions for the command line switches ( like -c or -h ) and comment on possible changes in the Comment section below
Place your ideas here, and don't worry about special or normal mode ( that is irrelevant and will be removed in the final program )
Command Description
init sets all the cameras to fully zoomed out and the focus set to closest ( this is an example, you could put your name in parentheses at the end if you want )
Comments
Add anything useful I might want or need to know here: ( maybe you don't like using -c and would rather commands be default? stuff like this )
WH: I think there are three possible levels of command interfaces
- the direct LANC code interface you currently have
- a simple translation layer, which abstracts away the normal vs. special mode, and replaces the cryptic numbers of the LANC protocol with more intuitive short (possibly two or three character) letter codes (eg. rec, stp, ply, fin, fou, zin, zou for "record", "stop", "play", "focus in/out", and "zoom in/out"). Each command could take an argument that specifies the camera (255 would mean all connected cameras, in turn)
- the meta layer of macros composed of more complex operations (TBD)
Personally, I think the translation layer would be much more useful than the LANC protocol layer, so the latter could be replaced completely with the former.
BA: What is the HDV mode? Is that the high speed mode? If not, is there some way we can toggle between standard and high speed recording?
Command Line Options
Option Description
-h Shows This Help Screen
-c Sends Command to Serial Port ( eg. -c 5E
-f Sends Command to Serial Port with Minimal Delays
-r n Repeats the Commands n Times ( eg. -r 5 5E )
-m Monitors the Serial Port ( end with CTRL C
-l Lists Usable Commands for -c Argument
modify with -l s or -l n For
a List of Special/Normal Commands Respectively
-mp Starts Multi-Camera Pause
-mr Starts Multi-Camera Record
-- Main.sstuber - 21 May 2009