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 the I
C bus is shown below.
2
// NOTE: Must match address set in the setup utility software
const int
BMD_SDICameraControl_I2C
BMD_SDITallyControl_I2C
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
3
Output
shieldAddress = 0x6E;
sdiCameraControl(shieldAddress);
sdiTallyControl(shieldAddress);
Studio Camera Control Protocol
181