@echo off :: remote control batch file designed to run Casio QV-3000EX camera from the command line :: Maurice Delaney 31 Oct 2000 maurice.delaney AT gmail DOT com :: Thanks to Eckhard Henkel and Nick Hubbard ("Leading edge designs") and :: the Digital Photography Casio Talk Forum for inspiration and help with protocols :: 26 Oct 2000 - released on website :: 31 Oct 2000 - added 'timer' and 'preview' command keys :: goto cam subroutine if .%1==.cam goto %1 :: goto task subroutines for %%t in (take rmode lmode qual size sharp sat cont drive meter flash iso mov digz color grid tstmp beep) do if .%1==.%%t goto %1 :: goto key subroutines for %%k in (focus shutter zoomout zoomin menu up left right down setk flashk cfocus usb modek disp timer prev) do if .%1==.%%k goto %1 :: if none of the above then goto help :help echo Syntax: %0 [arg1] [(u)] where case-sensitive arg can be: echo Tasks - arg1: echo take focus and take photo echo rmode move right to next photo mode echo lmode move left to next photo mode echo qual *toggle quality b/n Fine, Normal, Economy echo size toggle resolution b/n 2048x1536, 1024x768 echo sharp *toggle sharpness b/n Hard, Normal, Soft echo sat *toggle saturation b/n High, Normal, Low echo cont *toggle contrast b/n High, Normal, Low echo drive toggle drive mode b/n Single, Continuous echo meter *toggle contrast b/n Multi, Center, Spot echo flash *toggle flash b/n Strong, Normal, Weak echo iso *toggle sensitivity b/n +3, +2, +1, Normal echo mov toggle movie mode b/n Normal, Past echo digz toggle digitalzoom b/n Off, On echo color *toggle color b/n Color, B/W, Sepia echo grid toggle grid b/n Off, On echo tstmp *toggle time stamp b/n Off, yyyy/mm/dd, dd hh:mm am/pm, echo yyyy/mm/dd hh:mm am/pm echo beep toggle beep b/n Off, On echo opt 2nd arg: echo u move up menu for tasks marked with *, default is down pause echo Keys - arg1: echo focus focus lock (shutter half way) echo shutter take photo echo zoomout zoom out (wide) echo zoomin zoom in (tele) echo menu menu key echo up up arrow echo left left arrow (- key) echo right right arrow (+ key) echo down down arrow echo setk set key echo flashk flash key echo cfocus change focus setting echo usb change to REC mode when on USB echo modek mode key echo disp display key echo timer timer key echo prev preview key goto end :cam :: initialise COM1 port settings :: baud, parity, data bits, stop bit, retry mode com1: 9600,N,8,1, > nul echo "%2"> com1 if %OS%.==Windows_NT. C:\WinNT\choice.com /t:y,%3 > nul if not %OS%.==Windows_NT. C:\Windows\Command\choice.com /t:y,%3 > nul goto end :take %comspec% /c %0 cam Aa 1 %comspec% /c %0 cam Bb 4 goto end :rmode for %%k in (Nn Hh Ii) do %comspec% /c %0 cam %%k 1 goto end :lmode for %%k in (Nn Gg Ii) do %comspec% /c %0 cam %%k 1 goto end :qual if .%2==. for %%k in (Ee Ii Ii Jj Ii Ff Ii) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Ii Ii Ff Ii Ff Ii) do %comspec% /c %0 cam %%k 1 goto end :size for %%k in (Ee Ii Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :sharp if .%2==. for %%k in (Ee Ii Jj Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Ii Jj Jj Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :sat if .%2==. for %%k in (Ee Ii Jj Jj Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Ii Jj Jj Jj Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :cont if .%2==. for %%k in (Ee Ii Jj Jj Jj Jj Ii Jj Ii Jj Ii) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Ii Jj Jj Jj Jj Ii Ff Ii Jj Ii) do %comspec% /c %0 cam %%k 1 goto end :drive for %%k in (Ee Jj Ii Ii Jj Ii Ff Ii) do %comspec% /c %0 cam %%k 1 goto end :meter if .%2==. for %%k in (Ee Jj Ii Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Jj Ii Jj Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :flash if .%2==. for %%k in (Ee Jj Ii Jj Jj Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Jj Ii Jj Jj Jj Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :iso if .%2==. for %%k in (Ee Jj Ii Ff Ff Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Jj Ii Ff Ff Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :mov for %%k in (Ee Jj Jj Ii Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :digz for %%k in (Ee Jj Jj Ii Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :color if .%2==. for %%k in (Ee Jj Jj Ii Jj Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Jj Jj Ii Jj Jj Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :grid for %%k in (Ee Jj Jj Ii Jj Jj Jj Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :tstmp if .%2==. for %%k in (Ee Jj Jj Ii Ff Ff Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 if .%2==.u for %%k in (Ee Jj Jj Ii Ff Ff Ii Ff Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :beep for %%k in (Ee Ff Ii Ff Ff Ii Jj Ii Ee Ee) do %comspec% /c %0 cam %%k 1 goto end :focus %comspec% /c %0 cam Aa 1 goto end :shutter %comspec% /c %0 cam Bb 4 goto end :zoomout %comspec% /c %0 cam Cc 1 goto end :zoomin %comspec% /c %0 cam Dd 1 goto end :menu %comspec% /c %0 cam Ee 1 goto end :up %comspec% /c %0 cam Ff 1 goto end :left %comspec% /c %0 cam Gg 1 goto end :right %comspec% /c %0 cam Hh 1 goto end :setk %comspec% /c %0 cam Ii 1 goto end :down %comspec% /c %0 cam Jj 1 goto end :flashk %comspec% /c %0 cam Kk 1 goto end :cfocus %comspec% /c %0 cam Ll 1 goto end :usb %comspec% /c %0 cam Mm 1 goto end :modek %comspec% /c %0 cam Nn 1 goto end :disp %comspec% /c %0 cam Oo 1 goto end :timer %comspec% /c %0 cam Pp 1 goto end :prev %comspec% /c %0 cam Q 1 echo Press any key to close preview mode . . . pause > nul %comspec% /c %0 cam q 1 goto end :end