Controlling Viewfinder tally

Questions about ATEM Switchers, Camera Converter and everything live!
  • Author
  • Message
Offline

Paul Schaer

  • Posts: 3
  • Joined: Sat Nov 11, 2017 7:06 pm

Controlling Viewfinder tally

PostSat Nov 11, 2017 7:38 pm

Is there a way to control the tally light of a Blackmagic URSA Studio Viewfinder when not used together with a Blackmagic camera?

Apparently, the tally can only be controlled via SDI, so we tried to use a Blackmagic 3G-SDI Arduino Shield to control the tally. But we couldn't make it work. In the URSA manual documents.blackmagicdesign.com/CinemaCamera/20171025-9a9df4/Blackmagic_URSA_Mini_Manual.pdf page 211 we found that there is a special "monitor tally" channel in the Blackmagic tally protocol, and from the documentation it looks like the Arduino Shield can only send the camera tally signals, but not this monitor tally.
Offline
User avatar

Xtreemtec

  • Posts: 5391
  • Joined: Wed Jan 02, 2013 11:48 am
  • Location: The Netherlands

Re: Controlling Viewfinder tally

PostMon Nov 13, 2017 10:04 pm

Monitor Tally has ID 0 instead of Camera ID 1, 2 , 3 , 4 ;)
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

Paul Schaer

  • Posts: 3
  • Joined: Sat Nov 11, 2017 7:06 pm

Re: Controlling Viewfinder tally

PostSat Nov 18, 2017 2:40 pm

Xtreemtec wrote:Monitor Tally has ID 0 instead of Camera ID 1, 2 , 3 , 4 ;)

Thanks for your answer. Unfortunately, it's not that simple. If you look in SDITallyControl::setCameraTally, setting Tally ID 0 is not possible:
Code: Select all
      // Reject invalid camera numbers
      if (cameraNumber <= 0 || cameraNumber > (int)kRegOTDATA_Width)
         return;

And later it shifts the ID by -1:
Code: Select all
      // Update the requested camera's tally info
      regWrite8(kRegOTDATA + (cameraNumber - 1), data);

So this is not the answer.
Offline
User avatar

Xtreemtec

  • Posts: 5391
  • Joined: Wed Jan 02, 2013 11:48 am
  • Location: The Netherlands

Re: Controlling Viewfinder tally

PostMon Nov 20, 2017 6:59 pm

Hmm Weird.. I was under the impression that Monitor ID was 0. I do remember that i got that out of the Atem Camera Converters on the SDI output. (They don't output all tally info. But only ID 0 ).
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

Gary Adams

Blackmagic Design

  • Posts: 1384
  • Joined: Sat Aug 25, 2012 6:14 am

Re: Controlling Viewfinder tally

PostMon Nov 20, 2017 7:15 pm

Here is an example Arduino Shield sketch that will control the Viefinder Monitor separately. Hope this helps. Regards, Gary

Code: Select all
#include <BMDSDIControl.h>

/*

  Tally  = 1<<0=Switcher Connected, 1<<1=Preview Tally, 1<<2=Program Tally

*/

const int                shieldAddress = 0x6E;
BMD_SDICameraControl_I2C sdiCameraControl(shieldAddress);



const byte connected  = 1 << 0;           // 1 shifted left 0 times, equivalent to 1 in decimal
const byte preview    = 1 << 1;           // 1 shifted left 1 times, equivalent to 2 in decimal
const byte program    = 1 << 2;           // 1 shifted left 2 times, equivalent to 4 in decimal

byte newTally[3] = {program, preview, 0};


void setup()
{
  sdiCameraControl.begin();
  sdiCameraControl.setOverride(true);     // Turn on control overrides
}

void loop()
{
                                          // cycle through RED, GREEN and NO Tally every half second
 
  for (int i = 0; i < 3; i++)
  {
    sdiCameraControl.writeCommandInt8(
      2,                                  // Destination:    doesn't care any number between 1 and 99
      9,                                  // Category:       Switcher Status
      6,                                  // Param:          Tally
      0,                                  // Operation:      Absolute
      newTally[i]                         // Tally Status    Program -> Preview -> OFF
    );

    delay(500);
  }
}
Gary Adams
Blackmagic Design
Offline

Paul Schaer

  • Posts: 3
  • Joined: Sat Nov 11, 2017 7:06 pm

Re: Controlling Viewfinder tally

PostTue Nov 21, 2017 1:42 pm

Thanks a lot Gary, this works!
Offline

JackobBTS

  • Posts: 4
  • Joined: Mon Feb 22, 2021 8:48 am
  • Real Name: Jakub Krošlák

Re: Controlling Viewfinder tally

PostMon Feb 22, 2021 8:54 am

Hi guys!
I tried Arduiono SDI with URSA studio viewfinder as described from gary.. Work perfectly.
But when i connect URSA viewfinder, it wont work..
Both monitors i supply with 1080p25 signal.

Does someone know why ?
Thanks a lot :)
Offline

JackobBTS

  • Posts: 4
  • Joined: Mon Feb 22, 2021 8:48 am
  • Real Name: Jakub Krošlák

Re: Controlling Viewfinder tally

PostMon Mar 22, 2021 10:03 am

Hi, i have a update.. As Daniel mentioned, to controll monitor tally you cant use tally controll function and tally ID-0.. It wont work on both viewfinders. But BM uses "secret" channel to controll their equipment and it is not described in manual. But we make it work ! :)
Offline

