Blackmagicdesign Design 3G-SDI Arduino Shield Installation And Operation Manual

Installation and Operation Manual
Blackmagic 3G-SDI Arduino Shield
November 2017
English,
日本語, Français, Deutsch, Español,
and
Italiano.
1Getting Started
Languages
To go directly to your preferred language, simply click on the hyperlinks listed in the contents below.
English 3
日本語
30
Français 56
Deutsch 84
Español 112
中文
한국어
Русский
140
168
196
Italiano 218

English

Welcome
Thank you for purchasing your new Blackmagic 3G-SDI Arduino Shield.
We are always interested in new technologies and are excited by all the creative ways our SDI products can be used. With your 3G-SDI Arduino Shield, you can now integrate the Arduino into your SDI workflow to get more control options with your Blackmagic Design equipment.
For example, ATEM switchers can control Blackmagic URSA Mini and Blackmagic Studio Cameras via data packets embedded in the SDI signal. If you are not running an ATEM switcher, but you would still like the ability to control your Blackmagic cameras, you can build custom control solutions with your 3G-SDI Arduino Shield. The shield gives you the SDI platform to build upon, so you can loop the program return feed from your switcher, through the shield, and into the program input on your Blackmagic Cameras.
Writing the code to send the commands to the camera is easy and all the supported commands are included in this manual.
You can control the cameras using a computer, or you can add buttons, knobs and joysticks to your shield and build dynamic hardware controllers for adjusting features such as lens focus and zoom, aperture settings, pedestal and white balance control, the camera’s powerful built in color corrector, and much more. Building your own custom controller is useful for production, but it’s also a lot of fun!
We are excited by this technology and would love to hear about any SDI controllers you have built for your 3G-SDI Arduino Shield!
This instruction manual contains all the information you need to start using your Blackmagic 3G-SDI Arduino Shield. Please check the support page on our website at www.blackmagicdesign.com for the latest version of this manual and for updates to your shield’s internal software. Keeping your software up to date will ensure you get all the latest features! When downloading software, please register with your information so we can keep you updated when new software is released. We are continually working on new features and improvements, so we would love to hear from you!
Grant Petty
CEO Blackmagic Design
Contents
Blackmagic 3G-SDI Arduino Shield
Getting Started 5
Attaching and Soldering Headers 5 Mounting to the Arduino Board 6 Plugging in Power 6 Connecting to SDI Equipment 7
Software Installation 8
Installing Internal Software 8
Installing Arduino Library Files 9
Blackmagic Arduino Shield Setup 10
2
C Address 10
I Video Format 10
Programming Arduino Sketches 11
Testing your Blackmagic Shield andLibrary Installation 11
LED Indicators 13
Attaching Shield Components 14
Communicating with yourArduinoShield 14
High Level Overview 14
2
C Interface 14
I Serial Interface 15 Example Usage 15
Studio Camera Control Protocol 15
Blackmagic Video Device Embedded Control Protocol 17 Example Protocol Packets 23
Developer Information 24
Help 28
Warranty 29

Getting Started

6 PIN
8 PIN

Attaching and Soldering Headers

Your Blackmagic 3G-SDI Arduino Shield is supplied with 4 stackable headers, including two 8pin headers, a 10 pin, and a 6 pin header. Headers are bridging connectors used to mount your shield to the Arduino board, and because they are stackable you can attach other shields on top with additional components, such as control buttons, knobs and joysticks. The header layout supports mounting to Arduino boards with an R3 footprint, such as the Arduino UNO.
To attach the headers to your shield:
1 Insert the pins of each header through the corresponding pin holes on each side of
your Blackmagic Arduino shield. Refer to the illustration below for the header layout arrangement.
0 - Serial RX 1 - Serial T X
(I2C) SDA (I2C) SCL
A5 (I2C) SCL A4 (I2C) SDA
NOTE When connecting to the shield, communication is via I2C or
2
Serial. We recommend I
C as this enables the serial monitor to be used and makes all other pins available. Select the communication mode when defining the BMDSDIControl object in the sketch. Refer to the ‘Communicating with your Arduino Shield’ section for more information.
2 Solder the base of each header pin to the underside of your shield. Make sure
the solder on each pin creates a firm join with the pin hole, but does not touch thesolderon nearby pins.
5Getting Started
TIP To help make sure all pins on your shield are aligned with the
female header pin slots on the Arduino board, it’s helpful to solder just one pin on each header first. Now place the shield onto the Arduino board to check the pin alignment. If any headers need adjusting, you can then warm the solder joint on the corresponding header and improve its alignment. This is a much easier method than soldering all the joints first and then trying to make adjustments.

Mounting to the Arduino Board

Now that your headers are soldered to your shield, you can mount the 3G-SDI shield to your Arduino board.
Carefully holding each side of the shield, align the header pins with your Arduino board’s headers and gently push the pins into the header slots. Be careful not to bend any of the pins while mounting the shield.
With all pins plugged in, the connection between the Blackmagic shield and the Arduino board should be firm and stable.

Plugging in Power

To power your Blackmagic 3G-SDI Arduino Shield, simply plug in a 12V power adapter into the 12V power input on your Blackmagic shield.
NOTE Plugging power into the Arduino board will not provide sufficient
power to the Blackmagic shield, however, powering the Blackmagic shield will provide power to the Arduino as well, so make sure power is connected to your Blackmagic shield only.
6Getting Started

Connecting to SDI Equipment

With power supplied, you can now plug your Blackmagic Arduino shield into your SDIequipment. For example, to plug into a switcher and a Blackmagic URSA Mini:
1 Plug the program output from your switcher to the Blackmagic Arduino shield’s
SDI input.
2 Plug your Blackmagic Arduino shield’s SDI output into the ‘program’ SDI input marked
PGM on your Blackmagic URSA Mini.
A connection diagram is provided below.
SDI IN
SDI OUT
Switcher
SDI ‘PGM’ Input
Blackmagic 3G-SDI Arduino Shield
Blackmagic URSA Mini
That’s all there is to getting started!
Now that your shield is mounted to the Arduino board, powered, and connected to your SDI equipment, you can install the internal software and library files, program the Arduino software and begin using the shield to control your equipment.
Continue reading the manual for information on how to install the shield’s internal software, and where to install the Arduino library files so the shield can communicate with your Arduino.
TIP You can also use your Blackmagic 3G-SDI Arduino Shield to control other
Blackmagic Design products, such as Blackmagic MultiView 16. For example, when your shield is connected to input 16, you can display a tally border on the multi view.
7Getting Started

Software Installation

NOTE Before installing the Blackmagic 3G-SDI Arduino Shield setup utility,
download the latest Arduino IDE software from www.arduino.cc and install it on your computer.
After installing the Arduino software, you can now install your Arduino shield’s internal software.

Installing Internal Software

Blackmagic Arduino Shield Setup is used to update your shield’s internal software. The internal software communicates with the Arduino board, and controls the board using Arduino library files. These library files are installed with the setup software and all you need to do is copy the folder containing the files and paste it into your Arduino application folder. You can find information about the library files and how to install them in the next section of this manual.
We recommend downloading the latest Blackmagic 3G-SDI Arduino Shield software and updating your shield so you can benefit from new features and improvements. The latest version can be downloaded from the Blackmagic Design support center at www.blackmagicdesign.com/support
To install the internal software using Mac OS X:
1 Download and unzip the Blackmagic 3G-SDI Arduino Shield software.
2 Open the resulting disk image and launch the Blackmagic Arduino Shield installer.
Follow the on screen instructions.
3 After installing the latest version of Blackmagic Arduino Shield installer, power your
Blackmagic shield and connect it to your computer via a USB cable.
4 Now launch the setup utility and follow any onscreen prompt to update your shield’s
internal software. If no prompt appears, the internal software is up to date and there is nothing further you need to do.
To install the internal software using WIndows:
1 Download and unzip the Blackmagic 3G-SDI Arduino Shield software.
2 You should see a Blackmagic Arduino Shield folder containing this manual and the
Blackmagic Arduino Shield installer. Double-click the installer and follow the onscreen prompts to complete the installation.
3 After installing the latest version of the Blackmagic Arduino Shield installer, power your
Blackmagic shield and connect it to your computer via a USB cable.
4 Now launch the setup utility and follow any onscreen prompt to update your shield’s
internal software. If no prompt appears, the internal software is up to date and there is nothing further you need to do.
8Software Installation

Installing Arduino Library Files

The programs written to control your Arduino are called sketches and your Blackmagic 3G-SDI Arduino Shield uses Arduino library files that help make writing sketches easier. After installing your shield’s setup software, the library files are installed into a folder named ‘Library’. All you need to do now is copy the folder containing the library files and paste it into your Arduino libraries folder.
NOTE The Arduino IDE software needs to be closed when installinglibraries.
To install the library files on Mac OS X:
1 Open ‘Blackmagic Arduino Shield’ in your ‘applications’ folder.
2 Open the ‘Library’ folder and right click/copy the folder named: BMDSDIControl.
3 Now go to your computer’s ‘documents’ folder and open the Arduino folder.
4 You will see a sub-folder named ‘libraries’. Paste the BMDSDIControl folder into the
‘libraries’ folder.
To install the library files on Windows:
1 Open the Programs/Blackmagic Arduino Shield folder.
2 You will now see a subfolder named ‘Library’. Open this folder and then right click/copy
the folder named: BMDSDIControl.
3 Now go to your computer’s ‘documents’ folder and open the Arduino folder.
4 You will see a sub-folder named ‘libraries’. Paste the BMDSDIControl folder into the
‘libraries’ folder.
That’s all you need to do to install the Blackmagic Design library files on your computer. When running the Arduino software, you will now also have Blackmagic Design example sketches to choose from.
Simply go to the ‘file’ drop down menu in the Arduino software menu bar, and select ‘examples’. Now select BMDSDIControl and you will see a list of example sketches you can use.
With the library files stored in the correct folder, your shield can now use them to communicate with the Arduino board. All you need to do is program the Arduino IDE software. Refer to the ‘Programming Arduino Sketches’ section for more information.
NOTE If an updated library file with examples is released in the future, you will
need to delete the old BMDSDIControl folder and replace it with the new folder using the method described above.
9Installing Arduino Library Files

Blackmagic Arduino Shield Setup

The Blackmagic Arduino Shield Setup software lets you change settings on your shield such as the I2C address and video output format.
With Blackmagic Arduino Shield Setup installed on your computer, you can now change settings
2
for your shield, such as the ‘I communicate with it, and the ‘video format’, which sets the output format for your shield.
C address’, which identifies your shield so the Arduino board can

I2C Address

In very rare cases, there is a potential for another shield mounted to your Blackmagic shield to
2
share the same I occurs, you can change your shield’s default address setting.
The default address for your shield is 0x6E, however, you can choose from a range of addresses between 0x08 and 0x77.
To change the address for your shield:
1 Launch Blackmagic Arduino Shield Setup and click on your shield’s ‘settings’ icon.
2 In the ‘set address to:’ edit box, type the address you wish to use.
3 Click ‘save’.
C address as your shield’s default address which will create a conflict. If this

Video Format

The default output format is selected in the setup utility for when no input is connected. When an input is detected, the output will follow the same format as the input. If this input is removed the output will revert to the default output format selected in the utility. You can change the video format by clicking in the ‘default output format’ drop down menu and selecting the format you want.
10Blackmagic Arduino Shield Setup
You can choose from the following video output formats:
720p50 720p59.94 720p60 1080i50 1080i59.94 1080i60 1080p23.98 1080p24 1080p25 1080p29.97 1080p30 1080p50 1080p59.94 1080p60

Programming Arduino Sketches

The programs, or sketches, written into the Arduino software are very easy to write! Sketches are written using common ‘C’ programming language. When programming your sketches using commands from the Studio Camera Control Protocol, the shield embeds these commands into the SDI output which lets you control your Blackmagic URSA Mini or Blackmagic Studio Cameras.
All supported commands are included in the Studio Camera Control Protocol section of this manual so you can take the commands from the protocol and use them in your sketch.
Testing your Blackmagic Shield andLibrary Installation
After everything is connected as described in the ‘Getting Started’ section and you have installed the setup software and library files, you’ll want to check that your shield is communicating with the Arduino board and that everything is working as it should.
A fast way is to open and run the supplied tally blink example sketch.
To do this:
1 Launch the Arduino IDE software.
2 Go to the ‘tools’ menu and select the Arduino board and Port number.
3 From the ‘File’ menu, select ‘Examples/BMDSDIControl’ and choose the sketch
named‘TallyBlink’.
4 Upload the sketch to your board.

11Testing your Blackmagic Shield and Library Installation

The Tally Blink example sketch is a fast and easy way to test your
2
Arduinoshield. Raw data can be sent to your shield via I
C using commands from the Studio Camera Protocol document, but we have also provided customlibraries to make programming sketches much easier.
NOTE Make sure your Blackmagic Camera’s tally number is set to 1.
You should now see the tally light on your Blackmagic Studio Camera blink once every second. If you see the tally light blinking you can be sure your Blackmagic shield is communicating with the Arduino and everything is working properly.
If the tally light is not blinking, check that your Blackmagic camera’s tally number is set to 1.
If you need further assistance, please visit the Blackmagic Design support center at www.blackmagicdesign.com/support. Refer to the help section of this manual for more information on the different ways you can get help setting up your shield.
12Testing your Blackmagic Shield and Library Installation

LED Indicators

10 PIN
8 PIN
8 PIN
Your Blackmagic 3G-SDI Arduino Shield has six indicator LEDs that confirm activity on your
2
shield such as power, UART, I camera control overrides are enabled.
LED 1 - System Active
Illuminates when power is connected to the shield.
LED 2 - Control Overrides Enabled
Illuminates if you have enabled camera control in your Arduino sketch.
LED 3 - Tally Overrides Enabled
Illuminates if you have enabled tally in your Arduino sketch.
2
LED 5 - I
Illuminates when communication is detected between your shield and the Arduino using the I
C Parser Busy
2
C protocol.
C and SPI communication, plus indicators to show when tally and
LED 1
LED 2
LED 3
LED 4
LED 5
LED 6
LED 6 - Serial Parser Busy
Illuminates when UART communication is detected.
When your Blackmagic shield is booting, the power indicator will remain off and LEDs 3, 4 and 5 will indicate the following activity.
LED 3 - Application image loading
LED 4 - EEPROM initializing
LED 5 - Memory check in progress
After a successful boot, the power LED will turn on and all LEDs will resume their standard functions during operation.
In the rare case of a boot failure, all LEDs except for the failed activity will flash rapidly so you can identify the cause of the failure.
13Testing your Blackmagic Shield and Library Installation

Attaching Shield Components

If you want to build your own hardware controller, you can create a new shield with buttons, knobs and a joystick for more tactile, hands on control. Simply mount the custom shield to your Blackmagic 3G-SDI Arduino Shield by plugging it into your shield’s header slots. There is no limit to the types of controllers you can build. You can even replace the circuitry in an old CCU with your own custom Arduino solution for an industry standard camera control unit.
You can create your own hardware controller and plug it into your Blackmagic3G-SDI Arduino Shield for more interactive and refined control.
Communicating with yourArduinoShield
You can communicate with your Arduino Shield via I2C or Serial. We recommend I2C because of
2
the low pin count and it frees up the serial monitor. This also allows you to use more I with the shield.

High Level Overview

The library provides two core objects, BMD_SDITallyControlandBMD_SDICameraControl, which can be used to interface with the shield’s tally and camera control functionalities. Either or both of these objects can be created in your sketch to issue camera control commands, or read and write tally data respectively. These objects exist in several variants, one for each of
2
the physicalI

I2C Interface

To use theI2Cinterface to the shield:
// NOTE: Must match address set in the setup utility software const int shieldAddress = 0x6E; BMD _ SDICameraControl _ I2C sdiCameraControl(shieldAddress); BMD _ SDITallyControl _ I2C sdiTallyControl(shieldAddress);
C or Serialcommunication busses the shield supports.
C devices

14Communicating with your Arduino Shield

Serial Interface

To use theSerialinterface to the shield:
BMD _ SDICameraControl _ Serial sdiCameraControl; BMD _ SDITallyControl _ Serial sdiTallyControl;
Note that the library will configure the Arduino serial interface at the required 38400 baud rate. If you wish to print debug messages to the Serial Monitor when using this interface, change the Serial Monitor baud rate to match. If the Serial Monitor is used, some binary data will be visible as the IDE will be unable to distinguish between user messages and shield commands.

Example Usage

