Presets are usually stored in the camera but they can be lost if the camera is replaced, if a firmware upgrade is performed or by accident when a preset is overwritten by another.


To prevent that it would be preferred to have the PTZ and Focus with absolute positions and keep them in a control solution (this is a preventive method usually used by conference integrators working with Bosch, MVI, Televic, cMeets by Arbor..)


To do so, first position the camera as you want, then use a hyperterminal (PACKET SENDER for instance as shown below) to send commands to inquire about the current PTZ and Focus positions (Part A below) and to call them again when it would be required (Part B). All commands are available in the VISCA-list-CM40-series-and-CM70-series.pdf


Below we will be using 2 presets as examples:

-Preset 1, with no zoom and Automatic focus

-Preset 2, with zoom and a specific Manual focus


A- INQUIRYING ABOUT THE P/T POSITION, ZOOM AND FOCUS :


1) Absolute PAN and TILT positions


Use the command 'Pan-tiltPosInq'

with function: 8x 09 06 12 FF 

and command packet:   90 50 0w 0w 0w 0w (wwww: Pan Position)

                                      0z 0z 0z 0z FF (zzzz: Tilt Position)


-Preset 1 (command 81 01 04 3F 02 01 FF to call it):        

Command to send: 81 09 06 12 FF 

Output received: 90 50 0F 0F 01 01 00 01 0B 03 FF   (where 0F 0F 01 01 is the Pan Position, and 00 01 0B 03 the Tilt Position)



-Preset 2 (command 81 01 04 3F 02 02 FF to call it):                    

Command to send: 81 09 06 12 FF 

Output: 90 50 00 00 04 09 0F 0E 0C 08 FF   (where 00 00 04 09 is the Pan Position, and 0F 0E 0C 08 the Tilt Position)


* Note, if the camera is set on its HOME position (centered position) the Pan and Tilt values in the output should be 00 00 00 00 00 00 00 00 as shown below:

Packet Sender



2) ZOOM position


Use the command 'CAM_ZoomPosInq'

with function: 8x 09 04 47 FF

and command packet:  90 50 0p 0q 0r 0s FF (pqrs: Zoom Position)


-Preset 1 (without Zoom):        

Command to send: 81 09 04 47 FF 

Output received: 90 50 00 00 00 00 FF  (where 00 00 00 00 is the Zoom Position)


-Preset 2 (with zoom applied):    

Command to send: 81 09 04 47 FF 

Output received: 90 50 03 03 0F 0A FF (where 03 03 0F 0A is the Zoom Position)



3) FOCUS mode and position


Use the command 'CAM_FocusAFModeInq' (mode)

with function: 8x 09 04 38 FF    

and command packet:  90 50 02 FF Auto Focus

                                     90 50 03 FF Manual Focus

                                     90 50 04 FF OnePush Focus


And the command 'CAM_FocusPosInq' (position)

with function: 8x 09 04 48 FF

and command packet:  90 50 0p 0q 0r 0s FF (pqrs: Focus Position)


-Preset 1 (with AUTO focus):        

Command to send: 81 09 04 38 FF 

Output received: 90 50 02 FF (Confirming the AUTO Focus)


Command to send: 81 09 04 48 FF

Output received: 90 50 00 00 09 04 FF (where 00 09 04 FF is the Focus Position...however with AUTO focus we should not care about the focus position)


-Preset 2 (with a specific MANUAL focus) :

Command to send: 81 09 04 38 FF 

Output received: 90 50 03 FF  (Confirming the MANUAL Focus)


Command to send: 81 09 04 48 FF 

Output received: 90 50 00 07 01 08 FF  (where 00 07 01 08 is the Focus Position)



Usually, all these above values are kept into a control solution (here it will depend on each customer which solution fits better) to call them back when it will be required:




B- CALLING BACK THE P/T POSITION, ZOOM AND FOCUS :


1) Absolute PAN and TILT positions


Use the command: Pan_tiltDrive

with function: Absolute Position    

and command packet:  8x 01 06 02 VV WW

                                      0Y 0Y 0Y 0Y 0Z 0Z 0Z 0Z FF    

VV: Pan speed 01(low speed) to 18 (high speed)

WW: Tilt speed 01(low speed) to 14 (high speed)

YYYY: Pan Position 

ZZZZ: Tilt Position


-Preset 1 (where 0F 0F 01 01 was the Pan Position, and 00 01 0B 03 the Tilt Position)

Command to send:  81 01 06 02 18 14 0F 0F 01 01 00 01 0B 03 FF (Here with maximum Pan speed 18 and Tilt speeds 14)


-Preset 2 (where 00 00 04 09 was the Pan Position, and 0F 0E 0C 08 the Tilt Position)

Command to send:  81 01 06 02 18 14 00 00 04 09 0F 0E 0C 08 FF (Here with maximum Pan speed 18 and Tilt speeds 14)



2) ZOOM position


Use the command: CAM_Zoom        

with function: Direct

and command packet 8x 01 04 47 0p 0q 0r 0s FF

pqrs(0-F): Zoom Position


-Preset 1 (where 00 00 00 00 was the Zoom Position)

Command to send:  81 01 04 47 00 00 00 00 FF


-Preset 2 (where 03 03 0F 0A was the Zoom Position)

Command to send:  81 01 04 47 03 03 0F 0A FF




3) FOCUS mode and position


Use the command: CAM_Focus        

with function: Auto Focus                 

and command packet: 8x 01 04 38 02 FF

with function: Manual Focus

and command packet:  8x 01 04 38 03 FF

with function: Direct Focus Position 

and command packet: 8x 01 04 48 0p 0q 0r 0s FF (min p = 0, q = 0, r = 0, s = 0 , max

p = 0, q = 6, r = E, s =A)


-Preset 1 (AUTO focus)

Command to send:  81 01 04 38 02 FF


-Preset 2 (MANUAL focus and with Focus Position at 00 07 01 08)

Command to send:  81 01 04 38 03 FF 

                                 81 01 04 48 00 07 01 08 FF



Then with all these values it would be possible to write a script to automate this procedure and get it faster executed



* See Good practice externally controlling Avonic cameras using conference software