cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
8926
Views
135
Helpful
20
Replies

VISCA control of a Cisco PrecisionHD 1080p12x

daver2WEC
Level 1
Level 1

Hi people. First post here...

 

We have a setup at our Church consisting of a Black Magic Design ATEM Video switcher and four (4) of Cisco PrecisionHD 10280p12x cameras in a daisy chain being controlled over VISCA. The ATEM has an RS422 interface - and I have built an RS422/RS232 converter. We are using the camera's HDMI output and converting it to SDI for connection to our ATEM. We are using 1080p50 - and the camera's SDI output port doesn't support this resolution, 

 

So far so good. Now the questions...

 

1. On power-up we have to ask the ATEM to scan the VISCA chain to address the cameras. The Cisco cameras appear to 'forget' their addresses - or the fact that they have been configured as a daisy chain - when the power is switched off. Is this normal?

 

2. The Pan and Tilt control from the ATEM is very 'lumpy' (i.e. it moves in jumps). The Zoom control is (however) very smooth. I have read that the Pan/Tilt ignores the VISCA 'speed' parameter unless you turn off the camera IR control? I have raised the question regarding the 'lumpiness' with Black Magic Design - and they are looking into it on their end. However, the problem with interfacing different equipment is that it is always the 'other' equipment that is at fault! Does anyone know of any issues like this with the Cisco camera?

 

3. The Cisco camera manual is a bit 'sketchy' on a lot of the parameters for the VISCA protocol. Does anyone know of a better description of the VISCA parameters for this camera? For example, one of the things I would like to adjust would be the White Balance. The manual specifies there is a 'table of values' - but doesn't describe what the valid parameter index is into this table, nor what each table element specifies (presumably in terms of a colour temperature).

 

4. We have tried driving the camera from a PC and some PTZ software we used with a Sony D31 camera. It works much better - but you have to 'blip' the mouse very fast to get a small Pan/Tilt movement. Even then, the Pan/Tilt speed has no effect.

 

5. The manual mentions something about saving parameters (for example, the state of the power LED on power up) but nowhere does it describe how to save (or recall) the settings.

 

We are very, very happy with the video quality from these cameras. We just need to take control of some of the parameters into manual from the camera's auto setting to achieve the best results.

 

I am currently looking into making a little VISCA controller with a 4-axis joystick, an arduino UNO, an RS232 shield and a small TFT touchscreen device. There is some sample code to drive the Cisco camera on github (which is where I found out about disabling the IR device).

 

If someone could point me at a better manual that described the VISCA protocol in more detail I would be very appreciative.

 

Regards,

 

Dave 

20 Replies 20

Hi
I’m using Atem mini pro switch, and Atem mini extreme iso.
I’m using the HDMI with no problems.

alessior
Level 1
Level 1

Hi Dave,

I am reading your post and looks very interesting as I am starting the same journey for a no profit org broadcasting needs. I am thinking to use 3 x TTC8-02 cameras, but I would like to control them using a standard VISCA controller with a joystick.

As seems you solved all the issues for a begineer, would you please so kind to describe a bit more detailed, for me and all the others that may be interested, how you are managing the chain?
I never worked with an RS232 chain, so I need to study a bit, for example I have those questions:

1) When the camera is powered on, I am reading that it loses the IR Off command, but is it going to lose also the VISCA address? Or better, is there a need to manually set a VISCA address, or is it assigned automatically when the chain is powered on?

2) Did you try some other regular controller that you may suggest? I am a bit worried to build something manually with Arduino, I am sure that I can't achieve the same stability and functionality

3) Do you have any other suggestion on what is needed to correctly manage the chain?

If you could share some interesting pictures more than welcome

Thanks a lot for your help,
Alessio

Hi Alessio,
 
My apologies for my slow response to your query...
 
The cameras are connected in a serial chain.
 
My home-built controller (an Arduino Mega 2560 R3) is connected to the RS232 input of the first camera via an RS232 'shield'. The first camera is connected to the second camera via the camera's daisy-chain port and so on to my forth camera.
 
When you power OFF and back ON - all of the settings are completely lost by the cameras - so they have to be reinitialised from the controller. I have the controller and the cameras on the same mains power supply. When I power ON the system, the cameras initialise and are ready before the controller (I have designed it that way). The controller then initialises all of the cameras as I require them.
 