Once created in a sketch, these objects will allow you to issue commands to the shield over selected bus by calling functions on the created object or objects. A minimal sketch that uses
2
the library via the I
// NOTE: Must match address set in the setup utility software const int shieldAddress = 0x6E; BMD _ SDICameraControl _ I2C sdiCameraControl(shieldAddress); BMD _ SDITallyControl _ I2C sdiTallyControl(shieldAddress);
void setup() { // Must be called before the objects can be used sdiCameraControl.begin(); sdiTallyControl.begin();
// Turn on camera control overrides in the shield sdiCameraControl.setOverride(true);
C bus is shown below.
// Turn on tally overrides in the shield sdiTallyControl.setOverride(true); }
void loop() { // Unused }
The list of functions that may be called on the created objects are listed further on in this document. Note that before use, you must call the‘begin’function on each object before issuing any other commands.
Some example sketches demonstrating this library are included in the Arduino IDE’sFile->Examples->BMDSDIControl menu.

Studio Camera Control Protocol

This section contains the Studio Camera Control Protocol from the Blackmagic Studio Camera manual. You can use the commands in this protocol to control your Blackmagic URSA Mini or Blackmagic Studio Camera via your Arduino shield.
The Blackmagic Studio Camera Protocol shows that each camera parameter is arranged in groups, such as:
15Studio Camera Control Protocol
Group ID Group
0 Lens
1 Video
2 Audio
3 Output
4 Display
5 Tally
6 Reference
7 Configuration
8 Color Correction
The group ID is then used in the Arduino sketch to determine what parameter to change.
The function: sdiCameraControl.writeXXXX, is named based on what parameter you wish to change, and the suffix used depends on what group is being controlled.
For example sdiCameraControl.writeFixed16 is used for focus, aperture, zoom, audio, display, tally and color correction when changing absolute values.
The complete syntax for this command is as follows:
sdiCameraControl.writeFixed16 ( Camera num ber, Gr o u p, Parameter being controlled, Operation, Value );
The operation type specifies what action to perform on the specified parameter
0 = assign value. The supplied Value is assigned to the specified parameter.
1 = offset value. Each value specifies signed offsets of the same type to be added to the current parameter Value.
For example:
sdiCameraControl.writeCommandFixed16( 1, 8, 0, 0, liftAdjust );
1 = camera number 1 8 = Color Correction group 0 = Lift Adjust 0 = assign value liftAdjust = setting the value for the RGB and luma levels
As described in the protocol section, liftAdjust is a 4 element array for RED[0], GREEN[1], BLUE[2] and LUMA[3]. The complete array is sent with this command.
The sketch examples included with the library files contain descriptive comments to explain their operation.
16Studio Camera Control Protocol

Blackmagic Video Device Embedded Control Protocol

Version 1.1
You can use the Video Device Embedded Control Protocol to control Blackmagic URSA Mini and Blackmagic Studio Cameras using your Arduino shield and construct devices that integrate with our products. Here at Blackmagic Design, our approach is to open up our protocols and we eagerly look forward to seeing what you come up with!
Overview
This document describes an extensible protocol for sending a uni-directional stream of small control messages embedded in the non-active picture region of a digital video stream.
The video stream containing the protocol stream may be broadcast to a number of devices. Device addressing is used to allow the sender to specify which device each message is directed to.
Assumptions
Alignment and padding constraints are explicitly described in the protocol document. Bit fields are packed from LSB first. Message groups, individual messages and command headers are defined as, and can be assumed to be, 32 bit aligned.
Blanking Encoding
A message group is encoded into a SMPTE 291M packet with DID/SDID x51/x53 in the active region of VANC line 16.
Message Grouping
Up to 32 messages may be concatenated and transmitted in one blanking packet up to a maximum of 255 bytes payload. Under most circumstances, this should allow all messages to be sent with a maximum of one frame latency.
If the transmitting device queues more bytes of message packets than can be sent in a single frame, it should use heuristics to determine which packets to prioritise and send immediately. Lower priority messages can be delayed to later frames, or dropped entirely as appropriate.
Abstract Message Packet Format
Every message packet consists of a three byte header followed by an optional variable length data block. The maximum packet size is 64 bytes.
Destination device (uint8) Device addresses are represented as an 8 bit unsigned integer. Individual
devices are numbered 0 through 254 with the value 255 reserved to indicate a broadcast message to all devices.
Command length (uint8) The command length is an 8 bit unsigned integer which specifies the length
of the included command data. The length does NOT include the length of the header or any trailing padding bytes.
Command id (uint8) The command id is an 8 bit unsigned integer which indicates the message
type being sent. Receiving devices should ignore any commands that they do not understand. Commands 0 through 127 are reserved for commands that apply to multiple types of devices. Commands 128 through 255 are device specific.
Reserved (uint8) This byte is reserved for alignment and expansion purposes. It should be
set to zero.
Command data (uint8) The command data may contain between 0 and 60 bytes of data.
Theformat of the data section is defined by the command itself.
17Studio Camera Control Protocol
Padding (uint8) Messages must be padded up to a 32 bit boundary with 0x0 bytes.
Anypadding bytes are NOT included in the command length.
Receiving devices should use the destination device address and/or the command identifier to determine which messages to process. The receiver should use the command length to skip irrelevant or unknown commands and should be careful to skip the implicit padding as well.
Defined Commands
Command 0: change configuration
Category (uint8) The category number specifies one of up to 256 configuration categories
available on the device.
Parameter (uint8) The parameter number specifies one of 256 potential configuration
parameters available on the device. Parameters 0 through 127 are devicespecific parameters. Parameters 128 though 255 are reserved for parameters that apply to multiple types of devices.
Data type (uint8) The data type specifies the type of the remaining data. The packet length is
used to determine the number of elements in the message. Each message must contain an integral number of data elements.
Currently defined values are:
0: void / boolean
A void value is represented as a boolean array of length zero. The data field is a 8 bit value with 0 meaning false and all other values
meaning true.
1: signed byte
Data elements are signed bytes
2: signed 16 bit integer
Data elements are signed 16 bit values
3: signed 32 bit integer
Data elements are signed 32 bit values
4: signed 64 bit integer
Data elements are signed 64 bit values
5: UTF-8 string
Data elements represent a UTF-8 string with no terminating character.
Data types 6 through 127 are reserved.
128: signed 5.11 fixed point
Data elements are signed 16 bit integers representing a real number with 5bits for the integer component and 11 bits for the fractional component.
The fixed point representation is equal to the real value multiplied by 2^11. The representable range is from -16.0 to 15.9995 (15 + 2047/2048).
Data types 129 through 255 are available for device specific purposes.
Operation type (uint8) The operation type specifies what action to perform on the specified
parameter. Currently defined values are:
18Studio Camera Control Protocol
0: assign value
The supplied values are assigned to the specified parameter. Each element will be clamped according to its valid range.
A void parameter may only be “assigned” an empty list of boolean type. This operation will trigger the action associated with that parameter. A boolean value may be assigned the value zero for false, and any other
value for true.
1: offset / toggle value
Each value specifies signed offsets of the same type to be added to the current parameter values.The resulting parameter value will be clamped according to their valid range.
It is not valid to apply an offset to a void value. Applying any offset other than zero to a boolean value will invert that value.
Operation types 2 through 127 are reserved.
Operation types 128 through 255 are available for device specific purposes.
Data (void) The data field is 0 or more bytes as determined by the data type and
number of elements.
The category, parameter, data type and operation type partition a 24 bit operation space.
Group ID Parameter Typ e Index Min Max Interpretation
Lens 0
.0 Focus fixed16 0.0 1.0 0.0=near, 1.0=far
Instantaneous
.1
autofocus
.2 Aperture (f-stop) fixed16 -1.0 16.0
Aperture
.3
(normalised)
.4 Aperture (ordinal) int16 0 n
Instantaneous
.5
auto aperture
Optical image
.6
stabilisation
Set absolute
.7
zoom (mm)
void
fixed16 0.0 1.0 0.0=smallest, 1.0=largest
void
boolean
int16 0 max
trigger instantaneous autofocus
Aperture Value (where fnumber = sqrt(2^AV))
Steps through available aperture values from minimum (0) to maximum (n)
trigger instantaneous auto aperture
true=enabled, false=disabled
Move to specified focal length in mm, from minimum (0) to maximum (max)
Set absolute
.8
zoom (normalised)
fixed16 0.0 1.0
Move to specified normalised focal length:
0.0=wide, 1.0=tele
19Studio Camera Control Protocol
Group ID Parameter Typ e Index Min Max Interpretation
Start/stop zooming at
Video 1
Set continuous
.9
zoom (speed)
fixed16 -1.0 +1.0
specified rate: -1.0=zoom wider fast, 0.0=stop, +1.0=zoom tele fast
[0] = frame rate
[1] = M-rate 0=regular, 1=M-rate
[2] =
.0 Video mode int8
.1 Sensor Gain int8 1 16 1x, 2x, 4x, 8x, 16x gain
Manual
.2
White Balance
.3 Reserved Reserved
.4 Reserved Reserved
.5 Exposure (us) int32 1 42000 time in us
.6 Exposure (ordinal) int16 0 n
int16 3200 7500 Colour temperature in K
dimensions
[3] = interlaced
[4] = colour space
24, 25, 30, 50, 60
0=NTSC, 1=PAL, 2=720,
0=YUV
3=1080, 4=2k, 5=2k DCI, 6=UHD
0=progressive, 1=interlaced
Steps through available exposure values from minimum (0) to maximum (n)
Audio 2
Dynamic
.7
Range Mode
Video
.8
sharpening level
.0 Mic level fixed16 0.0 1.0
Headphone
.1
level
Headphone
.2
program mix
.3 Speaker level fixed16 0.0 1.0
.4 Input type int8 0 2
int8 enum 0 1 0 = film, 1 = video
int8 enum 0 3
fixed16 0.0 1.0
fixed16 0.0 1.0
0=Off, 1=Low, 2=Medium, 3=High
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0=internal mic, 1=line level input, 2=low mic level input, 3=high mic level input
20Studio Camera Control Protocol
Group ID Parameter Typ e Index Min Max Interpretation
Output 3
Display 4
[0] ch0 0.0 1.0
.5 Input levels fixed16
[1] ch1 0.0 1.0
Phantom
.6
power
.0 Overlays
.0 Brightness fixed16 0.0 1.0
.1 Overlays
boolean
0x1 = display status
0x2 = display guides
uint16 bit field
int16 bit field
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
true = powered, false = not powered
Some cameras don’t allow separate control of guides and status overlays.
0.0=minimum,
1.0=maximum
0x4 = zebra 0x8 = peaking
Tally 5
.2 Zebra level fixed16 0.0 1.0
.3 Peaking level fixed16 0.0 1.0
Colour bars
.4
display time (seconds)
.0 Tally brightness fixed16 0.0 1.0
Tally front
.1
brightness
Tally rear
.2
brightness
int8 0 30
fixed16 0.0 1.0
fixed16 0.0 1.0
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0=disable bars, 1-30=enable bars with timeout (s)
Sets the tally front and tally rear brightness to the same level.
0.0=minimum,
1.0=maximum
Sets the tally front brightness. 0.0=minimum,
1.0=maximum
Sets the tally rear brightness. 0.0=minimum,
1.0=maximum
Tally rear brightness cannot be turned off
21Studio Camera Control Protocol
Group ID Parameter Typ e Index Min Max Interpretation
Reference 6
Configuration 7
Colour Correction
.0 Source int8 enum 0 1
.1 Offset int32 +/- offset in pixels
[0] time BCD - HHMMSSFF
.0 Real Time Clock int32
[1] date BCD - YYYYMMDD
.1 Reserved Reserved
8
[0] red -2.0 2.0 default 0.0
[1] green -2.0 2.0 default 0.0
.0 Lift Adjust fixed16
[2] blue -2.0 2.0 default 0.0
[3] luma -2.0 2.0 default 0.0
[0] red -4.0 4.0 default 0.0
[1] green -4.0 4.0 default 0.0
.1 Gamma Adjust fixed16
[2] blue -4.0 4.0 default 0.0
0=internal, 1=program, 2=external
[3] luma -4.0 4.0 default 0.0
[0] red 0.0 16.0 default 1.0
.2 Gain Adjust fixed16
.3 Offset Adjust fixed16
.4 Contrast Adjust fixed16
.5 Luma mix fixed16 0.0 1.0 default 1.0
.6 Colour Adjust fixed16
Correction
.7
Reset Default
void reset to defaults
[1] green 0.0 16.0 default 1.0
[2] blue 0.0 16.0 default 1.0
[3] luma 0.0 16.0 default 1.0
[0] red -8.0 8.0 default 0.0
[1] green -8.0 8.0 default 0.0
[2] blue -8.0 8.0 default 0.0
[3] luma -8.0 8.0 default 0.0
[0] pivot 0.0 1.0 default 0.5
[1] adj 0.0 2.0 default 1.0
[0] hue -1.0 1.0 default 0.0
[1] sat 0.0 2.0 default 1.0
22Studio Camera Control Protocol

Example Protocol Packets

Operation
trigger instantaneous auto focus on camera 4
turn on OIS on all cameras
set exposure to 10 ms on camera 4 (10 ms = 10000 us = 0x00002710)
add 15% to zebra level (15 % = 0.15 f = 0x0133 fp)
Packet Length
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
header command data
destination
length
command
reserved
category
parameter
8 4 4 0 0 0 1 0 0
12 255 5 0 0 0 6 0 0 1 0 0 0
12 4 8 0 0 1 5 3 0 0x10 0x27 0x00 0x00
12 4 6 0 0 4 2 128 1 0x33 0x01 0 0
type
Byte
operation
select 1080p 23.98 mode on all cameras
subtract 0.3 from gamma adjust for green & blue (-0.3 ~= 0xfd9a fp)
all operations combined
16 255 9 0 0 1 0 1 0 24 1 3 0 0 0 0 0
16 4 12 0 0 8 1 128 1 0 0 0x9a 0xfd 0x9a 0xfd 0 0
4 4 0 0 0 1 0 0 255 5 0 0 0 6 0 0
1 0 0 0 4 8 0 0 1 5 3 0 0x10 0x27 0x00 0x00
76
4 6 0 0 4 2 128 1 0x33 0x01 0 0 255 9 0 0
1 0 1 0 24 1 3 0 0 0 0 0 4 12 0 0
8 1 128 1 0 0
0x9a
0xfd
0x9a
0xfd 0 0
23Studio Camera Control Protocol

Developer Information

This section of the manual provides all the details you will need if you want to write custom libraries and develop your own hardware for your Blackmagic 3G-SDI Arduino Shield.
Physical Encoding - I2C
The shield operates at the following I2C speeds:
1. Standard mode (100 kbit/s)
2. Full speed (400 kbit/s)
2
The default 7-bit shield I
Shield Pin | Function
--------------------- |----------------------------­ A4 | Serial Data (SDA) A5 | Serial Clock (SCL)
2
C Protocol (Writes):**
**I
(START W) [REG ADDR L] [REG ADDR H] [VAL] [VAL] [VAL] ... (STOP)
2
C Protocol (Reads):**
**I
(START W) [REG ADDR L] [REG ADDR H] ... (STOP) (START R) [VAL] [VAL] [VAL] ... (STOP)
The maximum payload (shown as **VAL** in the examples above) read/write length (following the internal register address) in a single transaction is 255 bytes.
C slave address is 0x6E.
Physical Encoding - UART
The shield operates with a UART baud rate of 115200, 8-N-1 format.
Shield Pin | Function
--------------------- |----------------------------­ IO1 | Serial Transmit (TX) IO0 | Serial Receive (RX)
**UART Protocol (Writes):**
[0xDC] [0x42] [REG ADDR L] [REG ADDR H] [‘W’] [LENGTH] [0x00] [VAL] [VAL] [VAL] ...
**UART Protocol (Reads):**
[0xDC] [0x42] [REG ADDR L] [REG ADDR H] [‘R’] [LENGTH] [0x00] [VAL] [VAL] [VAL] ...
The maximum payload (shown as **VAL** in the examples above) read/write length (specified in the **LENGTH** field) in a single transaction is 255 bytes.
Register Address Map
The shield has the following user address register map:
Address | Name | R/W | Register Description
--------------------- |----------- |----- |-------------------------------
0x0000 - 0x0003 | IDENTITY | R | Hardware Identifier 0x0004 - 0x0005 | HWVERSION | R | Hardware Version 0x0006 - 0x0007 | FWVERSION | R | Firmware Version | | | 0x1000 | CONTROL | R/W | System Control | | | 0x2000 | OCARM | R/W | SDI Control Override Arm 0x2001 | OCLENGTH | R/W | SDI Control Override Length
24Developer Information
0x2100 - 0x21FE | OCDATA | R/W | SDI Control Override Data | | | 0x3000 | ICARM | R/W | SDI Control Incoming Arm 0x3001 | ICLENGTH | R | SDI Control Incoming Length 0x3100 - 0x31FE | ICDATA | R | SDI Control Incoming Data | | | 0x4000 | OTARM | R/W | SDI Tally Override Arm 0x4001 | OTLENGTH | R/W | SDI Tally Override Length 0x4100 - 0x41FE | OTDATA | R/W | SDI Tally Override Data | | | 0x5000 | ITARM | R/W | SDI Tally Incoming Arm 0x5001 | ITLENGTH | R | SDI Tally Incoming Length 0x5100 - 0x51FE | ITDATA | R | SDI Tally Incoming Data
All multi-byte numerical fields are stored little-endian. Unused addresses are reserved and read back as zero.
Register: IDENTITY (Board Identifier)
[ IDENTITY ] 31 0
**Identity:** ASCII string ‘SDIC’ (i.e. `0x43494453`) in hexadecimal.
Register: HWVERSION (Hardware
Version)
[ VERSION MAJOR ] [ VERSION MINOR ] 15 8 7 0
**Version Major:** Hardware revision, major component.
**Version Minor:** Hardware revision, minor component.
Register: FWVERSION (Firmware
Version)
[ VERSION MAJOR ] [ VERSION MINOR ] 15 8 7 0
**Version Major:** Firmware revision, major component.
**Version Minor:** Firmware revision, minor component.
Register: CONTROL (System Control)
[ RESERVED ] [ OVERRIDE OUTPUT ] [ RESET TALLY ] [ OVERRIDE TALLY ] [ OVERIDE CONTROL ] 7 4 3 2 1 0
**Reserved:** Always zero.
**Override Output:** When 1, the input SDI signal (if present) is discarded and the
shield generates its own SDI signal on the SDI output connector. When 0, the input signal is passed through to the output if present, or the shield generates its own SDI signal if not.
**Reset Tally:** When 1, the last received incoming tally data is immediately
copied over to the override tally data register. Automatically cleared by hardware.
**Override Tally:** When 1, tally data is overridden with the user supplied data.
When 0, input tally data is passed through to the output unmodified.
**Override Control:** When 1, control data is overridden with the user supplied data.
When 0, input control data is passed through to the output unmodified.
25Developer Information
Register: OCARM (Output Control
Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, the outgoing control is data armed and will be sent in
the next video frame. Automatically cleared once the control has been sent.
Register: OCLENGTH (Output Control
Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data to send in OCDATA.
Register: OCDATA (Output Control
Payload Data)
[ CONTROL DATA ] 255*8-1 0
**Control Data:** Control data that should be embedded into a future video frame.
Register: ICARM (Incoming Control
Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, incoming control data is armed and will be received in
the next video frame. Automatically cleared once a control packet has been read.
Register: ICLENGTH (Incoming
Control Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data in _ICDATA_. Automatically set when
a new packet has been cached.
Register: ICDATA (Incoming Control Payload Data)
[ CONTROL DATA ] 255*8-1 0
**Control Data:** Last control data extracted from a video frame since _ICARM.
ARM_ was reset.
Register: OTARM (Output Tally Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, the outgoing tally data is armed and will be continuously
from the next video frame until new data is set. Automatically cleared once the tally has been sent in at least one frame.
Register: OTLENGTH (Output Tally
Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data to send in OTDATA.
26Developer Information
Register: OTDATA (Output Tally Data)
[ TA LLY DATA ] 255*8-1 0
**Tally Data:** Tally data that should be embedded into a future video frame
(one byte per camera). Bit zero indicates a Program tally, while bit one indicates a Preview tally.
Register: ITARM (Input Tally Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, tally data armed and will be received in the next video
frame. Automatically cleared once the tally has been read.
Register: ITLENGTH (Input Tally
Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data in _ITDATA_. Automatically set when
a new packet has been cached.
Register: ITDATA (Input Tally Data)
[ TA LLY DATA ] 255*8-1 0
**Tally Data:** Last tally data extracted from a video frame since _ITARM.ARM_
was reset (one byte per camera). Bit zero indicates a Program tally, while bit one indicates a Preview tally.
27Developer Information

Help

Getting Help
Your Blackmagic 3G-SDI Arduino Shield is a developers tool designed for you to develop independently based on your custom requirements.
For the most up to date information about your shield, visit the Blackmagic Design online support pages and check the latest support material.
Blackmagic Design Online Support Pages
The latest manual, software and support notes can be found at the Blackmagic Design support center at www.blackmagicdesign.com/support.
Arduino Development Forum
If you have programming questions, you can get help from Arduino development forums on the Internet. There is a whole community of Arduino developers and many good quality forums where you can ask software questions, or even find a willing engineer to hire to implement your solution for you!
Blackmagic Design Forum
The Blackmagic Design forum on our website is a helpful resource you can visit for more information and creative ideas. This can also be a faster way of getting help as there may already be answers you can find from other experienced users and Blackmagic Design staff which will keep you moving forward. You can visit the forum at https://forum.blackmagicdesign.com
Checking the Software Version Currently Installed
To check which version of Blackmagic Arduino Shield Setup software is installed on your computer, open the About Blackmagic Arduino Shield Setup window.
On Mac OS X, open Blackmagic Arduino Shield Setup from the Applications folder.
Select About Blackmagic Arduino Shield Setup from the application menu to reveal theversion number.
On Windows 7, open Blackmagic Arduino Shield Setup from your Start menu.
Clickonthe Help menu and select About Blackmagic Arduino Shield Setup to reveal the version number.
On Windows 8, open Blackmagic Arduino Shield Setup from the Blackmagic Arduino
Shield Setup tile on your Start page. Click on the Help menu and select About Blackmagic Arduino Shield Setup to reveal the version number.
How to Get the Latest Software Updates
After checking the version of Blackmagic Arduino Shield Setup software installed on your computer, please visit the Blackmagic Design support center at www.blackmagicdesign.com/ support to check for the latest updates. While it is usually a good idea to run the latest updates, it is wise to avoid updating any software if you are in the middle of an important project.
28Help

Warranty

12 Month Limited Warranty
Blackmagic Design warrants that the Blackmagic 3G-SDI Arduino Shield product will be free from defects in materials and workmanship for a period of 12 months from the date of purchase. If a product proves to be defective during this warranty period, Blackmagic Design, at its option, either will repair the defective product without charge for parts and labor, or will provide a replacement in exchange for the defective product.
In order to obtain service under this warranty, you the Customer, must notify Blackmagic Design of the defect before the expiration of the warranty period and make suitable arrangements for the performance of service. The Customer shall be responsible for packaging and shipping the defective product to a designated service center nominated by Blackmagic Design, with shipping charges pre paid. Customer shall be responsible for paying all shipping changes, insurance, duties, taxes, and any other charges for products returned to us for any reason.
This warranty shall not apply to any defect, failure or damage caused by improper use or improper or inadequate maintenance and care. Blackmagic Design shall not be obligated to furnish service under this warranty: a) to repair damage resulting from attempts by personnel other than Blackmagic Design representatives to install, repair or service the product, b) to repair damage resulting from improper use or connection to incompatible equipment, c) to repair any damage or malfunction caused by the use of non Blackmagic Design parts or supplies, or d) to service a product that has been modified or integrated with other products when the effect of such a modification or integration increases the time or difficulty of servicing the product. THIS WARRANTY IS GIVEN BY BLACKMAGIC DESIGN IN LIEU OF ANY OTHER WARRANTIES, EXPRESS OR IMPLIED. BLACKMAGIC DESIGN AND ITS VENDORS DISCLAIM ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. BLACKMAGIC DESIGN’S RESPONSIBILITY TO REPAIR OR REPLACE DEFECTIVE PRODUCTS IS THE WHOLE AND EXCLUSIVE REMEDY PROVIDED TO THE CUSTOMER FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES IRRESPECTIVE OF WHETHER BLACKMAGIC DESIGN OR THE VENDOR HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. BLACKMAGIC DESIGN IS NOT LIABLE FOR ANY ILLEGAL USE OF EQUIPMENT BY CUSTOMER. BLACKMAGIC IS NOT LIABLE FOR ANY DAMAGES RESULTING FROM USE OF THIS PRODUCT. USER OPERATES THIS PRODUCT AT OWN RISK.
© Copyright 2016 Blackmagic Design. All rights reserved. ‘Blackmagic Design’, ‘DeckLink’, ‘HDLink’, ‘Workgroup Videohub’, ‘ Videohub’, ‘DeckLink’, ‘Intensity’ and ‘Leading the creative video revolution’ are registered trademarks in the US and other countries. All other company and product names may be trade marks of their respective companies with which they are associated. Thunderbolt and the Thunderbolt logo are trademarks of Intel Corporation in the U.S. and/or other countries.
29Warranty
インストール/オペレーションマニュアル
Blackmagic 3G-SDI Arduino Shield
2017年11
日本語
ようこそ
このたび は 新しい ざいました。
私たちは常に新しいテクノロジーに関心を持っており、弊社の されていることを 非 常 に嬉しく思っています。
SDI
ワークフローに組 み込んで、より多くのコントロールオプションを
追 加 で きます。
例えば、
URSA MiniやBlackmagic Studio Camera
いないけれども カスタムコントロールソリューションを構 築 できます。同シールドは 用できるので、スイッチャーからのプログラムリターンフィードを、シールドを通じて カメラ の プ ロ グ ラム 入 力 に ル ープ で きます。
カメラにコマンドを送信するためのコードの書き込みは簡単で、すべての対応コマンドが同マニュ アル に記 載 さ れ て い ま す。
コンピューターからカメラをコントロールすることもでき、あるいはボタン、ノブ、ジョイスティック をシールドに追 加してダイナミックなハードウェアコントローラ ー を構 築 することで、レンズ フォーカス、ズーム、アパーチャー設定、ペデスタルおよびホワイトバランスコントロール、そして カメラのパワフルな内蔵カラーコレクターなどの 機 能を調 整することも可能です。独自のカスタム コントローラーはプロダクションで 便利に使用できますが、それ以上に開発自体が面白いのです!
SDI
Blackmagic 3G-SDI Arduino Shield
3G-SDI Arduino Shield
信 号 に エ ン ベ ッドした デ ー タ・パ ケット 経 由 で、
をコントロ ールで きます。
Blackmagic
カメラをコントロールしたい 場 合 は 、
をお買い求めいただき誠にありがとうご
SDI
製品がクリエイティブに使用
を使用すれば、
Blackmagic Design
ATE M
スイッ チ ャ ー か ら
ATE M
スイッ チ ャ ー を 使 用 して
3G-SDI Arduino Shield
SDI
プ ラ ットフォ ーム と し て 使
Arduino
Blackmagic
Blackmagic
製品に
を 使 って
このテクノロジーは拡張 性が高く、多くの使用方法が考えられます。 ムビルドした際には 、その内容を ぜ ひお聞かせください!
このマニュアルには 、 記 載 さ れ て い ま す。弊 社 ウ ェ ブ サ イ ト マニュアルの最新バージョンを確認し、シールドの内部ソフトウェアをアップデートしてください。 ソフトウェアをアップデ ートすることで、常に 最 新の 機 能をお 使 いいただけ ます。ソフトウェア をダウンロードする際にユーザー登録をしていただければ、新しいソフトウェアのリリース時に お客様にお知らせいたします。私たちは常に新機能の開発および製品の改善に努めていますの で、ユーザー の皆様からご意見をいただけれ ば幸いです。
BlackmagicDesignCEO
グ ラ ン ト・ペ ティ
Blackmagic 3G-SDI Arduino Shield
www.blackmagicdesign.com/jp
を使用する上で必要な情報がすべて
SDI
コントロ ー ラ ー を カスタ
のサポートページ で 同
目次
Blackmagic3G-SDIArduinoShield
はじめに  32
ヘッダーの取り付けおよびはんだ付け  
Arduino
電源の接続  
SDI
ソフトウェアのインスト ール  35
内 蔵 ソフトウェアの インストール  
ボードへのマウント  
機器への接続  
32 33 33 34
35
Arduino
BlackmagicArduinoShield
2
I
ビデオフォーマット  
Arduino
BlackmagicShield
LED
シールドコンポーネントの取り付け  41
CommunicatingwithyourArduinoShield
High Level Overview
StudioCameraControlProtocol
Blackmagic Video Device Embedded Control Protocol Example Protocol Packets
DeveloperInformation
ヘルプ  55
ライ ブラリファイル の インスト ール  36
の設定 37
C
アドレス  
スケッチのプログラミング 38
のテストとライブ ラリのインストール  38
インジケーター  
 41
2
I
C Interface Serial Interface Example Usage
 42
 51
37 37
40
42 42
44 50
41 41
保証 56

はじめに

6 PIN
8 PIN

ヘッダーの取り付けおよびはんだ付け

Blackmagic 3G-SDI Arduino Shield
ダーが2つ 、そ し て10ピン/6ピ ンヘッダー が1つ ず つ で す。ヘ ッ ダ ー は 、 するためのブリッジコネクターです。積み重ねられるので、コントロールボタンやノブ、ジョイスティック などの追 加コンポーネントの付いた別のシールドをさらに取り付けることが 可能です。ヘッダーレイアウ
Arduino UNO
トは、
など、R3フットプリントの
に は 、積 み 重 ね 可 能 な4つの ヘッダー が 同 梱 されて いま す。8ピ ンヘッ
Arduino
Arduino
ボードへのマウントをサ ポートします。
ボードにシールドをマウント
ヘッ ダー を シ ー ル ド に 取 り 付 け る:
1
各 ヘ ッ ダ ー の ピ ン を 、
差し込みます。ヘッダーレイアウトの配置に関しては、以下の図を参照してください。
0-SerialRX
SerialTX
1-
(I2C)SDA (I2C)SCL
Blackmagic Arduino
シールドの 各サイドにある、対 応 するピンホールに
A5(I2C)SCL A4(I2C)SDA
メモ シ ールドと接 続 する 際 、
C
あるいはシリアル経由で 通信します。
I2C
2
I
リアルモニターを有効にしてすべてのピンを使用できるため、これを推奨しま す 。ス ケ ッ チ で し ま す 。 詳 細 は 、「
BMDSDIControl
オブジェクトを設定する際に通信モードを選択
Communicating with your Arduino Shield
」セ ク シ ョ ン
を 参 照してくだ さ い 。
2
各ヘッダーピンの底部をシールドの下面にはんだ付けします。各ピンのはんだがピンホールに
しっかり接合され、周辺のピンに触れていないことを確認します。
はシ
はじめに
33
作業のこつ シールド上 の すべ てのピ ン が
Arduino
ボードのメスの ヘッダーピ ン・ ス ロ ッ ト と 確 実 に 一 致 す る よ う に 、各 ヘ ッ ダ ー で1つのピンだけを最初にはんだ 付け するとよいでしょう。その 後、シールドを
Arduino
ボード の 上 に 配 置してピ ンの配置を確認します。ヘッダーを調整する必要がある場合は、対応するヘッ ダーのはんだの接合部を温めて配置を調整します。この方法は、最初にすべて の ピ ン を 接 合 して しま って か ら 調 整 す る よ り ず っ と 簡 単 で す。
Arduino
ヘッダーをシールドにはんだ付けしたら、次はこの
シ ー ル ド の 両 サ イ ド を 注 意 深 く 持 ち 、ヘ ッ ダ ー ピ ン を ロットへゆっくりと差し込みます。シールドをマウントする際に、ピンが曲がらないように注意してください。
ボードへ のマ ウント
すべてのピ ン が 差し込 まれると、
Arduino
ボードはしっかりと接続され 固定されます。
Blackmagic
3G-SDI
Arduino
シールドと
シールドを
ボードのヘッダーと揃えてピンをヘッダース
Arduino
ボード に マ ウントしま す。

電源の接続

Blackmagic 3G-SDI Arduino Shield 12V
電 源 入 力に 差 し 込 み ます。
Arduino
メモ
ボードに電源を接続しても、 が供給されませんが、 にも給電されるので、電源が を 確 認 してください 。
に電源を入れるには、
Blackmagic
シールドに電源を接続すれば
Blackmagic
12V
電源 アダ プターを
Blackmagic
シールドには十 分な 電 力
Blackmagic
Arduino
シールドに接続されていること
シールドの
ボード
はじめに
34
SDI
機器への接続
電 源 を 接 続 し た ら 、次 に
SDI
などの
以 下 の 接 続 図 を 参 照してくだ さ い 。
機 器 に 接 続しま す。
1
ス イッ チ ャ ー か ら の プ ロ グ ラム 出 力 を
Blackmagic Arduino
2
PGM
)に 接 続 し ま す 。
Switcher
Blackmagic 3G-SDI Arduino Shied
シールドの
Blackmagic Arduino
SDI
Blackmagic URSA Mini
出力を
SDI IN
SDI OUT
を スイッチ ャー と
シールドの
Blackmagic 3G-SDI Arduino Shield
Blackmagic URSA Mini
SDI
入 力に 接 続 します。
の「 プ ロ グ ラム 」
SDI
入力
SDI ‘PGM’ Input
Blackmagic URSA Mini
最初に必要な作業はこれだけです!
ここまでの 作 業でシールドが で内 部ソフトウェア およびライブラリファイル の インストール、 可能となり、シールドを使ったコントロールを開始できます。
シールドと ライブラリファイルの インストール場所に関しては 、同マニュアル を読み進めてください 。
Arduino
を通 信可 能にするためのシールドの内 部ソフトウェアのインストール方法および
作業のこつ 
Blackmagic Design
他の
Blackmagic 3G-SDI Arduino Shield
Arduino
ボードにマウントされ、電源および
Arduino
Blackmagic MultiView 16
は、
製品をコントロールすることもで きます。例えば、シールドを
SDI
機 器 に 接 続 さ れ ま し た 。こ れ
ソフトウェアのプ ログ ラム 作 成 が
入力16に接続すると、マルチビューでタリーボーダーを表示できます。
Arduino
などの
はじめに
35

ソフトウェアの インストール

Blackmagic 3G-SDI Arduino Shield Setup
メモ
に 、最 新 の
Arduino IDE
ソフトウェ ア を
ピューターにインストールしてください。
www.arduino.cc
ユー ティリティをインストールする前
からダウンロードして、コン
Arduino
ソフトウェ アの インストール 後 、
Arduino
シールドの内部ソフトウェアをイン
ス ト ー ル で き ま す。。

内 蔵 ソフトウェアの インストール

Blackmagic Arduino Shield Setup
フトウェ ア は これらのライブラリファイルは 、セットアップソフトウェアで インストールできます。必 要な作 業 は 、ファ イルを含むフォルダーをコピーして アルの次セクションで、ライブラリファイルおよびライブ ラリファイルの インストール方 法 に関して 説 明 しま す。
新しい機能および改良機能を使用できるよう、最新の をダウンロ ードしてシールドをアップ デ ートすることをお 勧 めしま す。最 新バージョンは、
Design
MacOSX
1Blackmagic 3G-SDI Arduino Shield
2
3
4
Arduino
ボードと 通 信し、
サ ポ ー ト セ ン タ ー(
で 内 部 ソ フトウ ェ ア を イ ンス ト ー ル す る:
デ ィス ク イ メ ー ジ を 開 い て
指 示 に 従 ってく だ さ い 。
最 新 バージョンの
シールドの 電 源 を 入れて、
セットアップ・ユーティリティを起動し、スクリーンの指示に従ってシールドの内部ソフトウェア
をアップ デ ートします。内 部ソフトウェア が 最 新 で 何もする必 要 が な い 場 合、指 示 は 表示 されません。
www.blackmagicdesign.com/jp/support
を使ってシールドの 内 部 ソフトウェアをアップ デ ートできます。内部ソ
Arduino
Arduino
Blackmagic Arduino Shield Installer
Blackmagic Arduino Shield
USB
ライブ ラリファイルを 使ってボードをコントロールします。
アプリケ ーションフォル ダー に ペーストするだけ で す。同マニュ
Blackmagic 3G-SDI Arduino Shield
)で ダ ウ ン ロ ー ド で き ま す 。
ソフトウェ ア を ダ ウン ロ ードして 解 凍します。
を 起 動 し ま す 。ス ク リ ー ン 上 の
インストーラ ー を インストールしたら、
ケーブルでコンピューターと接 続します。
ソフトウェア
Blackmagic
Blackmagic
WIndows
1
2
3
4
で 内 部 ソ フトウ ェ ア を イ ンス ト ー ル す る:
Blackmagic 3G-SDI Arduino Shield
同 マ ニ ュ ア ル お よ び
Shield
フォルダーが確認できます。インストーラーをダブルクリックし、画面に表示される指示
に従ってインストールします。
最 新 バ ー ジ ョ ン の シールドの 電 源 を 入れて、
セットアップ・ユーティリティを起動し、スクリーンの指示に従ってシールドの内部ソフトウェア をアップ デ ートします。内 部ソフトウェア が 最 新 で 何もする必 要 が な い 場 合、指 示 は 表示 されません。
Blackmagic Arduino Shield
Blackmagic Arduino Shield
USB
ソフトウェ ア を ダ ウン ロ ードして 解 凍します。
インストーラ ー を 含む
インストーラ ー を インストールしたら、
ケーブルでコンピューターと接 続します。
Blackmagic
ソフトウェア のインスト ー ル
Arduino
Blackmagic
36
Arduino
ライブラリファイルのインストール
Arduino Arduino Shield
セットアップ ソフトウェ ア を イ ンスト ー ル し たら 、ラ イ ブ ラ リファイル は「 にインストールされます。必要な作業は、ライブラリファイルを含むフォルダーをコピーして ライブ ラリフォル ダー にペーストするだ け で す。
MacOSX
Windows
をコントロールするために書き込まれたプ ログラムはスケッチと呼 ばれます。
は、スケッチを簡単に書き込める
メモライブラリをインストール 中は 、
で ラ イ ブ ラ リ フ ァ イ ル を イ ン ス ト ー ル:
1
Application
Library
2
3
コ ン ピ ュー タ ー の「
Libraries
4
ペーストします。
で ラ イ ブ ラ リ フ ァ イ ル を イ ン ス ト ー ル:
1Progurams/Blackmagic Arduino Shield
」フ ォ ル ダ ー か ら「
」 フ ォ ル ダ ー を 開 い て 、「
Documents
」という名前のサブフォルダーがあるので、そこに「
Blackmagic Arduino Shield
BMDSDIControl
」フ ォ ル ダ ー へ 行 き 、
Arduino
Arduino IDE
フォル ダー を開 きま す。
ライブ ラリファイルを 使 用しま す。シ ールドの
ソフトウェアを 閉 じる 必 要 が ありま す。
」というフォルダーを右クリックでコピーします。
Arduino
Library
」を 開 き ま す 。
フォル ダー を開 きま す。
BMDSDIControl
」と名前の付いたフォルダー
Blackmagic 3G-SDI
」フ ォ ル ダ ー を
Arduino
Libraries
2
右クリックでコピーします。
3
コ ン ピ ュー タ ー の「
Libraries
4
ペーストします。
これで、 トウェア を 起 動 すると
Arduino
す 。次 に「
ライブ ラリファイルが 適 切 なフォルダーに保 存されて い れ ば、シ ールドはこれらのファイルを 使 用して
Arduino
は 、「
Blackmagic Design
ソフトウェアのメニューバーから「
BMDSDIControl
ボ ー ド と 通 信 で き ま す。必 要 な 作 業 は
Arduino
」という名前のサブフォルダーがあるので、「
Documents
」という名前のサブフォルダーがあるので、そこに「
ライブラリファイルをコンピューターにインストールできました。
Blackmagic Design
」を選択すると、使用可能なスケッチ例のリストが表示されます。
ス ケ ッ チ の プ ロ グ ラ ミ ン グ 」セ ク シ ョン を 参 照 し て く だ さ い 。
」フ ォ ル ダ ー へ 行 き 、
のスケッチ 例 を 選 択 で きるように なりま す。
File
」 ド ロ ッ プ ダ ウ ン メ ニ ュ ー へ 行 き 、「
Arduino IDE
BMDSDIControl
Arduino
フォル ダー を開 きま す。
BMDSDIControl
ソ フ ト ウ ェ ア の プ ロ グ ラ ム 作 成 の み で す 。詳 細
」と い う フ ォ ル ダ ー を
」フ ォ ル ダ ー を
Arduino
Examples
」を 選 択 し ま
ソフ
メモ 将来、アップデートされたライブラリファイルがリリースされた場合、古い
BMDSDIControl
」フォル ダー を 削 除 し、上 記に 記 載 され た 方 法 で 新しいフォル ダー に
置き換える必 要があります。
の設定
37BlackmagicArduinoShield
BlackmagicArduinoShield
の設定
Blackmagic Arduino Shield Setup
ビデオ出力フォーマットなど、シールドの設定を変更できます。
Blackmagic Arduino Shield Setup
特 定 して る「ビデオフォーマット 」などのシールド設定を変更できます。
I2C
ごく稀 に 、
I2C
設 定 を 変 更で き ま す。
シールドのデフォルトアドレスは
シールドのアドレスを変更:
Arduino
ボ ー ド と 通 信 で き る よ う に す る「
アドレス
Blackmagic
アドレスを共 有しており、問 題 が 発 生するケースがあります。この 場 合、シ ールドの デフォルトアドレス
1
Blackmagic Arduino Shield Setup
2
Set address to:
3
Save
シールドにマウントした別のシ ールドが、シールドの デ フォルトアドレスと同 一 の
0x6E
」の編 集 ボックスで 使 用したいアドレスを入 力します。
」を クリ ッ ク し ま す。
ソ フトウェ ア を 使 って、
をコ ンピュー ター に インスト ールして い れ ば 、使 用してい るシールド を
ですが、
2
I
C
アドレス」や、シ ールドの出力フォーマットを設 定す
0x08から0x77
を 起 動 し 、シ ー ル ド の「
I2C
アドレスや
まで の 範 囲 でアドレスを 選 択 で きます。
Settings
」ア イ コ ン を ク リ ッ ク し ま す。

ビ デ オ フォ ー マット

入 力 が 接続 さ れて い な い 場 合 、デ フォル ト の 出 力 フォーマットは 、セットアップ ユー ティリ ティで 選 択さ れ ます。入力が検出されると、出力は入力フォーマットと同じになります。入力が途切れると、出力はユー ティリティで 選 択した デ フォルト出力フォーマットに 戻ります。「 ンメニューをクリックして使用したいフォーマットを選択すればビデオフォーマットを変更できます。
Default output format
」の ド ロ ッ プ ダ ウ
の設定
38BlackmagicArduinoShield
以下のビデオ出力フォーマットから選択できます:
720p50
720p59.94
720p60
1080i50
1080i59.94
1080i60
1080p23.98
1080p24
1080p25
1080p29.97
1080p30
1080p50
1080p59.94
1080p60
Arduino
Arduino
ソフトウェアのプログラム、あるいはスケッチは簡単 に書き込 みで きます。スケッチは共通の「C」 プログラミング言語を使 用して書き込まれます。 してスケッチをプログラミングする際、同シールドはこれらのコマンドを
Blackmagic URSA Mini
すべての対応コマンドは、同マニュアルの す。プ ロトコルか らコマンド を 取り出 してスケッチ に使 用してくだ さ い 。
BlackmagicShield
スケッチのプログラミング
Studio Camera Control Protocol
SDI
あるいは
Blackmagic Studio Camera
Studio Camera Control Protocol
をコントロールできるようになります。
セクションに記載されていま
のテストとライブラリの
からのコマ ンド を 使 用
出 力 に エ ン ベッドし 、
インストール
「はじめ に 」セクションに記 載されている通りにすべての 接 続 が 完了し、セットアップソフトウェアおよび ライブ ラリファイルをインストールしたら、シールドが 調 に 動 作してい る か どうか を 確 認しま す。
一番スピーディな方 法 は 、タリー点 滅のスケッチ 例 を開いて使用してみることです。
以下の手順に従います:
1Arduino IDE
2
Tool s
ソフトウェア を 起 動 す る 。
」メ ニ ュ ー へ 行 き 、
Arduino
ボードとポート番 号 を 選 択します。
Arduino
ボ ー ドと 通 信 可 能 と な って お り すべ て が 順
File
3
4
ボードに スケッチをアップロードします。
」メ ニ ュ ー か ら「
スケ ッ チ を 選 択しま す。
Examples/BMDSDIControl
」 を 選 択 し 、「
TallyBlink
のテストとライブラリの インストー ル
」と い う 名 前 の
39BlackmagicShield
タリー点滅のスケッチ例は、最もスピーディかつ簡単に 可 能 で す。
2
I
して、
C
経由でシールドに送信されますが、簡単にスケッチをプログラミングできるよ
RAW
データは 、
Studio Camera Protocol
う、カスタムライブラリも提供しています。
Blackmagic Camera
メモ
Blackmagic Studio Camera
これで 確認できたら、 ことで す。
Blackmagic
のタリー 番 号を1に 設 定 してくだ さい 。
のタリー ラ イトが1秒に1度点滅するはずです。タリーライトの点滅が
シールドが
Arduino
と通 信 できており、すべてが正常に動作しているという
Arduino
シールドの テストが
ドキュメントからのコマンドを 使 用
タリーが点 滅 しない 場 合、
サポートやアドバイスが必要な場合は、
com/jp/support
セクシ ョン を 参 照してくだ さ い 。
)をご利用ください。シールドの設定に関するサポートの詳 細 は 、同マニュアルの「ヘルプ」
Blackmagic
カメラ の タリー 番 号 が1に 設 定 さ れてい る か 確 認 してください 。
Blackmagic Design
の サ ポ ート セ ン タ ー(
www.blackmagicdesign.
のテストとライブラリの インストー ル
40BlackmagicShield
LED
10 PIN
8 PIN
8 PIN
インジケーター
Blackmagic 3G-SDI Arduino Shieldには6
通信シールドなどのアクティビティを確 認 できます。さらにタリーおよびカメラコントロールのオーバー ライドが 有 効になっていることを示すインジ ケーターが ありま す。




LED1-
 シ ス テ ム・ア ク テ ィ ブ 
電源がシールドに接続されている時に光ります。
LED2-
Arduino
LED3-
Arduino
LED5-I
シールドと
 コントロ ールオーバ ー ラ イド 有 効 
スケッチでカメラコントロールを有 効 にすると光ります。
 タリ ーオーバーライド有 効 
スケッチで タリーを有 効 にすると光りま す。
2
C
パーサ使 用中
Arduino
の間で
I
つのインジケーター
2
C
プロトコルを使用した通信が 検 出されると光ります。
LED
が 付 い て お り 、電 源 、
UART、I2C、SPI
LED1
LED2
LED3
LED4
LED5
LED6

Blackmagic
ティが 行 わ れていることを意 味しま す。

ブートが 適 切 に終了したら電 源
ごく稀 にブートに 失 敗した 場 合 は 、失 敗したアクティビ ティ以 外 の すべ ての 失敗の原因が分かります。
LED6-
UART
LED3-
LED4-EEPROM
LED5-
シリアルパー サ 使 用中 
通信が検出されると光ります。
シールドのブート中、電源インジケーターはオフのままで、
 ア プ リケ ー シ ョン イメー ジ の ロ ー ド
の初期化
 メモリー チェック 処 理 中
LED
が 光 り 、す べ て の
LED
が 操 作 中 の 通 常 機 能 に 戻りま す。
LED3、4、5
は 以 下 のアクティビ
LED
が高 速 点 滅するので
シールドコンポ ー ネントの 取り付 け
41

シールドコンポーネントの取り付け

独自のハードウェアコントローラーを構築したい場合、ボタン、ノブ、ジョイスティックなどを使い、より 触覚的かつ実 践 的な新しいシールドを 作成で きます。カスタムシールドをヘッダースロットに接続して
Blackmagic 3G-SDI Arduino Shield
せ ん 。古 い ル ユ ニット を 作 成 す ることもで き ま す。
CCU
の 回 路 を 独 自 の カ スタム
独自のハードウェアコントローラーを作成し、
Blackmagic3G-SDI Arduino Shield
よりインタラクティブかつ精 密 なコントロールを実 現 。
にマ ウントします。作成 するコントローラー の タイプに 制 限はありま
Arduino
ソリューションと交 換 して、業 界 標 準 のカメラコントロー
に接 続して、
Communicatingwith
yourArduinoShield
You can communicate with your Arduino Shield via I2C or Serial. We recommend I2C because of
2
the low pin count and it frees up the serial monitor. This also allows you to use more I with the shield.
HighLevelOverview
The library provides two core objects, BMD_SDITallyControlandBMD_SDICameraControl, which can be used to interface with the shield’s tally and camera control functionalities. Either or both of these objects can be created in your sketch to issue camera control commands, or read and write tally data respectively. These objects exist in several variants, one for each of
2
the physicalI

I2C Interface

To use theI2Cinterface to the shield:
// NOTE: Must match address set in the setup utility software const int shieldAddress = 0x6E; BMD _ SDICameraControl _ I2C sdiCameraControl(shieldAddress); BMD _ SDITallyControl _ I2C sdiTallyControl(shieldAddress);
C or Serialcommunication busses the shield supports.
C devices
42CommunicatingwithyourArduinoShield

Serial Interface

To use theSerialinterface to the shield:
BMD _ SDICameraControl _ Serial sdiCameraControl; BMD _ SDITallyControl _ Serial sdiTallyControl;
Note that the library will configure the Arduino serial interface at the required 38400 baud rate. If you wish to print debug messages to the Serial Monitor when using this interface, change the Serial Monitor baud rate to match. If the Serial Monitor is used, some binary data will be visible as the IDE will be unable to distinguish between user messages and shield commands.

Example Usage

Once created in a sketch, these objects will allow you to issue commands to the shield over selected bus by calling functions on the created object or objects. A minimal sketch that uses
2
the library via the I
// NOTE: Must match address set in the setup utility software const int shieldAddress = 0x6E; BMD _ SDICameraControl _ I2C sdiCameraControl(shieldAddress); BMD _ SDITallyControl _ I2C sdiTallyControl(shieldAddress);
void setup() { // Must be called before the objects can be used sdiCameraControl.begin(); sdiTallyControl.begin();
// Turn on camera control overrides in the shield sdiCameraControl.setOverride(true);
C bus is shown below.
// Turn on tally overrides in the shield sdiTallyControl.setOverride(true); }
void loop() { // Unused }
The list of functions that may be called on the created objects are listed further on in this document. Note that before use, you must call the‘begin’function on each object before issuing any other commands.
Some example sketches demonstrating this library are included in the Arduino IDE’sFile->Examples->BMDSDIControl menu.
StudioCameraControlProtocol
This section contains the Studio Camera Control Protocol from the Blackmagic Studio Camera manual. You can use the commands in this protocol to control your Blackmagic URSA Mini or Blackmagic Studio Camera via your Arduino shield.
The Blackmagic Studio Camera Protocol shows that each camera parameter is arranged in groups, such as:
43StudioCameraControlProtocol
Group ID Group
0 Lens
1 Video
2 Audio
3 Output
4 Display
5 Tally
6 Reference
7 Configuration
8 Color Correction
The group ID is then used in the Arduino sketch to determine what parameter to change.
The function: sdiCameraControl.writeXXXX, is named based on what parameter you wish to change, and the suffix used depends on what group is being controlled.
For example sdiCameraControl.writeFixed16 is used for focus, aperture, zoom, audio, display, tally and color correction when changing absolute values.
The complete syntax for this command is as follows:
sdiCameraControl.writeFixed16 ( Camera num ber, Gr o u p, Parameter being controlled, Operation, Value );
The operation type specifies what action to perform on the specified parameter
0 = assign value. The supplied Value is assigned to the specified parameter.
1 = offset value. Each value specifies signed offsets of the same type to be added to the current parameter Value.
For example:
sdiCameraControl.writeCommandFixed16( 1, 8, 0, 0, liftAdjust );
1 = camera number 1 8 = Color Correction group 0 = Lift Adjust 0 = assign value liftAdjust = setting the value for the RGB and luma levels
As described in the protocol section, liftAdjust is a 4 element array for RED[0], GREEN[1], BLUE[2] and LUMA[3]. The complete array is sent with this command.
The sketch examples included with the library files contain descriptive comments to explain their operation.
44StudioCameraControlProtocol
BlackmagicVideoDeviceEmbeddedControlProtocol
Version 1.1
You can use the Video Device Embedded Control Protocol to control Blackmagic URSA Mini and Blackmagic Studio Cameras using your Arduino shield and construct devices that integrate with our products. Here at Blackmagic Design, our approach is to open up our protocols and we eagerly look forward to seeing what you come up with!
Overview
This document describes an extensible protocol for sending a uni-directional stream of small control messages embedded in the non-active picture region of a digital video stream.
The video stream containing the protocol stream may be broadcast to a number of devices. Device addressing is used to allow the sender to specify which device each message is directed to.
Assumptions
Alignment and padding constraints are explicitly described in the protocol document. Bit fields are packed from LSB first. Message groups, individual messages and command headers are defined as, and can be assumed to be, 32 bit aligned.
Blanking Encoding
A message group is encoded into a SMPTE 291M packet with DID/SDID x51/x53 in the active region of VANC line 16.
Message Grouping
Up to 32 messages may be concatenated and transmitted in one blanking packet up to a maximum of 255 bytes payload. Under most circumstances, this should allow all messages to be sent with a maximum of one frame latency.
If the transmitting device queues more bytes of message packets than can be sent in a single frame, it should use heuristics to determine which packets to prioritise and send immediately. Lower priority messages can be delayed to later frames, or dropped entirely as appropriate.
Abstract Message Packet Format
Every message packet consists of a three byte header followed by an optional variable length data block. The maximum packet size is 64 bytes.
Destination device (uint8) Device addresses are represented as an 8 bit unsigned integer. Individual
devices are numbered 0 through 254 with the value 255 reserved to indicate a broadcast message to all devices.
Command length (uint8) The command length is an 8 bit unsigned integer which specifies the length
of the included command data. The length does NOT include the length of the header or any trailing padding bytes.
Command id (uint8) The command id is an 8 bit unsigned integer which indicates the message
type being sent. Receiving devices should ignore any commands that they do not understand. Commands 0 through 127 are reserved for commands that apply to multiple types of devices. Commands 128 through 255 are device specific.
Reserved (uint8) This byte is reserved for alignment and expansion purposes. It should be
set to zero.
Command data (uint8) The command data may contain between 0 and 60 bytes of data.
Theformat of the data section is defined by the command itself.
45StudioCameraControlProtocol
Padding (uint8) Messages must be padded up to a 32 bit boundary with 0x0 bytes.
Anypadding bytes are NOT included in the command length.
Receiving devices should use the destination device address and/or the command identifier to determine which messages to process. The receiver should use the command length to skip irrelevant or unknown commands and should be careful to skip the implicit padding as well.
Defined Commands
Command 0: change configuration
Category (uint8) The category number specifies one of up to 256 configuration categories
available on the device.
Parameter (uint8) The parameter number specifies one of 256 potential configuration
parameters available on the device. Parameters 0 through 127 are devicespecific parameters. Parameters 128 though 255 are reserved for parameters that apply to multiple types of devices.
Data type (uint8) The data type specifies the type of the remaining data. The packet length is
used to determine the number of elements in the message. Each message must contain an integral number of data elements.
Currently defined values are:
0: void / boolean
A void value is represented as a boolean array of length zero. The data field is a 8 bit value with 0 meaning false and all other values
meaning true.
1: signed byte
Data elements are signed bytes
2: signed 16 bit integer
Data elements are signed 16 bit values
3: signed 32 bit integer
Data elements are signed 32 bit values
4: signed 64 bit integer
Data elements are signed 64 bit values
5: UTF-8 string
Data elements represent a UTF-8 string with no terminating character.
Data types 6 through 127 are reserved.
128: signed 5.11 fixed point
Data elements are signed 16 bit integers representing a real number with 5bits for the integer component and 11 bits for the fractional component.
The fixed point representation is equal to the real value multiplied by 2^11. The representable range is from -16.0 to 15.9995 (15 + 2047/2048).
Data types 129 through 255 are available for device specific purposes.
Operation type (uint8) The operation type specifies what action to perform on the specified
parameter. Currently defined values are:
46StudioCameraControlProtocol
0: assign value
The supplied values are assigned to the specified parameter. Each element will be clamped according to its valid range.
A void parameter may only be “assigned” an empty list of boolean type. This operation will trigger the action associated with that parameter. A boolean value may be assigned the value zero for false, and any other
value for true.
1: offset / toggle value
Each value specifies signed offsets of the same type to be added to the current parameter values.The resulting parameter value will be clamped according to their valid range.
It is not valid to apply an offset to a void value. Applying any offset other than zero to a boolean value will invert that value.
Operation types 2 through 127 are reserved.
Operation types 128 through 255 are available for device specific purposes.
Data (void) The data field is 0 or more bytes as determined by the data type and
number of elements.
The category, parameter, data type and operation type partition a 24 bit operation space.
Group ID Parameter Typ e Index Min Max Interpretation
Lens 0
.0 Focus fixed16 0.0 1.0 0.0=near, 1.0=far
Instantaneous
.1
autofocus
.2 Aperture (f-stop) fixed16 -1.0 16.0
Aperture
.3
(normalised)
.4 Aperture (ordinal) int16 0 n
Instantaneous
.5
auto aperture
Optical image
.6
stabilisation
Set absolute
.7
zoom (mm)
void
fixed16 0.0 1.0 0.0=smallest, 1.0=largest
void
boolean
int16 0 max
trigger instantaneous autofocus
Aperture Value (where fnumber = sqrt(2^AV))
Steps through available aperture values from minimum (0) to maximum (n)
trigger instantaneous auto aperture
true=enabled, false=disabled
Move to specified focal length in mm, from minimum (0) to maximum (max)
Set absolute
.8
zoom (normalised)
fixed16 0.0 1.0
Move to specified normalised focal length:
0.0=wide, 1.0=tele
47StudioCameraControlProtocol
Group ID Parameter Typ e Index Min Max Interpretation
Start/stop zooming at
Video 1
Set continuous
.9
zoom (speed)
fixed16 -1.0 +1.0
specified rate: -1.0=zoom wider fast, 0.0=stop, +1.0=zoom tele fast
[0] = frame rate
[1] = M-rate 0=regular, 1=M-rate
[2] =
.0 Video mode int8
.1 Sensor Gain int8 1 16 1x, 2x, 4x, 8x, 16x gain
Manual
.2
White Balance
.3 Reserved Reserved
.4 Reserved Reserved
.5 Exposure (us) int32 1 42000 time in us
.6 Exposure (ordinal) int16 0 n
int16 3200 7500 Colour temperature in K
dimensions
[3] = interlaced
[4] = colour space
24, 25, 30, 50, 60
0=NTSC, 1=PAL, 2=720,
0=YUV
3=1080, 4=2k, 5=2k DCI, 6=UHD
0=progressive, 1=interlaced
Steps through available exposure values from minimum (0) to maximum (n)
Audio 2
Dynamic
.7
Range Mode
Video
.8
sharpening level
.0 Mic level fixed16 0.0 1.0
Headphone
.1
level
Headphone
.2
program mix
.3 Speaker level fixed16 0.0 1.0
.4 Input type int8 0 2
int8 enum 0 1 0 = film, 1 = video
int8 enum 0 3
fixed16 0.0 1.0
fixed16 0.0 1.0
0=Off, 1=Low, 2=Medium, 3=High
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0=internal mic, 1=line level input, 2=low mic level input, 3=high mic level input
48StudioCameraControlProtocol
Group ID Parameter Typ e Index Min Max Interpretation
Output 3
Display 4
[0] ch0 0.0 1.0
.5 Input levels fixed16
[1] ch1 0.0 1.0
Phantom
.6
power
.0 Overlays
.0 Brightness fixed16 0.0 1.0
.1 Overlays
boolean
0x1 = display status
0x2 = display guides
uint16 bit field
int16 bit field
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
true = powered, false = not powered
Some cameras don’t allow separate control of guides and status overlays.
0.0=minimum,
1.0=maximum
0x4 = zebra 0x8 = peaking
Tally 5
.2 Zebra level fixed16 0.0 1.0
.3 Peaking level fixed16 0.0 1.0
Colour bars
.4
display time (seconds)
.0 Tally brightness fixed16 0.0 1.0
Tally front
.1
brightness
Tally rear
.2
brightness
int8 0 30
fixed16 0.0 1.0
fixed16 0.0 1.0
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0=disable bars, 1-30=enable bars with timeout (s)
Sets the tally front and tally rear brightness to the same level.
0.0=minimum,
1.0=maximum
Sets the tally front brightness. 0.0=minimum,
1.0=maximum
Sets the tally rear brightness. 0.0=minimum,
1.0=maximum
Tally rear brightness cannot be turned off
49StudioCameraControlProtocol
Group ID Parameter Typ e Index Min Max Interpretation
Reference 6
Configuration 7
Colour Correction
.0 Source int8 enum 0 1
.1 Offset int32 +/- offset in pixels
[0] time BCD - HHMMSSFF
.0 Real Time Clock int32
[1] date BCD - YYYYMMDD
.1 Reserved Reserved
8
[0] red -2.0 2.0 default 0.0
[1] green -2.0 2.0 default 0.0
.0 Lift Adjust fixed16
[2] blue -2.0 2.0 default 0.0
[3] luma -2.0 2.0 default 0.0
[0] red -4.0 4.0 default 0.0
[1] green -4.0 4.0 default 0.0
.1 Gamma Adjust fixed16
[2] blue -4.0 4.0 default 0.0
0=internal, 1=program, 2=external
[3] luma -4.0 4.0 default 0.0
[0] red 0.0 16.0 default 1.0
.2 Gain Adjust fixed16
.3 Offset Adjust fixed16
.4 Contrast Adjust fixed16
.5 Luma mix fixed16 0.0 1.0 default 1.0
.6 Colour Adjust fixed16
Correction
.7
Reset Default
void reset to defaults
[1] green 0.0 16.0 default 1.0
[2] blue 0.0 16.0 default 1.0
[3] luma 0.0 16.0 default 1.0
[0] red -8.0 8.0 default 0.0
[1] green -8.0 8.0 default 0.0
[2] blue -8.0 8.0 default 0.0
[3] luma -8.0 8.0 default 0.0
[0] pivot 0.0 1.0 default 0.5
[1] adj 0.0 2.0 default 1.0
[0] hue -1.0 1.0 default 0.0
[1] sat 0.0 2.0 default 1.0
50StudioCameraControlProtocol
ExampleProtocolPackets
Operation
trigger instantaneous auto focus on camera 4
turn on OIS on all cameras
set exposure to 10 ms on camera 4 (10 ms = 10000 us = 0x00002710)
add 15% to zebra level (15 % = 0.15 f = 0x0133 fp)
Packet Length
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
header command data
destination
length
command
reserved
category
parameter
8 4 4 0 0 0 1 0 0
12 255 5 0 0 0 6 0 0 1 0 0 0
12 4 8 0 0 1 5 3 0 0x10 0x27 0x00 0x00
12 4 6 0 0 4 2 128 1 0x33 0x01 0 0
type
Byte
operation
select 1080p 23.98 mode on all cameras
subtract 0.3 from gamma adjust for green & blue (-0.3 ~= 0xfd9a fp)
all operations combined
16 255 9 0 0 1 0 1 0 24 1 3 0 0 0 0 0
16 4 12 0 0 8 1 128 1 0 0 0x9a 0xfd 0x9a 0xfd 0 0
4 4 0 0 0 1 0 0 255 5 0 0 0 6 0 0
1 0 0 0 4 8 0 0 1 5 3 0 0x10 0x27 0x00 0x00
76
4 6 0 0 4 2 128 1 0x33 0x01 0 0 255 9 0 0
1 0 1 0 24 1 3 0 0 0 0 0 4 12 0 0
8 1 128 1 0 0
0x9a
0xfd
0x9a
0xfd 0 0
51StudioCameraControlProtocol
DeveloperInformation
This section of the manual provides all the details you will need if you want to write custom libraries and develop your own hardware for your Blackmagic 3G-SDI Arduino Shield.
Physical Encoding - I2C
The shield operates at the following I2C speeds:
1. Standard mode (100 kbit/s)
2. Full speed (400 kbit/s)
2
The default 7-bit shield I
Shield Pin | Function
--------------------- |----------------------------­ A4 | Serial Data (SDA) A5 | Serial Clock (SCL)
2
C Protocol (Writes):**
**I
(START W) [REG ADDR L] [REG ADDR H] [VAL] [VAL] [VAL] ... (STOP)
2
C Protocol (Reads):**
**I
(START W) [REG ADDR L] [REG ADDR H] ... (STOP) (START R) [VAL] [VAL] [VAL] ... (STOP)
The maximum payload (shown as **VAL** in the examples above) read/write length (following the internal register address) in a single transaction is 255 bytes.
C slave address is 0x6E.
Physical Encoding - UART
The shield operates with a UART baud rate of 115200, 8-N-1 format.
Shield Pin | Function
--------------------- |----------------------------­ IO1 | Serial Transmit (TX) IO0 | Serial Receive (RX)
**UART Protocol (Writes):**
[0xDC] [0x42] [REG ADDR L] [REG ADDR H] [‘W’] [LENGTH] [0x00] [VAL] [VAL] [VAL] ...
**UART Protocol (Reads):**
[0xDC] [0x42] [REG ADDR L] [REG ADDR H] [‘R’] [LENGTH] [0x00] [VAL] [VAL] [VAL] ...
The maximum payload (shown as **VAL** in the examples above) read/write length (specified in the **LENGTH** field) in a single transaction is 255 bytes.
Register Address Map
The shield has the following user address register map:
Address | Name | R/W | Register Description
--------------------- |----------- |----- |-------------------------------
0x0000 - 0x0003 | IDENTITY | R | Hardware Identifier 0x0004 - 0x0005 | HWVERSION | R | Hardware Version 0x0006 - 0x0007 | FWVERSION | R | Firmware Version | | | 0x1000 | CONTROL | R/W | System Control | | | 0x2000 | OCARM | R/W | SDI Control Override Arm 0x2001 | OCLENGTH | R/W | SDI Control Override Length
52DeveloperInformation
0x2100 - 0x21FE | OCDATA | R/W | SDI Control Override Data | | | 0x3000 | ICARM | R/W | SDI Control Incoming Arm 0x3001 | ICLENGTH | R | SDI Control Incoming Length 0x3100 - 0x31FE | ICDATA | R | SDI Control Incoming Data | | | 0x4000 | OTARM | R/W | SDI Tally Override Arm 0x4001 | OTLENGTH | R/W | SDI Tally Override Length 0x4100 - 0x41FE | OTDATA | R/W | SDI Tally Override Data | | | 0x5000 | ITARM | R/W | SDI Tally Incoming Arm 0x5001 | ITLENGTH | R | SDI Tally Incoming Length 0x5100 - 0x51FE | ITDATA | R | SDI Tally Incoming Data
All multi-byte numerical fields are stored little-endian. Unused addresses are reserved and read back as zero.
Register:IDENTITY(BoardIdentifier)
[ IDENTITY ] 31 0
**Identity:** ASCII string ‘SDIC’ (i.e. `0x43494453`) in hexadecimal.
Register:HWVERSION(HardwareVersion)
[ VERSION MAJOR ] [ VERSION MINOR ] 15 8 7 0
**Version Major:** Hardware revision, major component.
**Version Minor:** Hardware revision, minor component.
Register:FWVERSION(FirmwareVersion)
[ VERSION MAJOR ] [ VERSION MINOR ] 15 8 7 0
**Version Major:** Firmware revision, major component.
**Version Minor:** Firmware revision, minor component.
Register:CONTROL(SystemControl)
[ RESERVED ] [ OVERRIDE OUTPUT ] [ RESET TALLY ] [ OVERRIDE TALLY ] [ OVERIDE CONTROL ] 7 4 3 2 1 0
**Reserved:** Always zero.
**Override Output:** When 1, the input SDI signal (if present) is discarded and the
shield generates its own SDI signal on the SDI output connector. When 0, the input signal is passed through to the output if present, or the shield generates its own SDI signal if not.
**Reset Tally:** When 1, the last received incoming tally data is immediately
copied over to the override tally data register. Automatically cleared by hardware.
**Override Tally:** When 1, tally data is overridden with the user supplied data.
When 0, input tally data is passed through to the output unmodified.
**Override Control:** When 1, control data is overridden with the user supplied data.
When 0, input control data is passed through to the output unmodified.
53DeveloperInformation
Register:OCARM(OutputControlArm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, the outgoing control is data armed and will be sent in
the next video frame. Automatically cleared once the control has been sent.
Register:OCLENGTH(OutputControlLength)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data to send in OCDATA.
Register:OC DATA(OutputControlPayloadData)
[ CONTROL DATA ] 255*8-1 0
**Control Data:** Control data that should be embedded into a future video frame.
Register:ICARM(IncomingControlArm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, incoming control data is armed and will be received in
the next video frame. Automatically cleared once a control packet has been read.
Register:ICLENGTH(IncomingControlLength)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data in _ICDATA_. Automatically set when
a new packet has been cached.
Register:IC DATA(IncomingControlPayloadData)
[ CONTROL DATA ] 255*8-1 0
**Control Data:** Last control data extracted from a video frame since _ICARM.
ARM_ was reset.
Register:OTARM(OutputTal l yArm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, the outgoing tally data is armed and will be continuously
from the next video frame until new data is set. Automatically cleared once the tally has been sent in at least one frame.
Register:OTLENGTH(OutputTal l yLength)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data to send in OTDATA.
54DeveloperInformation
Register:OTDATA(OutputTal l yData)
[ TA LLY DATA ] 255*8-1 0
**Tally Data:** Tally data that should be embedded into a future video frame
(one byte per camera). Bit zero indicates a Program tally, while bit one indicates a Preview tally.
Register:ITA RM(InputTal l yArm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, tally data armed and will be received in the next video
frame. Automatically cleared once the tally has been read.
Register:ITLENGTH(InputTal l yLength)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data in _ITDATA_. Automatically set when
a new packet has been cached.
Register:ITDATA(InputTal l yData)
[ TA LLY DATA ] 255*8-1 0
**Tally Data:** Last tally data extracted from a video frame since _ITARM.ARM_
was reset (one byte per camera). Bit zero indicates a Program tally, while bit one indicates a Preview tally.
55DeveloperInformation
ヘ ルプ
ヘ ルプラ イン
Blackmagic 3G-SDI Arduino Shield
デベ ロッパーツ ー ルです。
シールドに関する最新 の 情 報 が 欲しい方は、 ト情 報を 確 認 で き ま す。
Blackmagic Design
最 新 のマニュアル 、ソフトウェア、サ ポートノートは、 サポートセンターで確認できます。
Arduino
プログラミングに関する質問がある方は、インターネットの す。 が 数 多く存 在します。また、エ ン ジニアを雇ってソリューションを 作 成してもらうこともできるでしょう。
開発フォーラム
Arduino
デベロッパーのコミュニティは幅 広く、ソフトウェアに関 する質問ができる良 質 なフォーラム
Blackmagic Design
弊 社ウェブサイトの きる有益なリソースです。経験豊富なユーザーや の解決 策が公 開されていますので、このフォーラムを参 考にすることで、現在の問 題をすばやく解決で き る こ と が あ り ま す 。ぜ ひ ご 利 用 く だ さ い 。 からアクセスで きます。
オンライン サポートページ
フォー ラム
Blackmagic Design
は、ユーザーの要望に基づいて単独で開発できるよう設計された
Blackmagic Design
www.blackmagicdesign.com/jp/supportのBlackmagic
フォーラムは、様々な情報やクリエイティブなアイデアを共有で
Blackmagic Design
Blackmagic
フォーラムには 、
オンラインサポートページで、最新サポー
Arduino
開発フォーラムで助けを得られま
ス タ ッ フ に よ っ て 、す で に 多 く の 問 題
http://forum.blackmagicdesign.com
現在インストールされているソフトウェアのバージョンを確認
どのバージョンの い る か 確 認 す る に は 、「
Blackmagic Arduino Shield Setup
About Blackmagic Arduino Shield Setup
ソフトウェアがコンピュー ターにインストールさ れて
」ウ ィ ン ド ウ を 開 き ま す 。
Mac OS X
ま す 。ア プ リ ケ ー シ ョ ン メ ニ ュ ー か ら「 バージョンを 確 認してくだ さ い 。
Windows 7
プメニューをクリックして「 を 確 認 してくださ い 。
Windows 8
Blackmagic Arduino Shield Setup Blackmagic Arduino Shield Setup
で は 、ア プ リ ケ ー シ ョ ン フ ォ ル ダ ー か ら「
で は 、ス タ ー ト メ ニ ュ ー か ら「
About Blackmagic Arduino Shield Setup
で は 、ス タ ー ト ペ ー ジ の「
About Blackmagic Arduino Shield Setup
Blackmagic Arduino Shield Setup
Blackmagic Arduino Shield Setup
を開きます。ヘルプメニューをクリックして「 」を選 択し、バージョンを確認してください。
Blackmagic Arduino Shield Setup
」を 選 択 し 、
」を 開 き ま す 。ヘ ル
」を選 択し、バージョン
」タ イ ル か ら
About
」を 開 き
最 新のソフトウェアアップデ ートを 入手する
コンピューターにインストールされた 認した後、 ウェア・アップデートを チェックしてください 。常 に 最 新 のソフトウェアを使 用することを推奨しますが、 重要なプ ロジェクトの実行中は、ソフトウェアのアップデートは行わない方 がよいでしょう。
Blackmagic
サ ポ ー ト セ ン タ ー(
Blackmagic Arduino Shield Setup
www.blackmagicdesign.com/jp/support
ソフトウェアのバージョンを確
)で 最 新 の ソ フ ト
ヘルプ
56
保証
12
ヶ月限 定 保 証
Blackmagic Design
は 、お 買 い 上 げ の 日 か ら12ヶ月間 、
Blackmagic 3G-SDI Arduino Shield
の部品および
仕上がりについて瑕 疵 がないことを保 証します。この保 証 期間内に 製 品に 瑕 疵が見つかった場
Blackmagic Design
合、
は弊社の裁量において部品代および人件費無料で該当製品の修理、あるいは製
品 の 交 換 のいずれ か で 対 応 い たしま す。
この保証に基づいたサービスを受ける際、お客様は必ず保証 期限終了前に
Blackmagic Design
に瑕疵を
通知し、適 応する保証サービスの手続きを行ってください。お客様の責任において不良品を梱包
Blackmagic Design
し、 す。理 由 の 如 何 を 問 わ ず 、
が指定するサポートセンターへ配送 料 前 払で送 付いただきますようお願い致しま
Blackmagic Design
への製品返送のための配送料、保険、関税、税金、その他
すべ ての 費 用 は お 客 様 の自己 負 担 となりま す。
不適切な使用、または不十分なメンテナンスや取扱いによる不具合、故障、損傷に対しては、この保証は 適用されません。 ます。 a)製品のインストールや修理、サービスを行う
Blackmagic Design
はこの保証で、以下に関してサービス提供義務を負わないものとし
Blackmagic Design
販 売 代 理 人 以 外 の 者 に よ って
生じた損傷の修理、b)不適切な使用や互換性のない機器への接続によって生じた損傷の修理、c)
Blackmagic Design
や他製品との統合により時間増加や製品の機能低下が生じた場合のサービス。この保証は
Design
が保証するもので、明示または黙示を問わず他の保証すべてに代わるものです。
とその販売社は、商品性と特定目的に対する適合性のあらゆる黙示保証を拒否します。
の部品や供給品ではない物を使用して生じたすべての損傷や故障の修理、d)改 造
Blackmagic Blackmagic Design Blackmagic Design
の不良品の修 理あるいは交換の責任が、特別に、間接的、偶発的、または結果的に生じる損害に対し
Blackmagic Design
て、 かに関わらず、お客様に提供される完全唯一の救済手段となります。 る 機 器 の あ ら ゆ る 不 法 使 用 に 対 して 責 任 を 負 い ま せん 。
あるいは販売社がそのような損害の可能性についての事前通知を得ているか否
Blackmagic Design
Blackmagic Design
は本製品の使用により生じ
はお客様によ
るあらゆる損害に対して責任を負いません。使用者は自己の責任において本製品を使用するものとします。
© Copyright 2016 Blackmagic Design
Workgroup Videohub
「 の登録商標です。その他の企業名ならびに製品名全てはそれぞれ関連する会社の登録商標である可能性があります。
Thunderbolt
および
」 、「
のロゴは、米 国またはその他 諸国の
著 作 権 所 有 、 無 断 複 写 ・ 転 載 を 禁 じ ま す 。「
Videohub
」 、「
Intensity
Leading the creative video revolution
」 、「
Intel Corporation
Blackmagic Design
の 登 録 商 標 で す。
DeckLink
」 、「
」は 、米 国 な ら び にそ の 他 諸 国 で
HDLink
」 、「
Thunderbolt
」、
保証
57
Manuel d'utilisation et d'installation
Blackmagic 3G-SDI Arduino Shield
novembre 2017

Français

Bienvenue
Nous vous remercions d'avoir fait l'acquisition d'une carte Blackmagic 3G-SDI Arduino Shield.
Nous nous intéressons aux nouvelles technologies et souhaitons développer des façons innovantes d'utiliser nos produits SDI. Grâce au Blackmagic 3G-SDI Arduino Shield, vous pouvez désormais intégrer une carte Arduino à votre workflow SDI et ainsi ajouter des options de contrôle à votre équipement Blackmagic Design.
Par exemple, les mélangeurs ATEM peuvent contrôler la Blackmagic URSA Mini et les Blackmagic Studio Cameras via des paquets de données intégrés au signal SDI. Si vous n'utilisez pas de mélangeur ATEM, mais que vous souhaitez pouvoir contrôler vos caméras Blackmagic, vous pouvez créer des solutions de contrôle personnalisées à l'aide du Blackmagic 3G-SDI Arduino Shield. Cette carte vous offre une plateforme de création, qui vous permet d'envoyer le signal de retour du programme provenant du mélangeur vers la carte, puis vers l'entrée de programme de votre caméra Blackmagic.
Il est très facile d'écrire un code pour envoyer des commandes à la caméra. De plus, toutes les commandes prises en charge sont décrites dans ce manuel.
Vous pouvez contrôler les caméras à l'aide d'un ordinateur ou ajouter des boutons, molettes et joysticks à votre carte. Vous disposerez ainsi de solutions de contrôle dynamiques qui permettent de modifier des fonctionnalités telles que la mise au point, le zoom, l'ouverture, le niveau de noir, la balance des blancs, le correcteur de couleurs intégré à la caméra et autres. Créer sa propre solution de contrôle est utile à la production, mais aussi très amusant !
Nous sommes très heureux de pouvoir proposer cette technologie et nous avons hâte de découvrir les solutions de contrôle SDI que vous avez conçues avec le Blackmagic 3G-SDI Arduino Shield !
Ce manuel d'utilisation comprend toutes les informations dont vous avez besoin pour utiliser le Blackmagic 3G-SDI Arduino Shield. Consultez notre page d’assistance sur www.blackmagicdesign.com/fr pour obtenir la dernière version du manuel et les mises à jour du logiciel interne de la carte. Nous vous recommandons de mettre le logiciel à jour régulièrement afin de travailler avec les fonctions les plus récentes. Enfin, veuillez enregistrer votre équipement lors du téléchargement du logiciel afin que nous puissions vous tenir informés de la sortie d'un nouveau logiciel. Nous souhaitons continuer à améliorer nos produits, n'hésitez donc pas à nous faire part de vos commentaires !
Grant Petty
PDG de Blackmagic Design
Sommaire
Blackmagic 3G-SDI Arduino Shield
Mise en route 59
Fixer et souder les barrettes 59 Installation sur la carte Arduino 60 Branchement de l'alimentation 60 Connexion à du matériel SDI 61
Installation du logiciel 62
Installation du logiciel interne 62
Installation des fichiers bibliothèqueArduino 63
Blackmagic Arduino Shield Setup 64
2
C Address 64
I Format vidéo 64
Programmation des sketches Arduino 65
Test de la carte extension Blackmagic et installation de la bibliothèque 65
Voyants LED 67
Fixation de composants surlacarteextension 68
Communication avec la carte Arduino 68
High Level Overview 68
2
C Interface 68
I Serial Interface 68 Example Usage 69
Studio Camera Control Protocol 69
Blackmagic Video Device Embedded Control Protocol 71 Example Protocol Packets 77
Informations pour les développeurs 78
Assistance 82
Garantie 83

Mise en route

6 PIN
8 PIN

Fixer et souder les barrettes

Le Blackmagic 3G-SDI Arduino Shield est fourni avec 4 barrettes, dont deux barrettes mâles à 8 broches, une à 10 broches et une à 6 broches. Les barrettes sont des connecteurs qui permettent d'installer votre carte extension sur l'Arduino. Comme elles se superposent, vous pouvez installer d'autres cartes les unes sur les autres ainsi que des composants, notamment des boutons de contrôle, des molettes et des joysticks. Ces barrettes sont conçues pour être installées sur les cartes Arduino R3, telles que l'Arduino UNO.
Pour fixer les barrettes à votre carte extension :
1 Insérez les broches de chaque barrette dans les trous correspondants situés de part et
d'autre de la Blackmagic Arduino Shield. L'illustration ci-dessous vous indique la disposition des barrettes.
0 - Serial RX 1 - Serial TX
(I2C) SDA (I2C) SCL
REMARQUE Lors de la connexion à la carte extension, la communication
est établie via le protocole I2C ou le protocole série. Nous recommandons de choisir I2C afin de pouvoir utiliser le moniteur série et les autres broches. Sélectionnez le mode de communication lorsque vous définissez l'objet BMDSDIControl dans le sketch. Pour plus d'informations, consultez la section « Communication avec la carte Arduino » de ce manuel.
A5 (I2C) SCL A4 (I2C) SDA
2 Soudez la base de chaque broche à la face inférieure de votre carte extension. Veillez à
ce que chaque broche soit solidement raccordée au trou correspondant, sans entrer en contact avec la soudure des autres broches.
59Mise en route
CONSEIL Afin que toutes les broches de la carte extension soient bien
alignées avec les trous de la barrette de l'Arduino, nous vous recommandons, dans un premier temps, de ne souder qu'une broche sur chaque barrette. Placez ensuite la carte extension sur l'Arduino pour vérifier l'alignement des broches. Si certaines barrettes ont besoin d'être ajustées, vous pouvez réchauffer la soudure et ainsi améliorer leur alignement. C'est bien plus facile que de souder toutes les broches et d'essayer de les ajuster par la suite.

Installation sur la carte Arduino

Une fois les barrettes soudées sur votre carte extension, vous pouvez l'installer sur la carte Arduino.
Saisissez les deux côtés de la carte extension et alignez les broches avec les barrettes de l'Arduino. Poussez délicatement les broches dans les trous des barrettes. Veillez à ne pas plier les broches lors de l'installation.
Une fois les broches enfoncées, la carte extension Blackmagic et la carte Arduino doivent être fermement connectées.

Branchement de l'alimentation

Pour alimenter votre Blackmagic 3G-SDI Arduino Shield, il suffit de brancher un adaptateur 12V à l'entrée d'alimentation 12V de la carte extension Blackmagic.
REMARQUE L'alimentation de la carte Arduino n'est pas suffisante pour les
deux cartes. En revanche, si vous alimentez la carte Blackmagic, la carte Arduino sera également alimentée. Veillez donc à n'alimenter que la carte Blackmagic.
60Mise en route

Connexion à du matériel SDI

Blackmagic URSA Mini
Une fois la carte alimentée, vous pouvez la connecter à du matériel SDI. Par exemple, un mélangeur et une Blackmagic URSA Mini :
1 Branchez la sortie programme du mélangeur à l'entrée SDI de la Blackmagic Arduino Shield.
2 Branchez la sortie SDI de la Blackmagic Arduino Shield à l'entrée programme SDI (PMG) de
la Blackmagic URSA Mini.
Vous trouverez ci-dessous un schéma de connexion.
Entrée SDI
Sortie SDI
Mélangeur
Entrée SDI PGM
Blackmagic 3G-SDI Arduino Shield
C'est tout ce que vous devez savoir pour démarrer !
Maintenant que votre carte est montée sur l'Arduino, qu'elle est alimentée et connectée à du matériel SDI, vous pouvez installer le logiciel interne et les fichiers bibliothèque.
Consultez le reste du manuel pour obtenir plus d'informations sur l'installation du logiciel interne de la carte extension et sur l'installation des fichiers bibliothèque afin que la carte extension puisse communiquer avec l'Arduino.
CONSEIL Vous pouvez également utiliser le Blackmagic 3G-SDI Arduino Shield
pour contrôler d'autres produits Blackmagic Design, tels que le Blackmagic MultiView 16. Par exemple, lorsque la carte est connectée à l'entrée 16 de l'appareil, une bordure tally s'affiche sur le multivue.
61Mise en route

Installation du logiciel

REMARQUE Avant d’installer l’utilitaire Blackmagic 3G-SDI Arduino Shield Setup,
téléchargez la dernière version du logiciel IDE Arduino sur www.arduino.cc et installez-la sur votre ordinateur.
Une fois le logiciel Arduino installé, vous pourrez installer le logiciel interne de votre carte.

Installation du logiciel interne

Le Blackmagic Arduino Shield Setup permet de mettre à jour le logiciel interne de la carte extension. Le logiciel interne communique avec l'Arduino et contrôle la carte à l'aide des fichiers bibliothèque Arduino. Ces fichiers bibliothèque sont installés avec le logiciel d'installation. Il suffit donc de copier le dossier contenant les fichiers et de le coller dans le dossier application de l'Arduino. Pour plus d'informations concernant l'installation des fichiers bibliothèque, consultez la section suivante du manuel.
Nous vous recommandons de télécharger la dernière version du logiciel Blackmagic 3G-SDI Arduino Shield et de mettre la carte à jour afin de bénéficier des nouvelles fonctionnalités et améliorations. Téléchargez la dernière version du logiciel sur la page d'assistance de Blackmagic Design www.blackmagicdesign.com/fr/support.
Pour installer le logiciel interne avec Mac OS X :
1 Téléchargez et dézippez le logiciel Blackmagic 3G-SDI Arduino Shield.
2 Ouvrez l'image disque et lancez le programme d'installation Blackmagic Arduino Shield.
Suivez les instructions affichées à l'écran.
3 Après avoir installé la dernière version du programme d'installation Blackmagic Arduino
Shield, alimentez la carte extension Blackmagic et connectez-la à votre ordinateur à l'aide d'un câble USB.
4 Lancez le programme d'installation et suivez les informations affichées à l'écran pour mettre
à jour le logiciel interne de la carte extension. Si aucune information n'apparaît, le logiciel interne est à jour.
Pour installer le logiciel interne avec Windows :
1 Téléchargez et dézippez le logiciel Blackmagic 3G-SDI Arduino Shield.
2 Le dossier Blackmagic Arduino Shield s’affiche, il contient le manuel et le programme
d'installation Blackmagic Arduino Shield. Double-cliquez sur le programme d'installation et suivez les instructions à l’écran pour terminer l’installation.
3 Après avoir installé la dernière version du programme d'installation Blackmagic Arduino
Shield, alimentez la carte extension Blackmagic et connectez-la à votre ordinateur à l'aide d'un câble USB.
4 Lancez le programme d'installation et suivez les informations affichées à l'écran pour mettre
à jour le logiciel interne de la carte extension. Si aucune information n'apparaît, le logiciel interne est à jour.
62Installation du logiciel
Installation des fichiers bibliothèqueArduino
Les programmes conçus pour contrôler l'Arduino sont appelés croquis ou sketches. La Blackmagic Arduino 3G-SDI Shield utilise des fichiers bibliothèque Arduino pour faciliter l'écriture des sketches. Après avoir installé le logiciel de la carte extension, les fichiers bibliothèque sont installés dans un dossier intitulé Library. Il suffit à présent de copier le dossier contenant ces fichiers et de le coller dans le dossier bibliothèque de l'Arduino.
REMARQUE Le logiciel IDE Arduino doit être fermé lorsque vous installez les
bibliothèques.
Pour installer les fichiers bibliothèque sur Mac OS X :
1 Ouvrez Blackmagic Arduino Shield dans le dossier Applications.
2 Ouvrez le dossier Library et faites un clic droit/copiez le dossier intitulé : BMDSDIControl.
3 Dans le dossier Documents de votre ordinateur, ouvrez le dossier Arduino.
4 Vous verrez un sous-dossier intitulé Libraries. Collez le dossier BMDSDIControl dans le
dossier Libraries.
Pour installer les fichiers bibliothèque sur Windows :
1 Ouvrez Programmes/Blackmagic Arduino Shield.
2 Vous verrez un sous-dossier intitulé Library. Ouvrez ce dossier et faites un clic droit/copiez
le dossier intitulé : BMDSDIControl.
3 Dans le dossier Documents de votre ordinateur, ouvrez le dossier Arduino.
4 Vous verrez un sous-dossier intitulé Libraries. Collez le dossier BMDSDIControl dans le
dossier Libraries.
C'est tout ce que vous devez faire pour installer les fichiers bibliothèque Blackmagic Design sur votre ordinateur. Lorsque vous utilisez le logiciel Arduino, vous disposerez désormais d'exemples de sketches Blackmagic Design.
Dans le menu déroulant Fichier du logiciel Arduino, sélectionnez Exemples. Sélectionnez BMDSDIControl pour afficher la liste d'exemples de sketches que vous pouvez utiliser.
Une fois les fichiers bibliothèque stockés dans le dossier approprié, la carte extension peut les utiliser pour communiquer avec l'Arduino. Il ne reste plus qu'à programmer le logiciel IDE Arduino. Pour plus d'informations à ce sujet, consultez la section « Programmation des sketches Arduino » de ce manuel.
REMARQUE Si une mise à jour de la bibliothèque comportant des exemples est
disponible, vous devrez supprimer l'ancien dossier BMDSDIControl et le remplacer par le nouveau dossier en suivant les étapes décrites ci-dessus.
63Installation des fichiers bibliothèque Arduino

Blackmagic Arduino Shield Setup

Le logiciel Blackmagic Arduino Shield Setup vous permet de changer les paramètres de la carte extension, notamment l'adresse I2C et le format de sortie vidéo.
Grâce au logiciel Blackmagic Arduino Shield Setup installé sur votre ordinateur, vous pouvez changer les paramètres de la carte extension : I afin que l'Arduino puisse communiquer avec elle ; Video Format, permet de régler le format de sortie de la carte extension.
2
C address, permet de reconnaître la carte extension

I2C Address

Exceptionnellement, il se peut qu'une autre carte extension montée sur la carte extension Blackmagic partage l’adresse I pouvez changer l'adresse par défaut de la carte extension.
L'adresse par défaut pour la carte extension est 0x6E, cependant, vous pouvez choisir des adresses comprises entre 0x08 et 0x77.
Changer l'adresse de la carte extension :
1 Lancez le Blackmagic Arduino Shield Setup et cliquez sur l'icône de paramétrage.
2 Dans le paramètre Set address to:, saisissez l'adresse que vous souhaitez utiliser.
3 Cliquez sur Save.
2
C par défaut, ce qui peut créer un conflit. Si cela ce produit, vous

Format vidéo

Si aucun signal d’entrée n'est connecté, le format de sortie par défaut est choisi par le logiciel d'installation. Lorsqu'un signal d’entrée est connecté, la sortie est configurée au même format que celui de l'entrée. Si l'entrée est déconnectée, le format de sortie par défaut sera choisi par le logiciel. Vous pouvez changer le format vidéo dans le menu déroulant Default output format.
64Blackmagic Arduino Shield Setup
Les formats vidéo suivants sont disponibles :
720p50 720p59.94 720p60 1080i50 1080i59.94 1080i60 1080p23.98 1080p24 1080p25 1080p29.97 1080p30 1080p50 1080p59.94 1080p60

Programmation des sketches Arduino

Les programmes Arduino, également appelés croquis ou sketches, sont très faciles à écrire. Cessketches sont programmés en langage C. Lorsque vous programmez les sketches avec les commandes du Studio Camera Control Protocol, la carte extension intègre ces commandes à la sortie SDI qui permet de contrôler la Blackmagic URSA Mini ou les Blackmagic Studio Camera.
Toutes les commandes prises en charge sont incluses dans la section « Studio Camera Control Protocol » de ce manuel. Vous pouvez donc les utiliser pour vos sketches.

Test de la carte extension Blackmagic et installation de la bibliothèque

Une fois la carte extension connectée comme indiqué dans la section « Mise en route », et le logiciel et les fichiers bibliothèque installés, veuillez vérifier que la carte extension communique correctement avec la carte Arduino.
Pour vérifier cela, ouvrez et exécutez l’exemple de sketch TallyBlink présenté ci-dessous.
Suivez les étapes suivantes :
1 Lancez le logiciel IDE Arduino.
2 Allez dans le menu Outils et sélectionnez le type de carte Arduino et le port.
3 Dans le menu Fichier, sélectionnez Exemples/BMDSDIControl et choisissez le sketch
appelé TallyBlink.
4 Chargez le sketch sur la carte.
65Test de la carte extension Blackmagic et installation de la bibliothèque
L'exemple de sketch Tally Blink est simple à réaliser pour tester votre carte extension Arduino. Les données brutes peuvent être envoyées à la carte via les commandes I2C du Studio Camera Protocol. Nous avons également inclus des bibliothèques personnalisées pour rendre la programmation de sketches encore plus facile.
REMARQUE  Vérifiez que le numéro du tally de la caméra est réglé sur 1.
Vous devriez voir le voyant tally de la Blackmagic Studio Camera clignoter une fois par seconde. Sile voyant tally clignote, cela signifie que la carte extension Blackmagic communique avec la carte Arduino et que tout fonctionne correctement.
Si le voyant ne clignote pas, vérifiez que le numéro du tally de la caméra est bien réglé sur 1.
Si vous avez besoin d'aide, consultez la page d'assistance technique Blackmagic Design à l’adresse suivante www.blackmagicdesign.com/fr/support. Veuillez lire la section d'assistance de ce manuel pour obtenir davantage d'informations sur le fonctionnement de votre carte extension.
66Test de la carte extension Blackmagic et installation de la bibliothèque

Voyants LED

10 PIN
8 PIN
8 PIN
La Blackmagic 3G-SDI Arduino Shield comprend six voyants LED qui permettent de confirmer les activités de la carte extension, par exemple, l'alimentation, la liaison UART ainsi que la communication I tally et des commandes de la caméra est activée.
LED 1 - Système actif
S'allume lorsque l'alimentation est connectée à la carte extension.
LEC 2 - Prise de contrôle manuel de la commande activée
S'allume lorsque les commandes de la caméra sont activées sur le sketch Arduino.
2
C et SPI. Les voyants indiquent également lorsque la prise de contrôle manuel du
LED 1
LED 2
LED 3
LED 4
LED 5
LED 6
LEC 3 - Prise de contrôle manuel du tally activée
S'allume lorsque les commandes du tally sont activées sur le sketch Arduino.
LED 5 - Analyseur I
S'allume lorsque la communication est détectée entre la carte extension et l'Arduino avec le protocole I
LED 6 - Analyseur série occupé
S'allume quand la liaison UART est détectée.
Lorsque la carte extension Blackmagic s'allume, le voyant d'alimentation reste éteint et les LED 3, 4 et 5 indiquent les activités suivantes.
LED 3 - Chargement de l’image de l’application
LED 4 - Initialisation de la mémoire EEPROM
LED 5 - Vérification de la mémoire en cours
Une fois la carte extension démarrée, le voyant d’alimentation s'allume et les autres LED reprennent leur fonction standard.
En cas de problème au cours du démarrage, les LED qui rencontrent des problèmes ne clignotent pas. En revanche, celles qui fonctionnent clignotent rapidement. Cela vous permet d’identifier facilement l'origine du problème.
2
C.
2
C occupé
67Test de la carte extension Blackmagic et installation de la bibliothèque
Fixation de composants surlacarteextension
Si vous souhaitez créer votre propre contrôleur matériel, vous pouvez construire une nouvelle carte extension dotée de boutons, de molettes et d’un joystick pour effectuer un contrôle plus précis. Fixez simplement la carte extension personnalisée à la Blackmagic 3G-SDI Arduino Shield en l'insérant dans les trous de la barrette. Vous pouvez ajouter le nombre de contrôleurs dont vous avez besoin. Si vous le souhaitez, vous pouvez même remplacer le circuit électronique d'une ancienne voie de commande par votre propre Arduino.
Créez votre propre contrôleur matériel et fixer-le à la Blackmagic 3G-SDI Arduino Shield pour un contrôle extrêmement précis.

Communication avec la carte Arduino

You can communicate with your Arduino Shield via I2C or Serial. We recommend I2C because of the low pin count and it frees up the serial monitor. This also allows you to use more I the shield.

High Level Overview

The library provides two core objects, BMD_SDITallyControlandBMD_SDICameraControl, which can be used to interface with the shield’s tally and camera control functionalities. Either or both of these objects can be created in your sketch to issue camera control commands, or read and write tally data respectively. These objects exist in several variants, one for each of the physicalI Serialcommunication busses the shield supports.

I2C Interface

To use theI2Cinterface to the shield:
// NOTE: Must match address set in the setup utility software
const int shieldAddress = 0x6E;
BMD_SDICameraControl_I2C sdiCameraControl(shieldAddress);
BMD_SDITallyControl_I2C sdiTallyControl(shieldAddress);

Serial Interface

To use theSerialinterface to the shield:
2
C devices with
2
C or
BMD_SDICameraControl_Serial sdiCameraControl;
BMD_SDI Tally Contr o l_Seri al s d iTally C o n trol;
68Communication avec la carte Arduino
Note that the library will configure the Arduino serial interface at the required 38400 baud rate. If you wish to print debug messages to the Serial Monitor when using this interface, change the Serial Monitor baud rate to match. If the Serial Monitor is used, some binary data will be visible as the IDE will be unable to distinguish between user messages and shield commands.

Example Usage

Once created in a sketch, these objects will allow you to issue commands to the shield over selected bus by calling functions on the created object or objects. A minimal sketch that uses the library via
2
the I
C bus is shown below.
// NOTE: Must match address set in the setup utility software
const int shieldAddress = 0x6E;
BMD_SDICameraControl_I2C sdiCameraControl(shieldAddress);
BMD_SDITallyControl_I2C sdiTallyControl(shieldAddress);
void setup()
// Must be called before the objects can be used
sdiCameraControl.begin();
sdiTallyControl.begin();
// Turn on camera control overrides in the shield
sdiCameraControl.setOverride(true);
// Turn on tally overrides in the shield
sdiTallyControl.setOverride(true);
void loop()
// Unused
The list of functions that may be called on the created objects are listed further on in this document. Note that before use, you must call the‘begin’function on each object before issuing any other commands.
Some example sketches demonstrating this library are included in the Arduino IDE’sFile->Examples­>BMDSDIControl menu.

Studio Camera Control Protocol

This section contains the Studio Camera Control Protocol from the Blackmagic Studio Camera manual. You can use the commands in this protocol to control your Blackmagic URSA Mini or Blackmagic Studio Camera via your Arduino shield.
The Blackmagic Studio Camera Protocol shows that each camera parameter is arranged in groups, such as:
Group ID Group
0 Lens
1 Video
2 Audio
69Studio Camera Control Protocol
Group ID Group
3 Output
4 Display
5 Tally
6 Reference
7 Configuration
8 Color Correction
The group ID is then used in the Arduino sketch to determine what parameter to change.
The function: sdiCameraControl.writeXXXX, is named based on what parameter you wish to change, and the suffix used depends on what group is being controlled.
For example sdiCameraControl.writeFixed16 is used for focus, aperture, zoom, audio, display, tally and color correction when changing absolute values.
The complete syntax for this command is as follows:
sdiCameraControl.writeFixed16 (
Camera number,
Gr o u p,
Parameter being controlled,
Op er ation,
Value
);
The operation type specifies what action to perform on the specified parameter
0 = assign value. The supplied Value is assigned to the specified parameter.
1 = offset value. Each value specifies signed offsets of the same type to be added to the current parameter Value.
For example:
sdiCameraControl.writeCommandFixed16(
1,
8,
0,
0,
liftAdj u s t
);
1 = camera number 1 8 = Color Correction group 0 = Lift Adjust 0 = assign value liftAdjust = setting the value for the RGB and luma levels
As described in the protocol section, liftAdjust is a 4 element array for RED[0], GREEN[1], BLUE[2] and LUMA[3]. The complete array is sent with this command.
The sketch examples included with the library files contain descriptive comments to explain their operation.
70Studio Camera Control Protocol

Blackmagic Video Device Embedded Control Protocol

Ve r sio n 1.1
You can use the Video Device Embedded Control Protocol to control Blackmagic URSA Mini and Blackmagic Studio Cameras using your Arduino shield and construct devices that integrate with our products. Here at Blackmagic Design, our approach is to open up our protocols and we eagerly look forward to seeing what you come up with!
Overview
This document describes an extensible protocol for sending a uni-directional stream of small control messages embedded in the non-active picture region of a digital video stream.
The video stream containing the protocol stream may be broadcast to a number of devices. Device addressing is used to allow the sender to specify which device each message is directed to.
Assumptions
Alignment and padding constraints are explicitly described in the protocol document. Bit fields are packed from LSB first. Message groups, individual messages and command headers are defined as, and can be assumed to be, 32 bit aligned.
Blanking Encoding
A message group is encoded into a SMPTE 291M packet with DID/SDID x51/x53 in the active region of VANC line 16.
Message Grouping
Up to 32 messages may be concatenated and transmitted in one blanking packet up to a maximum of 255 bytes payload. Under most circumstances, this should allow all messages to be sent with a maximum of one frame latency.
If the transmitting device queues more bytes of message packets than can be sent in a single frame, it should use heuristics to determine which packets to prioritise and send immediately. Lower priority messages can be delayed to later frames, or dropped entirely as appropriate.
Abstract Message Packet Format
Every message packet consists of a three byte header followed by an optional variable length data block. The maximum packet size is 64 bytes.
Destination device (uint8) Device addresses are represented as an 8 bit unsigned integer. Individual
devices are numbered 0 through 254 with the value 255 reserved to indicate a broadcast message to all devices.
Command length (uint8) The command length is an 8 bit unsigned integer which specifies the length
of the included command data. The length does NOT include the length of the header or any trailing padding bytes.
Command id (uint8) The command id is an 8 bit unsigned integer which indicates the message
type being sent. Receiving devices should ignore any commands that they do not understand. Commands 0 through 127 are reserved for commands that apply to multiple types of devices. Commands 128 through 255 are device specific.
Reserved (uint8) This byte is reserved for alignment and expansion purposes. It should be
set to zero.
Command data (uint8[]) The command data may contain between 0 and 60 bytes of data.
Theformat of the data section is defined by the command itself.
Padding (uint8[]) Messages must be padded up to a 32 bit boundary with 0x0 bytes.
Anypadding bytes are NOT included in the command length.
Receiving devices should use the destination device address and/or the command identifier to
71Studio Camera Control Protocol
determine which messages to process. The receiver should use the command length to skip irrelevant or unknown commands and should be careful to skip the implicit padding as well.
Defined Commands
Command 0: change configuration
Category (uint8) The category number specifies one of up to 256 configuration categories
available on the device.
Parameter (uint8) The parameter number specifies one of 256 potential configuration
parameters available on the device. Parameters 0 through 127 are devicespecific parameters. Parameters 128 though 255 are reserved for parameters that apply to multiple types of devices.
Data type (uint8) The data type specifies the type of the remaining data. The packet length is
used to determine the number of elements in the message. Each message must contain an integral number of data elements.
Currently defined values are:
0: void / boolean
A void value is represented as a boolean array of length zero. The data field is a 8 bit value with 0 meaning false and all other values
meaning true.
1: signed byte
Data elements are signed bytes
2: signed 16 bit integer
Data elements are signed 16 bit values
3: signed 32 bit integer
Data elements are signed 32 bit values
4: signed 64 bit integer
Data elements are signed 64 bit values
5: UTF-8 string
Data elements represent a UTF-8 string with no terminating character.
Data types 6 through 127 are reserved.
128: signed 5.11 fixed point
Data elements are signed 16 bit integers representing a real number with 5bits for the integer component and 11 bits for the fractional component.
The fixed point representation is equal to the real value multiplied by 2^11. The representable range is from -16.0 to 15.9995 (15 + 2047/2048).
Data types 129 through 255 are available for device specific purposes.
Operation type (uint8) The operation type specifies what action to perform on the specified
parameter. Currently defined values are:
72Studio Camera Control Protocol
0: assign value
The supplied values are assigned to the specified parameter. Each element will be clamped according to its valid range.
A void parameter may only be “assigned” an empty list of boolean type. This operation will trigger the action associated with that parameter. A boolean value may be assigned the value zero for false, and any other
value for true.
1: offset / toggle value
Each value specifies signed offsets of the same type to be added to the current parameter values.The resulting parameter value will be clamped according to their valid range.
It is not valid to apply an offset to a void value. Applying any offset other than zero to a boolean value will invert that value.
Operation types 2 through 127 are reserved.
Operation types 128 through 255 are available for device specific purposes.
Data (void) The data field is 0 or more bytes as determined by the data type and
number of elements.
The category, parameter, data type and operation type partition a 24 bit operation space.
Group ID Parameter Typ e Index Min Max Interpretation
Lens 0
.0 Focus fixed16 0.0 1.0 0.0=near, 1.0=far
Instantaneous
.1
autofocus
.2 Aperture (f-stop) fixed16 -1.0 16.0
Aperture
.3
(normalised)
.4 Aperture (ordinal) int16 0 n
Instantaneous
.5
auto aperture
Optical image
.6
stabilisation
Set absolute
.7
zoom (mm)
void
fixed16 0.0 1.0 0.0=smallest, 1.0=largest
void
boolean
int16 0 max
trigger instantaneous autofocus
Aperture Value (where fnumber = sqrt(2^AV))
Steps through available aperture values from minimum (0) to maximum (n)
trigger instantaneous auto aperture
true=enabled, false=disabled
Move to specified focal length in mm, from minimum (0) to maximum (max)
Set absolute
.8
zoom (normalised)
fixed16 0.0 1.0
Move to specified normalised focal length:
0.0=wide, 1.0=tele
73Studio Camera Control Protocol
Group ID Parameter Typ e Index Min Max Interpretation
Start/stop zooming at
Set continuous
.9
zoom (speed)
fixed16 -1.0 +1.0
specified rate: -1.0=zoom wider fast, 0.0=stop, +1.0=zoom tele fast
Video 1
[0] = frame rate
24, 25, 30, 50, 60
[1] = M-rate 0=regular, 1=M-rate
0=NTSC, 1=PAL, 2=720, 3=1080, 4=2k, 5=2k DCI, 6=UHD
0=progressive, 1=interlaced
.0 Video mode int8
[2] = dimensions
[3] = interlaced
[4] = colour space
0=YUV
.1 Sensor Gain int8 1 16 1x, 2x, 4x, 8x, 16x gain
Manual
.2
White Balance
int16 3200 7500 Colour temperature in K
.3 Reserved Reserved
.4 Reserved Reserved
.5 Exposure (us) int32 1 42000 time in us
Steps through available
.6 Exposure (ordinal) int16 0 n
exposure values from minimum (0) to maximum (n)
Audio 2
Dynamic
.7
Range Mode
Video
.8
sharpening level
int8 enum 0 1 0 = film, 1 = video
int8 enum 0 3
.0 Mic level fixed16 0.0 1.0
Headphone
.1
level
Headphone
.2
program mix
fixed16 0.0 1.0
fixed16 0.0 1.0
.3 Speaker level fixed16 0.0 1.0
0=Off, 1=Low, 2=Medium, 3=High
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
74Studio Camera Control Protocol
Group ID Parameter Typ e Index Min Max Interpretation
0=internal mic, 1=line
.4 Input type int8 0 2
level input, 2=low mic level input, 3=high mic level input
Output 3
Display 4
[0] ch0 0.0 1.0
.5 Input levels fixed16
[1] ch1 0.0 1.0
Phantom
.6
power
boolean
0x1 = display status
0x2 = display guides
.0 Overlays
uint16 bit field
.0 Brightness fixed16 0.0 1.0
.1 Overlays
int16 bit field
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
true = powered, false = not powered
Some cameras don’t allow separate control of guides and status overlays.
0.0=minimum,
1.0=maximum
0x4 = zebra 0x8 = peaking
Tally 5
.2 Zebra level fixed16 0.0 1.0
.3 Peaking level fixed16 0.0 1.0
Colour bars
.4
display
int8 0 30
time (seconds)
.0 Tally brightness fixed16 0.0 1.0
Tally front
.1
.2
brightness
Tally rear brightness
fixed16 0.0 1.0
fixed16 0.0 1.0
0.0=minimum,
1.0=maximum
0.0=minimum,
1.0=maximum
0=disable bars, 1-30=enable bars with timeout (s)
Sets the tally front and tally rear brightness to the same level.
0.0=minimum,
1.0=maximum
Sets the tally front brightness. 0.0=minimum,
1.0=maximum
Sets the tally rear brightness. 0.0=minimum,
1.0=maximum
Tally rear brightness cannot be turned off
75Studio Camera Control Protocol
Group ID Parameter Typ e Index Min Max Interpretation
Reference 6
Configuration 7
Colour Correction
.0 Source int8 enum 0 1
0=internal, 1=program, 2=external
.1 Offset int32 +/- offset in pixels
[0] time BCD - HHMMSSFF
.0 Real Time Clock int32
[1] date BCD - YYYYMMDD
.1 Reserved Reserved
8
[0] red -2.0 2.0 default 0.0
[1] green -2.0 2.0 default 0.0
.0 Lift Adjust fixed16
[2] blue -2.0 2.0 default 0.0
[3] luma -2.0 2.0 default 0.0
[0] red -4.0 4.0 default 0.0
[1] green -4.0 4.0 default 0.0
.1 Gamma Adjust fixed16
[2] blue -4.0 4.0 default 0.0
[3] luma -4.0 4.0 default 0.0
[0] red 0.0 16.0 default 1.0
[1] green 0.0 16.0 default 1.0
.2 Gain Adjust fixed16
[2] blue 0.0 16.0 default 1.0
[3] luma 0.0 16.0 default 1.0
[0] red -8.0 8.0 default 0.0
[1] green -8.0 8.0 default 0.0
.3 Offset Adjust fixed16
[2] blue -8.0 8.0 default 0.0
[3] luma -8.0 8.0 default 0.0
[0] pivot 0.0 1.0 default 0.5
.4 Contrast Adjust fixed16
[1] adj 0.0 2.0 default 1.0
.5 Luma mix fixed16 0.0 1.0 default 1.0
[0] hue -1.0 1.0 default 0.0
.6 Colour Adjust fixed16
[1] sat 0.0 2.0 default 1.0
Correction
.7
Reset Default
void reset to defaults
76Studio Camera Control Protocol

Example Protocol Packets

Operation
trigger instantaneous auto focus on camera 4
turn on OIS on all cameras
set exposure to 10 ms on camera 4 (10 ms = 10000 us = 0x00002710)
add 15% to zebra level (15 % = 0.15 f = 0x0133 fp)
Packet Length
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
header command data
destination
length
command
reserved
category
parameter
8 4 4 0 0 0 1 0 0
12 255 5 0 0 0 6 0 0 1 0 0 0
12 4 8 0 0 1 5 3 0 0x10 0x27 0x00 0x00
12 4 6 0 0 4 2 128 1 0x33 0x01 0 0
type
Byte
operation
select 1080p 23.98 mode on all cameras
subtract 0.3 from gamma adjust for green & blue (-0.3 ~= 0xfd9a fp)
all operations combined
16 255 9 0 0 1 0 1 0 24 1 3 0 0 0 0 0
16 4 12 0 0 8 1 128 1 0 0 0x9a 0xfd 0x9a 0xfd 0 0
4 4 0 0 0 1 0 0 255 5 0 0 0 6 0 0
1 0 0 0 4 8 0 0 1 5 3 0 0x10 0x27 0x00 0x00
76
4 6 0 0 4 2 128 1 0x33 0x01 0 0 255 9 0 0
1 0 1 0 24 1 3 0 0 0 0 0 4 12 0 0
8 1 128 1 0 0
0x9a
0xfd
0x9a
0xfd 0 0
77Studio Camera Control Protocol

Informations pour les développeurs

This section of the manual provides all the details you will need if you want to write custom libraries and develop your own hardware for your Blackmagic 3G-SDI Arduino Shield.
Physical Encoding - I2C
The shield operates at the following I2C speeds:
1. Standard mode (100 kbit/s)
2. Full speed (400 kbit/s)
The default 7-bit shield I
Shield Pin | Function
--------------------- |----------------------------­ A4 | Serial Data (SDA) A5 | Serial Clock (SCL)
2
**I
C Protocol (Writes):**
(START W) [REG ADDR L] [REG ADDR H] [VAL] [VAL] [VAL] ... (STOP)
2
**I
C Protocol (Reads):**
(START W) [REG ADDR L] [REG ADDR H] ... (STOP) (START R) [VAL] [VAL] [VAL] ... (STOP)
The maximum payload (shown as **VAL** in the examples above) read/write length (following the internal register address) in a single transaction is 255 bytes.
2
C slave address is 0x6E.
Physical Encoding - UART
The shield operates with a UART baud rate of 115200, 8-N-1 format.
Shield Pin | Function
--------------------- |----------------------------­ IO1 | Serial Transmit (TX) IO0 | Serial Receive (RX)
**UART Protocol (Writes):**
[0xDC] [0x42] [REG ADDR L] [REG ADDR H] [‘W’] [LENGTH] [0x00] [VAL] [VAL] [VAL] ...
**UART Protocol (Reads):**
[0xDC] [0x42] [REG ADDR L] [REG ADDR H] [‘R’] [LENGTH] [0x00] [VAL] [VAL] [VAL] ...
The maximum payload (shown as **VAL** in the examples above) read/write length (specified in the **LENGTH** field) in a single transaction is 255 bytes.
Register Address Map
The shield has the following user address register map:
Address | Name | R/W | Register Description
--------------------- |----------- |----- |-------------------------------
0x0000 - 0x0003 | IDENTITY | R | Hardware Identifier 0x0004 - 0x0005 | HWVERSION | R | Hardware Version 0x0006 - 0x0007 | FWVERSION | R | Firmware Version | | | 0x1000 | CONTROL | R/W | System Control | | | 0x2000 | OCARM | R/W | SDI Control Override Arm 0x2001 | OCLENGTH | R/W | SDI Control Override Length
78Informations pour les développeurs
0x2100 - 0x21FE | OCDATA | R/W | SDI Control Override Data | | | 0x3000 | ICARM | R/W | SDI Control Incoming Arm 0x3001 | ICLENGTH | R | SDI Control Incoming Length 0x3100 - 0x31FE | ICDATA | R | SDI Control Incoming Data | | | 0x4000 | OTARM | R/W | SDI Tally Override Arm 0x4001 | OTLENGTH | R/W | SDI Tally Override Length 0x4100 - 0x41FE | OTDATA | R/W | SDI Tally Override Data | | | 0x5000 | ITARM | R/W | SDI Tally Incoming Arm 0x5001 | ITLENGTH | R | SDI Tally Incoming Length 0x5100 - 0x51FE | ITDATA | R | SDI Tally Incoming Data
All multi-byte numerical fields are stored little-endian. Unused addresses are reserved and read back as zero.
Register: IDENTITY (Board Identifier)
[ IDENTITY ] 31 0
**Identity:** ASCII string ‘SDIC’ (i.e. `0x43494453`) in hexadecimal.
Register: HWVERSION (Hardware Version)
[ VERSION MAJOR ] [ VERSION MINOR ] 15 8 7 0
**Version Major:** Hardware revision, major component.
**Version Minor:** Hardware revision, minor component.
Register: FWVERSION (Firmware Version)
[ VERSION MAJOR ] [ VERSION MINOR ] 15 8 7 0
**Version Major:** Firmware revision, major component.
**Version Minor:** Firmware revision, minor component.
Register: CONTROL (System Control)
[ RESERVED ] [ OVERRIDE OUTPUT ] [ RESET TALLY ] [ OVERRIDE TALLY ] [ OVERIDE CONTROL ] 7 4 3 2 1 0
**Reserved:** Always zero.
**Override Output:** When 1, the input SDI signal (if present) is discarded and the shield
generates its own SDI signal on the SDI output connector. When 0, the input signal is passed through to the output if present, or the shield generates its own SDI signal if not.
**Reset Tally:** When 1, the last received incoming tally data is immediately copied
over to the override tally data register. Automatically cleared by hardware.
**Override Tally:** When 1, tally data is overridden with the user supplied data. When 0,
input tally data is passed through to the output unmodified.
**Override Control:** When 1, control data is overridden with the user supplied data.
When 0, input control data is passed through to the output unmodified.
79Informations pour les développeurs
Register: OCARM (Output Control Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, the outgoing control is data armed and will be sent in the
next video frame. Automatically cleared once the control has been sent.
Register: OCLENGTH (Output Control Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data to send in OCDATA.
Register: OCDATA (Output Control Payload Data)
[ CONTROL DATA ] 255*8-1 0
**Control Data:** Control data that should be embedded into a future video frame.
Register: ICARM (Incoming Control Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, incoming control data is armed and will be received in the
next video frame. Automatically cleared once a control packet has been read.
Register: ICLENGTH (Incoming Control Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data in _ICDATA_. Automatically set when a
new packet has been cached.
Register: ICDATA (Incoming Control Payload Data)
[ CONTROL DATA ] 255*8-1 0
**Control Data:** Last control data extracted from a video frame since _ICARM.ARM_
was reset.
Register: OTARM (Output Tally Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, the outgoing tally data is armed and will be continuously
from the next video frame until new data is set. Automatically cleared once the tally has been sent in at least one frame.
Register: OTLENGTH (Output Tally Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data to send in OTDATA.
80Informations pour les développeurs
Register: OTDATA (Output Tally Data)
[ TA LLY DATA ] 255*8-1 0
**Tally Data:** Tally data that should be embedded into a future video frame (one
byte per camera). Bit zero indicates a Program tally, while bit one indicates a Preview tally.
Register: ITARM (Input Tally Arm)
[ RESERVED ] [ ARM ] 7 1 0
**Reserved:** Always zero.
**Arm:** When 1, tally data armed and will be received in the next video
frame. Automatically cleared once the tally has been read.
Register: ITLENGTH (Input Tally Length)
[ LENGTH ] 7 0
**Length:** Length in bytes of the data in _ITDATA_. Automatically set when a
new packet has been cached.
Register: ITDATA (Input Tally Data)
[ TA LLY DATA ] 255*8-1 0
**Tally Data:** Last tally data extracted from a video frame since _ITARM.ARM_
was reset (one byte per camera). Bit zero indicates a Program tally, while bit one indicates a Preview tally.
81Informations pour les développeurs

Assistance

Obtenir de l'aide
La Blackmagic 3G-SDI Arduino Shield est un outil pour développeurs créé pour vous aider à développer en fonction de vos besoins.
Pour avoir accès aux informations les plus récentes concernant les cartes extension, consultez les pages d'assistance en ligne de Blackmagic Design.
Pages d'assistance en ligne de Blackmagic Design
Les dernières versions du manuel, du logiciel et des notes d'assistance peuvent être consultées sur la page d'assistance technique de Blackmagic Design : www.blackmagicdesign.com/fr/support.
Forum pour développeurs Arduino
Si vous souhaitez poser des questions concernant la programmation, consultez les forums pour développeurs Arduino sur Internet. Il existe une large communauté de développeurs Arduino et de nombreux forums sur Internet qui vous aideront à répondre à vos questions.
Forum Blackmagic Design
Le forum Blackmagic Design est une source d'information utile qui offre des idées innovantes pour vos productions. Cette plate-forme d’aide vous permettra également d’obtenir des réponses rapides à vos questions, car un grand nombre de sujets peuvent avoir déjà été abordés par d'autres utilisateurs. Pour vous rendre sur le forum : http://forum.blackmagicdesign.com/fr
Vérification du logiciel actuel
Pour vérifier quelle version du logiciel Blackmagic Arduino Shield Setup est installée sur votre ordinateur, ouvrez la fenêtre About Blackmagic Arduino Shield Setup.
Sur Mac OS X, ouvrez le logiciel Blackmagic Arduino Shield Setup dans le dossier
Applications. Sélectionnez About Blackmagic Arduino Shield Setup dans le menu d’application pour connaître le numéro de version.
Sur Windows 7, ouvrez le logiciel Blackmagic Arduino Shield Setup dans le menu de
Démarrage. Cliquez sur le menu Aide et sélectionnez About Blackmagic Arduino Shield Setup pour connaître le numéro de version.
Sur Windows 8, ouvrez le logiciel Blackmagic Arduino Shield Setup à partir de la vignette
Blackmagic Arduino Shield Setup située sur l'écran d'accueil. Cliquez sur le menu Aide et sélectionnez About Blackmagic Arduino Shield Setup pour connaître le numéro de version.
Comment obtenir les dernières mises à jour du logiciel
Après avoir vérifié quelle version du logiciel Blackmagic Arduino Shield Setup est installée sur votre ordinateur, consultez sur la page d’assistance technique Blackmagic Design à l’adresse suivante www.blackmagicdesign.com/fr/support pour vérifier les dernières mises à jour. Même s'il est généralement conseillé d'installer les dernières mises à jour, il est prudent d’éviter d’effectuer ces mises à jour au milieu d'un projet important.
82Assistance

Garantie

Garantie limitée à 12 mois
Par la présente, Blackmagic Design garantit que le Blackmagic 3G-SDI Arduino Shield est exempt de défauts matériels et de fabrication pendant une durée de douze mois à compter de la date d'achat. Si un produit s’avère défectueux pendant la période de garantie, Blackmagic Design peut, à sa seule discrétion, réparer le produit défectueux sans frais pour les pièces et la main-d’œuvre, ou le remplacer.
Pour se prévaloir du service offert en vertu de la présente garantie, il vous incombe d’informer Blackmagic Design de l’existence du défaut avant expiration de la période de garantie, et de prendre les mesures nécessaires pour l’exécution des dispositions de ce service. Le consommateur a la responsabilité de s’occuper de l’emballage et de l'expédition du produit défectueux au centre de service nommément désigné par Blackmagic Design, en frais de port prépayé. Il incombe au consommateur de payer l’intégralité des frais de transport, d’assurance, des droits de douane et taxes et toutes autres charges relatives aux produits qui nous auront été retournés, et ce quelle que soit la raison.
La présente garantie ne saurait en aucun cas s’appliquer à des défauts, pannes ou dommages causés par une utilisation inappropriée ou un entretien inadéquat ou incorrect. Blackmagic Design n’a en aucun cas l’obligation de fournir un service en vertu de la présente garantie : a) pour réparer les dommages résultant de tentatives de réparations, d’installations ou tous services effectués par du personnel non qualifié par Blackmagic Design, b) pour réparer tout dommage résultant d'une utilisation inadéquate ou d'une connexion à du matériel incompatible, c) pour réparer tout dommage ou dysfonctionnement causés par l’utilisation de pièces ou de fournitures n’appartenant pas à la marque de Blackmagic Design, d) pour examiner un produit qui a été modifié ou intégré à d’autres produits quand l’impact d’une telle modification ou intégration augmente les délais ou la difficulté d’examiner ce produit. CETTE GARANTIE REMPLACE TOUTE GARANTIE EXPLICITE OU TACITE. BLACKMAGIC DESIGN ET SES REVENDEURS DÉCLINENT EXPRESSÉMENT TOUTE GARANTIE TACITE DE COMMERCIALISATION OU D'ADÉQUATION À UNE FIN PARTICULIÈRE. LA RESPONSABILITÉ DE BLACKMAGIC DESIGN POUR RÉPARER OU REMPLACER UN PRODUIT S'AVÉRANT DÉFECTUEUX CONSTITUE LA TOTALITÉ ET LE SEUL RECOURS EXCLUSIF PRÉVU ET FOURNI AU CONSOMMATEUR POUR TOUT DOMMAGE INDIRECT, SPÉCIFIQUE, ACCIDENTEL OU CONSÉCUTIF, PEU IMPORTE QUE BLACKMAGIC DESIGN OU SES REVENDEURS AIENT ÉTÉ INFORMÉS OU SE SOIENT RENDU COMPTE AU PRÉALABLE DE L'ÉVENTUALITÉ DE CES DOMMAGES. BLACKMAGIC DESIGN NE PEUT ÊTRE TENU POUR RESPONSABLE DE TOUTE UTILISATION ILLICITE DU MATÉRIEL PAR LE CONSOMMATEUR. BLACKMAGIC DESIGN N'EST PAS RESPONSABLE DES DOMMAGES RÉSULTANT DE L'UTILISATION DE CE PRODUIT. LE CONSOMMATEUR UTILISE CE PRODUIT À SES SEULS RISQUES.
© Copyright 2016 Blackmagic Design. Tous droits réservés. ‘Blackmagic Design’, ‘DeckLink’, ‘HDLink’, ‘Workgroup Videohub’, ‘ Videohub’, ‘DeckLink’, ‘Intensity’ et ‘Leading the creative video revolution’ sont des marques déposées aux États-Unis et dans d'autres pays. Tous les autres noms de société et de produits peuvent être des marques déposées des sociétés respectives auxquelles ils sont associés. Thunderbolt et le logo Thunderbolt sont des marques déposées d'Intel Corporation aux États-Unis et/ou dans d'autres pays.
83Garantie
Installations- und Bedienungsanleitung
Blackmagic 3G-SDI Arduino Shield
November 2017

Deutsch

Willkommen!
Danke, dass Sie sich für den Kauf des neuen Blackmagic 3G-SDI Arduino Shields entschieden haben.
Wir haben ein ungemeines Interesse an neuen Technologien und sind immer wieder begeistert, auf welch kreative Art und Weise unsere SDI-Produkte eingesetzt werden. Mit dem 3G-SDI Arduino Shield können Sie den Arduino jetzt in Ihren SDI-Workflow integrieren, um Ihr Blackmagic Design Equipment um noch mehr Steuerungsmöglichkeiten zu erweitern.
So lassen sich bspw. die URSA Mini und Blackmagic Studio Cameras von einem ATEM Mischer aus steuern. Das geschieht mithilfe von Datenpaketen, die in das SDI-Signal eingebettet sind. Sollten Sie über keinen ATEM Mischer verfügen, aber dennoch die Möglichkeit haben wollen, Ihre Blackmagic Kameras zu steuern, können Sie mit Ihrem 3G-SDI Arduino Shield auch Steuerungslösungen nach Ihrem Gusto kreieren. Das Shield dient Ihnen hierbei als SDI-Grundgerüst, damit Sie den Programm­Feed von Ihrem Mischer anhand des Shields rückführen und durch den Programmeingang Ihrer Blackmagic Cameras schleifen können.
Der Code für die Befehle, die an die Kamera gesendet werden, ist im Handumdrehen geschrieben. Alle unterstützten Befehle finden Sie außerdem in diesem Handbuch.
Steuern Sie Ihre Kameras entweder über einen Computer oder erweitern Sie Ihr Shield um Tasten, Regler und Joysticks. Bauen Sie sich so dynamische Hardware-Controller, mit denen sich Funktionen wie Fokus, Zoom, Blendeneinstellungen, Schwarzabhebung, Weißabgleich sowie der leistungsstarke Farbkorrektor der Kamera und vieles mehr anpassen lassen. Sich einen Controller nach den eigenen Bedürfnissen zu basteln ist nicht nur hilfreich für die Produktion, sondern macht auch eine Menge Spaß!
Wir sind von dieser Technologie begeistert und würden uns freuen, wenn Sie Ihre Ideen mit uns teilen und uns erzählen, welche SDI-Steuerelemente Sie für Ihr 3G-SDI Arduino Shield zusammengestellt haben.
Diese Bedienungsanleitung gibt Ihnen alle Informationen, die Sie für die Inbetriebnahme Ihres Blackmagic 3G-SDI Arduino Shields brauchen. Bitte sehen Sie auf der Support-Seite unter www.blackmagicdesign.com/de nach der aktuellsten Auflage der Bedienungsanleitung sowie Aktualisierungen der Produktsoftware Ihres Shields. Indem Sie Ihre Software auf dem neuesten Stand halten, haben Sie stets Zugriff auf neue, aktuelle Features! Wenn Sie Software herunterladen, empfehlen wir Ihnen, sich zu registrieren, sodass wir Sie über neue Updates informieren können, sobald diese zur Verfügung stehen. Da wir ständig an neuen Features und Verbesserungen arbeiten, freuen wir uns jederzeit, von Ihnen zu hören.
Grant Petty
CEO, Blackmagic Design
Inhalt
Blackmagic 3G-SDI Arduino Shield
Erste Schritte 86
Aufstecken und Verlöten von Stiftleisten 86 Anbringen an das Arduino-Board 87 Anschließen an das Stromnetz 87 Anschließen an SDI-Equipment 88
Softwareinstallation 89
Installieren der Produktsoftware 89
Installieren der Arduino Bibliotheksdateien 90
Blackmagic Arduino Shield Setup 91
2
C Address“ 91
„I „Video Format“ 91
Programmieren von Arduino-Sketchen 92
Testen der Blackmagic Shield und Bibliotheken-Installation 92
Status-LEDs 94
Anbringen von Shield-Komponenten 95
Kommunizieren mit Ihrem Arduino Shield 95
High Level Overview 95
2
C Interface 95
I Serial Interface 95 Example Usage 96
Studio Camera Control Protocol 96
Blackmagic Video Device Embedded Control Protocol 98 Example Protocol Packets 104
Developer Information 105
Hilfe 109
Garantie 110

Erste Schritte

6 PIN
8 PIN

Aufstecken und Verlöten von Stiftleisten

Ihr Blackmagic 3G-SDI Arduino Shield wird mit vier stapelbaren Stiftleisten geliefert, darunter zwei 8-polige, eine 10-polige und eine 6-polige. Stiftleisten sind Verbindungsstecker, mit denen Sie Ihr Shield auf das Arduino-Board aufstecken. Da die Stiftleisten stapelbar sind, können Sie weitere Shields mit zusätzlichen Komponenten wie Steuerungstasten, Reglern und Joysticks übereinander anbringen. Die Stiftleisten sind so aufgebaut, dass sie für die Montage auf Arduino-Boards mit R3-Fläche wie dem Arduino UNO geeignet sind.
So verbinden Sie die Stiftleisten mit Ihrem Shield:
1 Führen Sie die Stifte der Leisten in die jeweiligen Buchsen auf beiden Seiten Ihres
Blackmagic 3G-SDI Arduino Shields ein. Die Anordnung der Stiftleisten finden Sie in der Abbildung unten.
0 - Serial RX 1 - Seri al TX
(I2C) SDA (I2C) SCL
A5 (I2C) SCL A4 (I2C) SDA
HINWEIS Wenn Sie sich mit dem Shield verbinden, läuft die Kommunikation
über I2C oder seriell. Wir empfehlen I2C, da dies den seriellen Monitor unterstützt und alle Pins verfügbar bleiben. Wählen Sie den Kommunikationsmodus, wenn Sie das BMDSDIControl-Objekt im Sketch festlegen. Weitere Informationen finden Sie im Abschnitt „Kommunizieren mit Ihrem Arduino Shield“.
2 Verlöten Sie den Ansatz eines jeden Stifts mit der Unterseite Ihres Shields. Vergewissern
Sie sich, dass das Lot eine feste Verbindung zwischen Stift und Buchse erzeugt, sich die einzelnen Lötstellen nebeneinanderliegender Stifte jedoch nicht berühren.
87Erste Schritte
TIPP Um sicherzustellen, dass alle Pins Ihres Shields auf die weiblichen
Buchsenleisten des Arduino-Boards ausgerichtet sind, ist es ratsam, zunächst nur einen Pin mit jeder Leiste zu verlöten. Platzieren Sie dann das Shield auf dem Arduino-Board und überprüfen Sie die Ausrichtung der Pins. Sollten einige Leisten angepasst werden müssen, können Sie die Lötstelle der jeweiligen Leiste erwärmen und sie neu ausrichten. Das ist sehr viel einfacher als alle Stellen zu verlöten und anschließend Anpassungen vorzunehmen.

Anbringen an das Arduino-Board

Sobald die Stiftleisten mit Ihrem Shield verlötet sind, können Sie das 3G-SDI Shield auf Ihr Arduino­Board aufstecken.
Halten Sie das Shield an beiden Seiten fest und richten Sie die Stiftleisten auf die Buchsenleisten Ihres Arduino-Boards aus. Drücken Sie nun die Stifte vorsichtig in die Buchsen. Achten Sie darauf, dass sich die Stifte dabei nicht verbiegen.
Wenn alle Stifte eingeführt sind, sollte eine feste und stabile Verbindung zwischen dem Blackmagic Shield und dem Arduino-Board bestehen

Anschließen an das Stromnetz

Schließen Sie Ihr Blackmagic 3G-SDI Arduino Shield an das Stromnetz an, indem Sie einfach einen 12V-Stromadapter in den 12V-Stromausgang Ihres Blackmagic Shields stecken.
HINWEIS Die Stromversorgung des Arduino-Boards liefert nicht
ausreichend Strom für das Blackmagic Shield. Wenn Sie jedoch das Blackmagic Shield an das Stromnetz anschließen, wird auch der Arduino mit Strom versorgt. Stellen Sie also sicher, dass lediglich Ihr Blackmagic Shield mit dem Netzstrom verbunden ist.
88Erste Schritte

Anschließen an SDI-Equipment

Ist eine Verbindung zum Stromnetz hergestellt, können Sie das Arduino Shield an Ihr SDI-Equipment anschließen. So schließen Sie bspw. einen Mischer und eine Blackmagic URSA Mini an:
1 Schließen Sie den Programmausgang Ihres Mischers an den SDI-Eingang des Blackmagic
Arduino Shields an.
2 Verbinden Sie den SDI-Ausgang Ihres Arduino Shields mit dem mit „PGM“
gekennzeichneten SDI-Programmeingang Ihrer URSA Mini.
Ein Anschlussdiagramm finden Sie weiter unten.
SDI IN
SDI OUT
Switcher
SDI ‘PGM’ Input
Blackmagic 3G-SDI Arduino Shield
Blackmagic URSA Mini
Für den Einstieg war das schon alles.
Nun, da Ihr Shield auf dem Arduino-Board angebracht, es mit Strom versorgt und mit Ihrem SDI-Equipment verbunden ist, können Sie die Produktsoftware sowie die Bibliotheksdateien installieren, die Arduino-Software programmieren und mit dem Shield Ihr Equipment steuern.
Im weiteren Verlauf des Handbuchs finden Sie Informationen darüber, wie Sie die Produktsoftware des Shields installieren und wo Sie die Arduino-Bibliotheksdateien speichern sollten, damit das Shield mit Ihrem Arduino kommunizieren kann.
TIPP Ihr Blackmagic 3G-SDI Arduino Shield können Sie auch für die Steuerung
anderer Blackmagic Design Produkte wie bspw. des Blackmagic MultiView 16 benutzen. Wenn Sie Ihr Shield an Eingang 16 koppeln, können Sie so Tally-Umrandungen in der Mehrfachansicht anzeigen.
89Erste Schritte

Softwareinstallation

HINWEIS Laden Sie zunächst die aktuellste Arduino IDE Software von www.
arduino.cc herunter und installieren Sie sie auf Ihrem Computer. Installieren Sie erst dann das Blackmagic 3G-SDI Arduino Shield Setup-Dienstprogramm.
Sobald Sie die Installation der Arduino-Software ausgeführt haben, können Sie nun die Produktsoftware für Ihr Arduino Shield installieren.

Installieren der Produktsoftware

Blackmagic Arduino Shield Setup dient der Aktualisierung der Produktsoftware Ihres Shields. DieProduktsoftware kommuniziert mit dem Arduino-Board und steuert es mithilfe von Arduino-Bibliotheksdateien. Diese Bibliotheksdateien werden zusammen mit der Setup-Software installiert. Sie müssen lediglich den Ordner mit den Dateien kopieren und in den Arduino-Anwendungsordner einfügen. Informationen zu den Bibliotheksdateien und wie diese installiert werden, finden Sie im nächsten Kapitel dieses Handbuchs.
Wir empfehlen Ihnen, die aktuellste Blackmagic 3G-SDI Arduino Shield Software herunterzuladen und Ihr Shield auf den aktuellsten Stand zu bringen, damit Sie von neuen Funktionen und Verbesserungen profitieren können. Die aktuellste Version steht im Blackmagic Design Support Center unter www.blackmagicdesign.com/de/support zum Download bereit.
So installieren Sie die Produktsoftware unter Mac OS X:
1 Laden Sie die Blackmagic 3G-SDI Arduino Shield Software herunter und entpacken Sie sie. 2 Öffnen Sie das Speicherabbild und starten Sie das Blackmagic Arduino Shield
Installationsprogramm. Folgen Sie den Anweisungen auf Ihrem Bildschirm.
3 Nachdem die aktuellste Version des Blackmagic Arduino Shield Installationsprogramms
eingespielt wurde, versorgen Sie Ihr Blackmagic Shield mit Strom und verbinden Sie es per USB-Kabel mit Ihrem Computer.
4 Starten Sie nun das Setup-Dienstprogramm und folgen Sie der Aufforderung auf
Ihrem Bildschirm für die Aktualisierung der Produktsoftware Ihres Shields. Sollte diese Aufforderung nicht erscheinen, so ist Ihre Produktsoftware auf dem neuesten Stand. Keine weiteren Aktionen Ihrerseits sind notwendig.
So installieren Sie die Produktsoftware unter Windows:
1 Laden Sie die Blackmagic 3G-SDI Arduino Shield Software herunter und entpacken Sie sie. 2 Nun sollten Sie einen Blackmagic Arduino Shield Ordner sehen. Darin finden Sie dieses
Handbuch und das Blackmagic Arduino Shield Installationsprogramm. Doppelklicken Sie auf das Installationsprogramm und folgen Sie den Anweisungen zur Fertigstellung der Installation auf dem Bildschirm.
3 Nachdem die aktuellste Version des Blackmagic Arduino Shield Installationsprogramms
eingespielt wurde, versorgen Sie Ihr Blackmagic Shield mit Strom und verbinden Sie es per USB-Kabel mit Ihrem Computer.
4 Starten Sie nun das Setup-Dienstprogramm und folgen Sie der Aufforderung auf
Ihrem Bildschirm für die Aktualisierung der Produktsoftware Ihres Shields. Sollte diese Aufforderung nicht erscheinen, so ist Ihre Produktsoftware auf dem neuesten Stand. Keine weiteren Aktionen Ihrerseits sind notwendig.
90Softwareinstallation

Installieren der Arduino Bibliotheksdateien

Die Programme zur Steuerung Ihres Arduinos werden als Sketche bezeichnet. Ihr Blackmagic 3G-SDI Arduino Shield macht von Bibliotheksdateien Gebrauch, um das Schreiben von Sketchen zu vereinfachen. Nach der Installation der Konfigurationssoftware Ihres Shields werden die Bibliotheksdateien in einem Ordner namens „Library“ (Bibliothek) gespeichert. Kopieren Sie den Ordner mit den Bibliotheksdateien und fügen Sie ihn in den „Library“-Ordner Ihres Arduino ein.
HINWEIS Während der Installation von Bibliotheken muss die IDE-Software
geschlossen sein.
So installieren Sie Bibliotheksdateien unter Mac OS X:
1 Öffnen Sie „Blackmagic Arduino Shield“ im Ordner „Programme“.
2 Öffnen Sie den Ordner „Library“ und führen Sie auf dem Ordner „BMDSDIControl“ einen
Rechtsklick aus. Wählen Sie anschließend „Kopieren“.
3 Gehen Sie nun zum Ordner „Dokumente“ und öffnen Sie den „Arduino“-Ordner.
4 Dort befindet sich ein Unterordner namens „Libraries“. Fügen Sie den Ordner
„BMDSDIControl“ in den Ordner „Libraries“ ein.
So installieren Sie Bibliotheksdateien unter Windows:
1 Öffnen Sie den Ordner „Programme“ bzw. „Blackmagic Arduino Shield“.
2 Sie sehen nun einen Unterordner mit dem Namen „Library“. Öffnen Sie diesen und kopieren
Sie den Ordner mit dem Namen „BMDSDIControl“ per Rechtsklick.
3 Gehen Sie nun zum Ordner „Dokumente“ und öffnen Sie den „Arduino“-Ordner.
4 Dort befindet sich ein Unterordner namens „Libraries“. Fügen Sie den Ordner
„BMDSDIControl“ in den Ordner „Libraries“ ein.
Das ist schon alles, um die Blackmagic Design Bibliotheksdateien auf Ihrem Computer zu installieren. Wenn Sie mit der Arduino-Software arbeiten, stehen Ihnen jetzt auch Blackmagic Design Beispiel­Sketche zur Verfügung.
Öffnen Sie dazu einfach das Aufklappmenü „File“ (Datei) in der Menüzeile der Arduino-Software und wählen Sie „Examples“ (Beispiele). Klicken Sie auf „BMDSDIControl“. Nun erscheint eine Liste mit Beispiel-Sketchen zu Ihrer Auswahl.
Wenn sich die Bibliotheksdateien im korrekten Ordner befinden, kann Ihr Shield nun auf sie zugreifen und mit dem Arduino-Board kommunizieren. Alles, was Sie dafür tun müssen, ist die Arduino-IDE-Software zu programmieren. Weitere Informationen finden Sie im Abschnitt „Programmieren von Arduino-Sketchen“.
HINWEIS Wenn in Zukunft ein Update der Bibliotheksdatei mit Beispielen
herausgegeben wird, müssen Sie den alten „BMDSDIControl“-Ordner löschen und ihn mit dem neuen Ordner ersetzen. Folgen Sie den Anweisungen oben.
91Blackmagic Arduino Shield Setup

Blackmagic Arduino Shield Setup

Über die Blackmagic Arduino Shield Setup Software können Sie Änderungen der Einstellungen an Ihrem Shield vornehmen. Dazu gehören bspw. die I2C-Adresse und das Videoausgabeformat
Wenn Blackmagic Arduino Shield Setup auf Ihrem Computer installiert ist, können Sie darüber die Einstellungen Ihres Shields ändern. Dazu gehört die „I identifiziert, damit das Arduino-Board mit ihm kommunizieren kann, und das „Video Format“ (Videoformat), das das Ausgabeformat Ihres Shields festlegt.
2
C Address“ (I2C-Adresse), die Ihr Shield

„I2C Address“

In seltenen Fällen ist es möglich, dass ein weiteres Shield, das auf Ihrem Blackmagic Shield angebracht ist, dieselbe standardmäßige I Konflikt. Sollte dies der Fall sein, können Sie die Standardadresse ändern.
Die Standardadresse für Ihr Shield ist 0x6E. Sie haben jedoch eine Reihe von Adressen zwischen 0x08 und 0x77 zur Wahl.
So ändern Sie die Adresse Ihres Shields:
1 Starten Sie Blackmagic Arduino Shield Setup und klicken Sie auf das Einstellungssymbol.
2 Tragen Sie in den Kasten „Set Address to:“ (Adresse einstellen auf:) die Adresse ein, die Sie
verwenden möchten.
3 Klicken Sie auf „Save“ (Speichern).
2
C-Adresse wie Ihr Shield verwendet. Das führt zu einem

„Video Format“

Wenn keine Eingabe angeschlossen ist, wird das im Setup-Dienstprogramm eingestellte Standardausgabeformat gewählt. Wird eine Eingabe erkannt, erfolgt die Ausgabe im selben Format wie die Eingabe. Wird diese Eingabe entfernt, setzt sich der Ausgang auf das Ausgabeformat zurück, das im Dienstprogramm festgelegt wurde. Sie können das Videoformat ändern, indem Sie im Ausklappmenü unter „Default Output Format“ (Standardausgabeformat) das gewünschte Format auswählen.
92Programmieren von Arduino-Sketchen
Die folgenden Videoausgabeformate sind verfügbar:
720p/50 720p/59,94 720p/60 1080i/50 1080i/59,94 1080i/60 1080p/23,98 1080p/24 1080p/25 1080p/29,97 1080p/30 1080p/50 1080p/59,94 1080p/60

Programmieren von Arduino-Sketchen

Die Programme– oder Sketche– für die Arduino-Software sind kinderleicht zu schreiben! Sketche werden in gängigen C-Programmiersprachen geschrieben. Wenn Sie Sketche mithilfe von Befehlen des Studio Camera Control Protocols programmieren, bettet das Shield diese Befehle in die SDI-Ausgabe ein. Mit dieser lassen sich Ihre Blackmagic URSA Mini oder Blackmagic Studio Cameras daraufhin steuern.
Alle unterstützten Befehle finden Sie im Abschnitt „Studio Camera Control Protocol“ dieses Handbuchs. Nehmen Sie diese und benutzen Sie sie für Ihren Sketch.

Testen der Blackmagic Shield und Bibliotheken-Installation

Nachdem alles wie im Abschnitt „Erste Schritte“ beschrieben verbunden wurde und Sie die Konfigurationssoftware und die Bibliotheksdateien installiert haben, möchten Sie wahrscheinlich testen, ob Ihr Shield mit dem Arduino-Board kommuniziert und alles einwandfrei funktioniert.
Am schnellsten geht das, wenn Sie den vorhandenen Beispiel-Sketch für das Blinken des Tally-Lichts öffnen und ausführen.
Das geht so:
1 Starten Sie die Arduino-IDE-Software.
2 Gehen Sie zum „Tools“-Menü (Werkzeuge) und wählen Sie das Arduino-Board und die
Port-Nummer aus.
3 Klicken Sie im „File“-Menü (Datei) auf „Examples/BMDSDIControl“ (Beispiele/
BMDSDIControl) und wählen Sie „TallyBlink“ aus.
4 Laden Sie den Sketch auf Ihr Board.
93Testen der Blackmagic Shield und Bibliotheken-Installation
Das Beispiel mit dem Blinken des Tally-Lichts ist eine schnelle und einfache Möglichkeit, Ihr Arduino Shield zu testen. Rohdaten können mithilfe von Befehlen aus dem Studio Camera Protocol Dokument über I2C an Ihr Shield gesendet werden. Wir haben Ihnen aber zudem eine spezielle Bibliothek zur Verfügung gestellt, damit Sie Sketche sehr viel einfacher programmieren können.
HINWEIS Vergewissern Sie sich, dass die Tally-Nummer Ihrer Blackmagic Kamera
auf „1“ eingestellt ist.
Nun sollte das Tally-Licht an Ihrer Blackmagic Studio Camera einmal pro Sekunde blinken. Ist dies der Fall, können Sie sicher sein, dass Ihr Blackmagic Shield mit dem Arduino kommuniziert und alles einwandfrei funktioniert.
Blinkt das Tally-Licht nicht, vergewissern Sie sich zunächst, dass die Tally-Nummer der Blackmagic Kamera auf „1“ eingestellt ist.
Sollten Sie weitere Hilfe benötigen, besuchen Sie das Blackmagic Design Support Center unter www.blackmagicdesign.com/de/support. Im Abschnitt „Hilfe“ dieses Handbuchs finden Sie weitere Informationen dazu, wie Sie Hilfestellungen bei der Konfiguration Ihres Shields bekommen.
94Testen der Blackmagic Shield und Bibliotheken-Installation

Status-LEDs

10 PIN
8 PIN
8 PIN
Ihr Blackmagic 3G-SDI Arduino Shield verfügt über sechs Status-LEDs, die unterschiedliche Aktivitätszustände wie Stromzufuhr, UART-, I außerdem an, wenn die Tally- und Camera-Control-Overrides aktiviert sind.
LED 1– System aktiv
Leuchtet auf, wenn das Shield mit Strom versorgt wird.
LED 2– Control-Overrides aktiviert
Leuchtet auf, wenn Sie in Ihrem Arduino-Sketch die Kamerasteuerung aktiviert haben.
LED 3– Tally-Overrides aktiviert
Leuchtet auf, wenn Sie in Ihrem Arduino-Sketch Tally aktiviert haben.
LED 5– I
Leuchtet auf, wenn Ihr Shield und der Arduino über das I
2
C-Parser aktiv
2
C- und SPI-Kommunikation anzeigen. Die LEDs zeigen
LED 1
LED 2
LED 3
LED 4
LED 5
LED 6
2
C-Protokoll kommunizieren.
LED 6– Serieller Parser aktiv
Leuchtet auf, wenn UART-Kommunikation erkannt wird.
Wenn Ihr Blackmagic Shield bootet, bleibt die Strom-LED unbeleuchtet. LEDs 3, 4 und 5 zeigen die folgenden Aktivitäten an:
LED 3– Anwendungs-Image lädt
LED 4– EEPROM wird initialisiert
LED 5– Speichertest wird durchgeführt
Nach erfolgreichem Start leuchtet die Strom-LED auf. Alle anderen LEDs übernehmen daraufhin wieder ihre betriebliche Standardfunktion.
Im seltenen Fall eines fehlgeschlagenen Systemstarts beginnen alle LEDs– bis auf die für die fehlgeschlagene Aktivität– schnell zu blinken. So ist die Ursache leicht identifiziert.
95Anbringen von Shield-Komponenten

Anbringen von Shield-Komponenten

Wenn Sie Ihren eigenen Hardware-Controller bauen möchten, können Sie für eine greifbarere und praktischere Handhabung ein neues Shield mit Tasten, Reglern und einem Joystick kreieren. Montieren Sie Ihr eigens angefertigtes Shield einfach auf Ihrem Blackmagic 3G-SDI Arduino Shield, indem Sie es auf die dafür vorgesehenen Leisten Ihres Shields aufstecken. Den Arten von Steuerelementen, die Sie bauen können, sind keine Grenzen gesetzt. Es lässt sich sogar der Schaltkreis einer alten CCU durch Ihre selbst zusammengestellte Arduino-Lösung austauschen. Und schon haben Sie eine Kamerasteuerungseinheit nach Industriestandard.
Sie können Ihren eigenen Hardware-Controller kreieren und diesen für eine noch interaktivere und präzisere Steuerung auf Ihrem Blackmagic 3G-SDI Arduino Shield montieren

Kommunizieren mit Ihrem Arduino Shield

You can communicate with your Arduino Shield via I2C or Serial. We recommend I2C because of the low pin count and it frees up the serial monitor. This also allows you to use more I the shield.

High Level Overview

The library provides two core objects, BMD_SDITallyControlandBMD_SDICameraControl, which can be used to interface with the shield’s tally and camera control functionalities. Either or both of these objects can be created in your sketch to issue camera control commands, or read and write tally data respectively. These objects exist in several variants, one for each of the physicalI Serialcommunication busses the shield supports.

I2C Interface

To use theI2Cinterface to the shield:
// NOTE: Must match address set in the setup utility software
const int shieldAddress = 0x6E;
BMD_SDICameraControl_I2C sdiCameraControl(shieldAddress);
BMD_SDITallyControl_I2C sdiTallyControl(shieldAddress);

Serial Interface

To use theSerialinterface to the shield:
2
C devices with
2
C or
BMD_SDICameraControl_Serial sdiCameraControl;
BMD_SDI Tally Contr o l_Seri al s d iTally C o n trol;
96Kommunizieren mit Ihrem Arduino Shield
Note that the library will configure the Arduino serial interface at the required 38400 baud rate. If you wish to print debug messages to the Serial Monitor when using this interface, change the Serial Monitor baud rate to match. If the Serial Monitor is used, some binary data will be visible as the IDE will be unable to distinguish between user messages and shield commands.

Example Usage

Once created in a sketch, these objects will allow you to issue commands to the shield over selected bus by calling functions on the created object or objects. A minimal sketch that uses the library via
2
the I
C bus is shown below.
// NOTE: Must match address set in the setup utility software
const int shieldAddress = 0x6E;
BMD_SDICameraControl_I2C sdiCameraControl(shieldAddress);
BMD_SDITallyControl_I2C sdiTallyControl(shieldAddress);
void setup() {
// Must be called before the objects can be used
sdiCameraControl.begin();
sdiTallyControl.begin();
// Turn on camera control overrides in the shield
sdiCameraControl.setOverride(true);
// Turn on tally overrides in the shield
sdiTallyControl.setOverride(true);
}
void loop() {
// Unused
}
The list of functions that may be called on the created objects are listed further on in this document. Note that before use, you must call the‘begin’function on each object before issuing any other commands.
Some example sketches demonstrating this library are included in the Arduino IDE’sFile->Examples­>BMDSDIControl menu.

Studio Camera Control Protocol

This section contains the Studio Camera Control Protocol from the Blackmagic Studio Camera manual. You can use the commands in this protocol to control your Blackmagic URSA Mini or Blackmagic Studio Camera via your Arduino shield.
The Blackmagic Studio Camera Protocol shows that each camera parameter is arranged in groups, such as:
Group ID Group
0 Lens
1 Video
2 Audio
97Studio Camera Control Protocol
Group ID Group
3 Output
4 Display
5 Ta l ly
6 Reference
7 Configuration
8 Color Correction
The group ID is then used in the Arduino sketch to determine what parameter to change.
The function: sdiCameraControl.writeXXXX, is named based on what parameter you wish to change, and the suffix used depends on what group is being controlled.
For example sdiCameraControl.writeFixed16 is used for focus, aperture, zoom, audio, display, tally and color correction when changing absolute values.
The complete syntax for this command is as follows:
sdiCameraControl.writeFixed16 (
Camera number,
Gr o u p,
Parameter being controlled,
Op er ation,
Value
);
The operation type specifies what action to perform on the specified parameter
0 = assign value. The supplied Value is assigned to the specified parameter.
1 = offset value. Each value specifies signed offsets of the same type to be added to the current parameter Value.
For example:
sdiCameraControl.writeCommandFixed16(
1,
8,
0,
0,
liftAdj u s t
);
1 = camera number 1 8 = Color Correction group 0 = Lift Adjust 0 = assign value liftAdjust = setting the value for the RGB and luma levels
As described in the protocol section, liftAdjust is a 4 element array for RED[0], GREEN[1], BLUE[2] and LUMA[3]. The complete array is sent with this command.
The sketch examples included with the library files contain descriptive comments to explain their operation.
98Studio Camera Control Protocol
Loading...