ggudnason

  • Posts: 1
  • Joined: Wed Jun 30, 2021 7:39 am
  • Real Name: Gisli Gudnason

Re: Controlling Viewfinder tally

PostWed Jun 30, 2021 7:53 am

I am trying to make the Studio Viewfinder work with a non BM camera but with the ATEM Constellation.
Is that possible?

It looks to me that I am not receiving any tally information directly into the Studio Viewfinder and even if I was I cant figure out how to change the ID of it.

From the manual
The URSA Studio Viewfinder uses open standard SDI and broadcast 4 pin XLR
power connections so it can be used with any other camera or even as an adjustable
portable location monitor. It also uses the open standard ATEM tally and device control
protocol so any other camera system can add this information to their SDI stream to
allow them to work with the tally and overlays on the URSA Studio Viewfinder.


This Led me to believe that if its connected to a Atem Switcher it would be able to use the device control protocol
Offline

JackobBTS

  • Posts: 4
  • Joined: Mon Feb 22, 2021 8:48 am
  • Real Name: Jakub Krošlák

Re: Controlling Viewfinder tally

PostThu Jul 08, 2021 1:37 pm

You need to use camera as "decoder" because viewfinder doesnt have ID. What it is possible to do is read out from SDI data and send other data from SDI out via BM arduino shield.
I had hard time with controlling small viewfinder tally, because i controll it with external GPI signal.
Offline
User avatar

Xtreemtec

  • Posts: 5391
  • Joined: Wed Jan 02, 2013 11:48 am
  • Location: The Netherlands

Re: Controlling Viewfinder tally

PostMon Jul 19, 2021 3:42 pm

Monitor ID = Tally ID 0...

And Tally ID 0 is generated bij the Ursa Cameras on the Monitor Output. ;)
This is because of the Camera has already a Set ID.. So your monitor follows the camera and can not be set to the wrong id.. ;)

It's probably easier to open it up and rewire the Tally light to run it externally by a gpio..
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

Egor Voronin

  • Posts: 71
  • Joined: Thu Mar 14, 2013 9:18 am

Re: Controlling Viewfinder tally

PostSun Apr 10, 2022 11:48 am

Gary Adams wrote:Here is an example Arduino Shield sketch that will control the Viefinder Monitor separately. Hope this helps. Regards, Gary

Code: Select all
#include <BMDSDIControl.h>

/*

  Tally  = 1<<0=Switcher Connected, 1<<1=Preview Tally, 1<<2=Program Tally

*/

const int                shieldAddress = 0x6E;
BMD_SDICameraControl_I2C sdiCameraControl(shieldAddress);



const byte connected  = 1 << 0;           // 1 shifted left 0 times, equivalent to 1 in decimal
const byte preview    = 1 << 1;           // 1 shifted left 1 times, equivalent to 2 in decimal
const byte program    = 1 << 2;           // 1 shifted left 2 times, equivalent to 4 in decimal

byte newTally[3] = {program, preview, 0};


void setup()
{
  sdiCameraControl.begin();
  sdiCameraControl.setOverride(true);     // Turn on control overrides
}

void loop()
{
                                          // cycle through RED, GREEN and NO Tally every half second
 
  for (int i = 0; i < 3; i++)
  {
    sdiCameraControl.writeCommandInt8(
      2,                                  // Destination:    doesn't care any number between 1 and 99
      9,                                  // Category:       Switcher Status
      6,                                  // Param:          Tally
      0,                                  // Operation:      Absolute
      newTally[i]                         // Tally Status    Program -> Preview -> OFF
    );

    delay(500);
  }
}




Should this work now? With the latest firmware?

I tried today but it doesn't work
Offline

Brendan Dower

Blackmagic Design

  • Posts: 60
  • Joined: Thu Oct 10, 2019 5:56 am
  • Real Name: Brendan Dower

Re: Controlling Viewfinder tally

PostWed Apr 05, 2023 6:08 am

Two data bytes are required to control the tally using the SwitcherStatus command:
1. TallyStatusFlags
2. Camera Number

Try the following implementation:
Code: Select all
const int cameraNumber = 2;

void loop() {

   // cycle through RED, GREEN and NO Tally every half second
   for (int i = 0; i < 3; i++) {

      // newTally data is combined with the camera number
      int8_t newTallyData[2] = {newTally[i], cameraNumber};

      sdiCameraControl.writeCommandInt8(1, 9, 6, 0, newTallyData);
      delay(500);
   }
}


This will also change the camera number displayed on the Viewfinder. Also works with the G2.
Brendan Dower
Blackmagic Design Developer Support
Offline

Berny64

  • Posts: 1
  • Joined: Fri Aug 18, 2023 6:04 am
  • Real Name: Bernhard Hahn

Re: Controlling Viewfinder tally

PostFri Aug 18, 2023 7:12 am

Hello, I'm facing the same issue. I'd like to use a BM USRA Viewfinder without a BM camera and toggle the tally display on and off.
It seems like JackobBTS has come up with a solution, so it should work somehow.
Could anyone provide me with tips on how to achieve this using the BMD Arduino shield?
I would greatly appreciate any assistance.

Best regards, Bernhard.

Return to Live Production

Who is online

Users browsing this forum: No registered users and 53 guests