The IR command was a red-herring I read on the internet. The cameras work fine via the RS232 serial VISCA protocol without switching the IR control OFF...
 
The important command is for the controller to send a VISCA Address_Set command (via broadcast). This command causes all of the cameras to work out how many devices are in the chain and to configure their own VISCA addresses in numerical order. From the message reply, the controller can determine the number of cameras present in the serial chain. Each camera can be subsequently addressed directly by the controller.
 
We did try some various other 'free' controllers with varying success. We do have a paid-for software controller - and that 'sort of' worked! It did, however, also screw up the camera chain on numerous occasions...
 
The controller I have built is from blocks that you can purchase and largely plug together. The Arduino Mega 2560 (R3) can be bought and the programming software is freely available on the web via a browser interface. You program the Arduino board via a simple USB cable. I will be releasing my code when I have finished. I am using an RS232 shield (to interface the 5V serial signals of the Arduino card to the RS232 signal levels of the camera). I have used a colour TFT screen to implement a menuing system to control the cameras. You control the menus via a rotary encoder and push-button. To control the cameras (pan, tilt and zoom) I have used a joystick and interfaced that to the Arduino. I also use the rotary encoder to adjust the camera parameters (e.g. focus, white balance, gamma and Iris). This gives me pretty good control over the cameras.
 
Now the reason for the delay - the CISCO description of the VISCA protocol they implement is (at best) incorrect and (at worst) a lie...
 
Some of the commands do not work as described. Other commands are missing (for example, the inquire command for the camera gain). Other commands do not describe what is returned or what the limits are. Over the Christmas holidays I have been experimenting with the camera commands and I think I have now worked out how most of them work (or misbehave so that I can make them work)... I am, however, very happy with the results despite the poor documentation.
 
The software I release will be very specific to our application (four cameras in a chain for use in our Church) - but you get the source code and can modify it yourself. It is not going to be pretty (!) but the actual VISCA implementation part is quite well structured and documented. The menuing system less so I am afraid - but I am planning to tidy all that up before I release it.
 
I hope this answers some of your queries. If you have any more, I will be glad to answer them. Hopefully a bit faster!
 
Regards,
 
Dave 

alessior
Level 1
Level 1

Hi Dave,

first of all many many thanks for your answer, that makes me really happy because I was thinking I was stuck, but now I see your work as a really good opportunity.
I am stuck exactly in the situation you described, I mean that during these months I tried to build my system but it is still not stable. I tried some free software, as you did already, some hardware control like Dahua NKB1000 and then a paid sw (trial version). None of them work properly unfortunately. The better solution I found were the Dahua that works ok but zoom doesn't work as there is no variable speed function (for what I understood), and the paid sw works well with only one camera. If I try to manage the 3 in daisy chain, if I pass from one to another in a too quick timeframe the cameras got reset and I have to wait 10 seconds before having them back. As you can imagine it's impossible to work in that way.

I added the control of a very good joystick for aircraft simulatio and I am now going to test a conversion from RS232 to RS485 to try to understand if this protocol can work a bit better, tomorrow I should receive the hardware that I ordered.

But I am understanding that your solution appears really fitting my needed, I am doing this for a no profit event that is now becoming closer and closer and I need to confirm that I will be able to manage. So I am trying to kindly ask if you can be available to share the draft code that you already wrote, and I can act also as test site for you during the following weeks that I will use for testing the equipment with my friends. All of us doing it only for passion, not for paid job task.

I would really appreaciate if we can get in contact, and happy to get an Arduino, it's something I was thinking also in the past but I never got the occasion, now maybe is a good time to start programming on it.

Many thanks
Alessio

Hi Alessio,

I have created an empty directory on my Google Drive (https://drive.google.com/drive/folders/1o9VvfnjxEHxv5-eznakE9DBRG2Q7qeYr?usp=share_link) and will populate it with the Arduino software and other details (as time permits).

I am currently 'tweaking' the software to release data space - as the current implementation of the menu sub-system just 'eats' RAM - and this is in short supply on an Arduino. I will (hopefully) have that done by the end of the week.

For further updates check-in on my Google Drive from time to time.

Just check (in the meantime) that you have access to the shared link...

Regards,

Dave

daver2WEC
Level 1
Level 1

I have just uploaded a very quick 'readme' file to the Google Drive share folder.

Also, I checked the code today and I DO disable the IR control.

Dave