910-0046 Rev-T RED ENG RED Command Protocol Reference Guide
910-0046 Rev-T RED ENG RED Command Protocol Reference Guide
com
D 005790 12/04/12 Updated to for camera firmware 4.0.x, Ethernet references removed.
F 007621 12/18/13 Updated to extend parameter set to match firmware 5.1.33 and later.
Updated for parameter set 4.1 (firmware 5.1.35) and corrections to FANPCTT,
G 007697 01/20/14
FANPCTF, MPITCH, RCLIP, GCLIP, BCLIP
Added discovery process, use of target values. Corrections or additional info
H 007827 02/21/14 to CAMNAME, SHANGLE, SHTIME, PAUSE, PLAY, PLAYPAUS, STOP,
CAMMEID, CAMSCENE, CAMTAKE. Key release codes added to buttons.
Name change, Many parameters added, T/H/D message types added, WiFi
J 007996 04/01/14
setup added.
Updated for RCP Parameter Set 5.1. Added HCFOCUS, HCIRIS, HCZOOM and
K 008197 05/16/14
HCREINIT parameters and corrected type for MMMODE.
Updated for RCP Parameter Set 6.0. Large number of parameters added.
L 008645 09/05/14
Change to discovery process.
Updated for RCP Parameter Set 6.10. Large number of parameters added.
M 009405 04/08/15 Relative value update supported on some parameters. Five parameters marked
for deprecation.
Updated for RCP Parameter set 6.20. Corrected DATETIME description, added
N 009840 07/23/15
approximately 100 parameters.
Updated for RCP Parameter set 6.40. New parameters defined. Added support
R 010779 04/08/16 for 3 rd party user pass-through commands. Clarifications made based on
comments from the field.
Updated for RCP Parameter set 6.50. Change to periodic data behavior. Added
T 011971 05/22/17
J, E, and I commands. Added new data type for indexed operations.
1 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
TABLE OF CONTENTS
DISCLAIMER 4
COPYRIGHT NOTICE 4
TRADEMARK DISCLAIMER 4
OBJECTIVE 5
SCOPE 5
FEATURES 5
USAGE 14
VOLUME OF TRAFFIC 15
SOURCE CODE PACKAGE AVAILABILITY 15
2 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
3 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
D IS CL AI MER
RED ® has made every effort to provide clear and accurate information in this document, which is provided
solely for the user’s information. While thought to be accurate, the information in this document is provided
strictly “as is” and RED will not be held responsible for issues arising from typographical errors or user’s
interpretation of the language used herein that is different from that intended by RED. All safety and general
information is subject to change as a result of changes in local, federal or other applicable laws.
RED reserves the right to revise this document and make changes from time to time in the content hereof
without obligation to notify any person of such revisions or changes. In no event shall RED, its employees or
authorized agents be liable to you for any damages or losses, direct or indirect, arising from the use of any
technical or operational information contained in this document.
For comments or questions about content in this document please send a detailed email to
[email protected].
COPYRIGHT NOTICE
© 2017 RED.COM, INC.
All trademarks, trade names, logos, icons, images, written material, code, and product names used in
association with the accompanying product are the copyrights, trademarks or other intellectual property
owned and controlled exclusively by RED.COM, INC. For a comprehensive list, please see
www.red.com/trademarks.
TRADEMARK DISCLAIMER
All other company, brand and product names are trademarks or registered trademarks of their respective
holders. RED has no affiliation to, is not associated or sponsored with, and has no express rights in third-
party trademarks. Android is a trademark of Google Inc. HDMI is a registered trademark of HDMI Licensing
LLC in the United States and other countries. IOS is a registered trademark of Cisco in the U.S. and other
countries and is used under license. LEMO is a registered trademark of LEMO USA. OS X is a registered
trademark of Apple Inc. in the U.S. and other countries. Windows is a registered trademark of Microsoft
Corporation.
4 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
O B JECT IV E
The purpose of this document is to describe the structure and usage of the RED ® Command Protocol (RCP).
RCP is the unified command protocol used for all RED EPIC ® and SCARLET ® cameras and all second-
generation Digital Still and Motion Cameras (DSMC2™), regardless of sensor type. This provides a low level
understanding of the commands and protocol. RED discourages using the protocol for anything but the
simplest of applications, and recommends use of the API, see document 910-0098 RED ENG, RCP API
Development Guide.
S CO PE
RCP parameter set 6.50 is only supported in firmware build 6.4.x and beyond. Therefore, parameters added
as of set 6.50 are only applicable to DSMC2 cameras. Refer to the rcp_param_t type definition in rcp_api.h
for details of which parameter set any given parameter was added.
F EAT UR ES
The current version is RCP2.
RCP is supported via the serial port, GigE (Gigabit Ethernet), R.C.P. Bridge (WiFi, EPIC/SCARLET only),
and built-in WiFi (DSMC2 only).
Designed as a lightweight protocol that can be used from a PC down to a microcontroller.
RCP is text based and human readable.
Includes optional error detecting checksum.
Asynchronous.
No master/slave concept.
Support for 1:1 and 1:N communication.
5 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
The RCP is disabled by default, and must be enabled in the camera menu:
The port settings are 115200 baud, 8N1 (8 bits, no parity, 1 start bit, no flow control).
The 4-PIN 00 LEMO ® -to-Flying Lead (P/N 790-0187) may be used for custom connections. See the section
“CTRL (RS232 Control)” in the operation guide for your camera, available at www.red.com/downloads.
6 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
VIA GIGE
RCP is available through the GigE connector:
EPIC/SCARLET: The GIG-E connector is available directly on the rear of the camera.
DSMC2: The GIG-E connector is available only on the DSMC2 REDVOLT Expander, and DSMC2 Jetpack
SDI Expander.
Communication is allowed over TCP (port 1111). It is your responsibility to configure the camera, network,
and application properly. The camera can be configured for a fixed or dynamic IP address. A dynamic
discovery process is also supported.
The LEMO-to-CAT5E Ethernet Cable (9’) (P/N 790-0159) is required. See the section “GIG-E (Ethernet)” in
the operation guide for your camera, available at www.red.com/downloads. The GIG-E 9-pin LEMO
connector provides a 1000BASE-T (IEEE 802.3ab) gigabit Ethernet. Since the GIG-E connector does not
support slower speeds (10BASE-T and 100BASE-T), ensure that any device you connect to supports
1000BASE-T.
Check that the LAN indicator turns green when External Control is enabled and the camera is connected to a
network. If the LAN indicator turns yellow or red, contact a Bomb Squad representative to determine if the
camera needs updating.
As of firmware version 5.1.33, the camera does not support more than eight (8) simultaneous connections.
7 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Your application should maintain just one. If the connection is lost, close down the connection before
opening a new one. Once the maximum number of connections is reached, the camera ignores additional
requests. Other than refusing the connection, the camera does not indicate why the connection is
unsuccessful.
VIA WIFI
EPIC/SCARLET: Starting with camera firmware 5.2.x, the RCP is available through the R.C.P. Bridge
module for EPIC and SCARLET cameras. The R.C.P. Bridge is automatically enabled if connected. The
R.C.P. Bridge can support one connection.
DSMC2: All DSMC2 cameras have WiFi built in.
WiFi and the connection method must be enabled in the camera menu:
• EPIC/SCARLET: Set up the connection using the instructions from the R.C.P. Bridge Operation
Guide.
• DSMC2: Set up the connection using the instructions from the “WiFi” section in the operation guide
for your camera, available at www.red.com/downloads.
8 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
RCP VERSIONING
There is versioning at two levels in RCP. One is the version of RCP itself. This is currently at version 2. This
will change with wholesale changes in the architecture of RCP. It can be queried with the RCPVER
parameter. The other is versioning of the RCP parameter set. The parameter set changes over time with
evolution of camera features.
The parameter set is versioned to allow you to determine compatibility with your application. This version
can be retrieved from the RCPPSVER parameter. It is maintained as a major and minor version number
packed as a 32 bit value with the major version in the most significant 16 bits and minor version in the least
significant 16 bits. So Version = major <<16 + minor. A major version is incremented when a potentially non-
backward compatible change is made (something removed or behavior changed). The minor version is
incremented when the only change is an addition. In other words, major revision changes have the potential
to break an application’s use of RCP. When writing applications with RCP, build in the check of this
parameter and take appropriate action if a dependency on a particular version is found.
R ED C O MMAND PR OT OCO L S YN T AX
STRUCTURE
The general structure of an RCP Message looks like this:
9 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
DATA TYPES
All data values are transmitted as strings, but they can represent different types of data. Below are
descriptions of those different types.
10 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
INDEXED (MSG_INDEX_INT)
Some parameters, such as those for power input and output have been generalized to avoid a proliferation
of parameter names. This is accomplished by indexing. In this data type, two values are passed, the first
being an index and the second being the value. In the case of power operations, the index identifies which
port to operate on. The index is determined by first getting a list of available ports. The index is the port’s
position in the list.
STRING (MSG_STR_PTR)
When the parameter value is a string, simply put the string contents without any quotation marks in the RCP
command string as is. Many of the string type parameters that have only a GET and CURRENT command
ability are simply used as data for the UI and are not meant to be parsed, but instead are simply for display.
Therefore, the list of possible values is not elaborated in many cases.
LIST (MSG_LIST_PTR)
String lists are used to transmit lists through the RCP protocol. To pass them as RCP data the list is put into
one long value string. The cList class facilitates this. The separator for fields inside the lists is '|'. The first
field in a list is a type indicator for the format of the list. The cList class in the RCP SDK should be used to
parse the various cList types. Whereas the GET and CURRENT messages are used to access a parameter’s
current value, the GET_LIST and CURRENT_LIST are used to access a parameters possible values and the
way in which they should be presented.
It is important that lists are used to get possible values, because they can change dynamically for various
reasons, and can have different choices for different model cameras. In this way, the camera can present the
appropriate list in any given condition.
There are two types of general lists supported and used by the D (CURRENT_LIST) message types. They are
referred to as STRING_TYPE_NORMAL and STRING_TYPE_MIN_MAX_STEP. Normal is mainly for menu
items such as ISO, FPS, aperture that are lists of selections in uneven steps, or just lists of enumerated
values. The min_max_step type is used for controls like most of the look settings such as gains, Tint, and
FLUT, which are for continuous ranges of values between two endpoints. Their formats are defined below.
STRING_TYPE_NORMAL
11 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
This list type contains the list of num/string pairs and an index indicating the currently active selection. The
content of the list is a string with the fields separated by the ‘|’ character. The syntax of the list is as below:
STRING_TYPE_MIN_MAX_STEP
This list type contains the information to present a slider type of control where the possible values are
spaced evenly over a range of values with some step size and precision. The content of the list is a string
with the fields separated by the ‘|’ character. The data item represented in the control is often naturally a
floating-point number. The data elements in the list are all integers and allow scaling for fixed-point
operation. The syntax of the list is as below:
TYPE | CURRENT_INDEX | MIN | MAX | STEP | DIVIDER | PRECISION | PREFIX | POSTFIX |
TYPE: the type of list equal to 1 in this case.
CURRENT_INDEX: 0 based index into a virtual list represented by created by spacing values from MIN
to MAX at STEP intervals. Its range of values would be (MAX – MIN)/STEP.
MIN: the minimum natural value of the control multiplied by DIVIDER.
MAX: the maximum natural value of the control multiplied by the DIVIDER.
STEP: an increment between list entries. With a DIVIDER of 1000 and STEP of 100, the entries would
represent steps of 0.1 in the natural data range.
DIVIDER: a scale factor to convert from the list’s integer values to the natural data range.
PRECISION: the smallest natural value increment. With a DIVIDER of 1000 and PRECISION of 1, the
natural value is represented to 0.001.
PREFIX: a decorated string to be shown in front of the value. In most cases it is empty.
POSTFIX: a decorated string to be shown after the value such as a small ‘k’ for color temperature. In
most cases it is empty.
An example using the FLUT parameter is below. Its natural range is -8.0 to +8.0, the selected index is the
160 th being the last or 8.0 and can be specified in steps of 0.001. There are no prefix or postfix strings.
#$SCARLET:D:FLUT:1|160|-8000|8000|100|1000|1|||:
12 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
&redae; AE icon
&redav AV icon
13 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
SET_RELATIVE takes the value field as an adjustment to be added to the parameter’s current value. This
permits adjusting the value up or down without knowing its value beforehand. This is intended for control
interface models where the control might be a knob that has no absolute position, on relative adjustments
from a current value. Making a relative update allows not having to do a GET on the parameter first.
SET_LIST_RELATIVE allows adjusting the current index within a list. The value passed for this command is
an increment to the list index, either positive or negative. The parameter will be set to the corresponding list
value that many entries away from the current value. For example, the ISO could be changed to the next
higher setting by sending a SET_LIST_RELATIVE on the parameter ISO with a value of +1.
PERIODIC DATA
Prior to RCP 6.50, there was a group of parameters that were sent out periodically at various rates
regardless of whether their values changed or a GET being performed. This group included: FANPCTT,
FANPCTF, MPITCH, MROLL, AUDIOVU, DSHIST, CURRTEMP, CURSENST, POSTTC, and PWRBATL. As of
RCP 6.50 this behavior is changing to reduce the default traffic on the communication channels. POSTTC
will be the only parameter to automatically be output periodically. The parameters FANPCTT, FANPCTF,
CURRTEMP, CURSENST, and PWRBATL will now behave as other parameters with CURRENT messages
being generated when they change or a GET is performed. Applications that relied on the periodic update
will need to perform a GET for an initial value. The parameters MPITCH, MROLL, AUDIOVU, and DSHIST will
not be sent periodically by default. They can individually be turned on for the old periodic behavior by
performing a GET_PERIODIC on the desired parameter. Applications that previously relied on the periodic
data will need to perform a single GET_PERIODIC on each after connecting to the camera. The
GET_PERIODIC command will take one value argument to stop (0) or start (1) the periodic output.
U S AG E
The RCP command exchange works in an asynchronous manner since it allows for multiple agents to be
sending SET or GET commands that may be asking for or changing the same parameter. When a parameter
is changed, a CURRENT command is sent out to all agents to indicate the new value. If a SET command is
sent that does not change the parameter value, no CURRENT will be generated. For this reason the
CURRENT should not be used as an indication of acknowledgement of the SET command. The GET
command can always be used to retrieve the current value of a parameter.
SET or GET commands that are invalid, either bad parameter or value, are simply ignored. The assumption is
that commands are not being generated by a person typing, but rather are part of an already debugged
application program. Therefore parameter names are not being created dynamically, only values might be.
An out of range value ends up being ignored and therefore no CURRENT is generated because no value
changes. If you are implementing some kind of GUI as part of your application, use the CURRENT value to
set your display values rather than the value you SET. This will take into account any limiting or adjustments
the camera may make to your requested value.
Not all parameters support all commands. Use the tables in each parameter group section that follows for
individual parameter details.
14 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
VOLUME OF TRAFFIC
Normal operation of the camera can result in a lot of output traffic of CURRENT commands. They can be
generated by actions within the camera that are unrelated to SET or GET commands. Since they are
essentially broadcast messages, an application listening on the CTRL or GigE port would see everything and
possibly flood the bandwidth of a 3rd party application. Be sure to select a processor in your application
that can handle continuous UART traffic at the 115,200 baud speed.
D EF IN ED PARAMET ER GR OU PS
SYSINFO GROUP
SYSINFO data is used to find the configuration of the camera. The ‘S’ (SET), ‘G’ (GET), and ‘C’ (CURRENT)
columns indicate which commands are supported for a given parameter.
15 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Which returns:
#$EPIC:C:RCPPSVER:196608:
Which returns:
#$EPIC:C:CAMINFO:102-7E3-8D5:EPIC-X:4.0.18::2: (2= Brain gigabit Ethernet)
KEYS GROUP
Generic key codes are the value entry for the KEYCODE parameter. They are 32 bit values. Values are shown
by descriptive name and code in the KEY CODES table. Each name starts with the source device, then key,
then event. The codes are grouped in complimentary pairs of press/release, clockwise/counter-clockwise
groupings. For keys that have a press action, it is good practice to always send the complimentary release
action afterwards. Not all press key events have a release.
16 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
A full list of sources and keys is in the amalgamated rcp_api.h along with a macro to build the keycode from
the source, flags, and id components.
By using the key mapping and presets feature of the camera to strategically define keys for frequent actions,
many camera operation functions can be controlled with just this one command.
17 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
18 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Move the menu cursor on UI one spot to the right, by mimicking one click of the Side Handle front rotary
wheel in the clockwise direction.
#$EXT:S:KEYCODE:66586:
19 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
ISO10000.
#$EXT:S:KEYACT:69,ISO10000:
EXPOSURE GROUP
The EXPOSURE group allows control of shutter angle, exposure time and HDRx ® mode.
Use the target parameters (SHANGLET, SHTIMET, RCTARGET, and APRTRT) to do the SET operations, but
use the CURRENT values from the corresponding absolute values (SHANGLE, SHTIME, REDCODE, APRTR)
to display in a UI or process for other reasons, as these are the actual values.
20 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
IMAGE GROUP
The image group provides control over the look qualities of the image. Items such as color space, color
temperature, gamma space, ISO, Tint, and toggling raw mode on or off.
21 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
22 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
23 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
The curves can be set using the all-in-one parameters RCURVE, GCURVE, BCURVE and LCURVE, or by
accessing the individual coordinates using the parameters cCURVEpa, where ‘c’ is the color (R,G,B,L), ‘p’ is
the point (S,D,M,L,H), and ‘a’ is the axis (X,Y). The individual point control parameters are convenient when
the curve is being manipulated from a GUI where typically only one point is being pushed around at any
time. The individual point access has the added benefit in that they support the relative update method. This
is convenient when they are controlled by a knob or wheel type interface and absolute values are not
needed. This saves retrieving the current value before setting a new one.
24 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
The command to set the blue curve to default would look like:
#$EXT:S:BCURVE:0,0,250,250,500,500,750,750,1000,1000:
The command to lift the midtone of the green curve by 10 units from its current value would be:
#$EXT:U:GCURVEMY:10:
LENS GROUP
The lens group allows control and query of the aperture, focal length and focal distance of electronic lenses
that support such features. Notice that F#, Fl, and Fd are all scaled by 10 or 100 to allow representation of
fractional part as a whole number. Divide the received number by the scale factor to get the value reported
by the lens.
25 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
OVERLAY GROUP
The overlay group allows selection of the false color and overlay modes of the camera.
26 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
27 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
28 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Next is the currently active setting = 3. This is a zero-based index to select the value/string pair. In this case
the fourth pair is 1777778|16\:9. The 1777778 is the value that would be used in a SET or returned in a GET
for the 16:9 aspect frame guide F0MODE parameter. Note the ‘\’ to escape the ‘:’ used within a string. There
are routines in the cList class in the SDK for doing the parsing of the lists. They should be used for this task,
as they will deal with the different list types and escaping of characters properly.
Breaking this list down completely gives the possible pairs of:
-1 Off
0 Full
1333333 4:3
1777778 16:9
1850000 1.85:1
1896296 1.9:1
2400000 2.4:1
-2 User
-3 Absolute
So now to change the mode to Off, send the following SET command:
#$EXT:S:F0MODE:-1:
PROJECT GROUP
The project group includes two broad groups of parameters for the definition of project metadata and the
setup of project settings such as sensor and project frame rates and REDCODE factor, among others. These
two groups are listed below in separate tables to distinguish them.
29 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
MSG_STR_PTR type metadata fields are simple human readable strings limited to 254 characters, 8
characters for CAMSCENE, 1 character for CAMSHOT. Leading and trailing spaces will be removed when
stored.
30 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
31 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
32 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
33 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
To create the code for 6k WS (widescreen 2.4:1) with 2x anamorphic, refer to rcp_types_public.h and select
the values as below
Look-around = 0
Anamorphic = ANA_2 = 1
Aspect ratio = AR_2_4_1 = 5
Resolution = RESOLUTION_6K = 9
Putting them all together in hexadecimal format gives 0x01059 = 4185
• Easy way to assemble value is:
• Value = (look_around << 16) + (anamorphic << 12) + (aspect << 4) + resolution
The correct command to set this in the camera would be
#$EXT:S:FORMAT2:4185:
STATE GROUP
The state group allows switching the camera between preview and playback modes, starting and stopping
recording and turning off the camera. The camera cannot be turned on remotely by RCP. The camera must
be in preview mode to record.
The PLAYBACK and RECORD parameters are asymmetric in terms of the value types used for the SET
versus the GET and CURRENT commands. This permits representing the distinction of being in playback
mode, but not actually play anything. Starting of playing content is controlled by parameters in the
PLAYBACK group. There is an example of that in a later section. Also the recording operation has several
phases that are reported.
34 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
With the PLAYBACK and RECORD parameters it is important to process the CURRENT commands that get
returned for positive indication of the state change. Changing modes and stopping and starting record can
take some amount of time so protection against sending changes before the previous command takes affect
should be included.
SYSTEM GROUP
The SYSTEM group is a collection of parameters of various functionalities. They cover temperature
reporting, media content operations, time code posting, and power supply information.
35 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
36 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
37 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
38 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
39 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
40 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
41 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
42 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
43 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
44 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
45 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Data for this parameter should be two RCP safe (required), human readable (suggested) strings separated by
a colon.
The <id> element should be chosen to avoid collisions with other 3 rd party applications. It should identify the
owner and the data element. RED suggests using the reverse URL notation.
46 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Request:
#$EXT:G:MEDAGCII:0:
Response:
#$DRAGON:C:MEDAGCII:0:A002_C001_0906NM:09/06/2013:15\:52\:54:24000:E\:01\:00\:00\:00:E\:01\:0
0\:02\:07:T\:15\:52\:55\:03:T\:15\:52\:57\:10:
Data interpretation:
0 clip index 0
A002_C001_0906NM clip name
09/06/2013 clip date
15\:52\:54 clip time, note the ‘\’ escape characters needed to allow ‘:’ in the data
24000 clip sensor FPS, in this case 24000/1001 = 23.976
E\:01\:00\:00\:00 clip start edge time code, note the ‘\’
E\:01\:00\:02\:07 clip end edge time code
T\:15\:52\:55\:03 clip start time of day time code
T\:15\:52\:57\:10 clip end time of day time code
Where:
BASE_64_ENCODED_UUID: unique ID for this notification instance
TITLE: title of notification (single line)
MESSAGE: message of notification. Hard line breaks are specified with “|”. Line wrapping should be
done on the client side
PROGRESS_BAR_TYPE: 0 = none, 1 = normal, 2 = infinite. Note that it is up to the client to auto-update
infinite progress bar.
PROGRESS_PERCENT: 0 – 100
47 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
RESPONSES_CLIST: cList of all responses available. The text for each entry should be the label used on
buttons, the int value should be sent back as the user response. The most number of buttons used to
date is 3. There is a practical limit to what can fit on the UI, but there is no coded limit.
TIMEOUT: if 0 notification is shown until it has been removed. Otherwise the number of seconds
notification should be shown before dismissing itself
TYPE: type of notification
Note, the same message is sent when an update to the notification occurs. Note that MESSAGE and
PROGRESS_PERCENT are the only fields that can be updated
Example:
#$EPIC:C:NOTIFY:q4wBALMRARCAASy2nQAE1w==:Media:Side SSD media removed without first
ejecting. Data integrity risk.:0:0:0|0|1|OK|:0:21:
When a notification is to be removed a NOTIFY message with only the BASE_64_ENCODED_UUID field is
sent, example:
#$DEFAULT:S:NOTIFY: q4wBALMRARCAASy2nQAE1w==:
Note that this message will be sent if the notification is responded to on any device (or the system decides
to close it on its own). If you are generating your own notification pop-up on some other device, this is when
you would close it.
When an external device (such as REDMOTE, iPad, etc) connects to a camera it should request all the
currently active notifications so that they can be displayed on the external device. Sending a GET NOTIFY
message does this:
#$EXT_DEV:G:NOTIFY:0:
The camera will respond with a CURRENT NOTIFY message for every active notification (or 0 if there are no
active notifications)
The response to a NOTIFY is NOTIFYR. The target notification is identified by using the corresponding UUID.
#$DEVICE_NAME:C:NOTIFYR:[BASE_64_ENCODED_UUID]:[RESPONSE]:
Where:
BASE_64_ENCODED_UUID: UUID of notification the user is responding to
RESPONSE: INT value from user options RESPONSES_CLIST
48 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
PLAYBACK GROUP
The PLAYBACK group consists of parameters to initiate and control in-camera playback of recorded clips.
To use these parameters, the camera must first be put into playback state and the change to that state
confirmed (see STATE group for more information).
PLAYBACK OPERATION
When playback is invoked by changing the state of the camera, the last recorded clip is loaded by default.
Other clips can be chosen either by index and loaded with CLIPLOAD or by stepping up or down with
CLIPNUM. The selected clip is then played back and controlled using PLAY, PLAYPAUS, LOOP and
PLAYSPD. Clip in and out points can be set with CLPINPT and CLPOUTPT, but they only pertain to the
49 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
STATS GROUP
The STATS group comprises a group of parameters that are automatically emitted on a regular basis or as
needed.
50 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
CLIP INDICATORS
Clip indicators are only sent when they change. If they become set before the connection to a camera is
made the application will have no way to know the correct state unless it changes and a new CURRENT
command is emitted. Starting with RCP parameter set 4.1 (firmware version 5.1.35), the GET option was
added so that the initial state can be queried upon camera connection. Any application that needs to
monitor these indicators should issue a GET upon starting up.
#$EPIC:C:DSHIST:[BOTTOM_CLIP][TOP_CLIP][RED_DATA][GREEN_DATA][BLUE_DATA][LUMA_DATA]:
Where:
BOTTOM_CLIP: percent of bottom clipping 0-100 (hex encoded byte, that is: 0->x00, 100->x64). This
indicates how tall to draw the clip goal post.
TOP_CLIP: percent of top clipping 0-100 (hex encoded byte, that is: 0->x00, 100->x64)
RED_DATA, GREEN_DATA, BLUE_DATA, LUMA_DATA: histogram data for each channel. Unused channels
will have a single column of 0. When histogram display mode is RGB, Luma will be unused. When histogram
display mode is Luma, red, green and blue will be unused.
[START_COL][NUM_COLS][PACKED_DATA]
START_COL: starting column of packed data (hex encoded byte). Columns are numbered 0 to 127.
An odd number of columns will have an extra nibble in byte n that is to be disregarded. This will be the low
nibble (bits 0 to 3).
Base64 encoding allows representation of binary data as ASCII characters. It generates four (4) bytes of
characters for every three (3) bytes of data and pads on the end with ‘=’ character(s). So the length of the
encoded packed data can be calculated using integer math and truncating divides as:
51 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
Note: Each data channel contains a start column and spans the number of columns specified. This is used
as a very simple compression method since empty columns on the far left and right do not need to be
transferred. Each column not in the given range should be interpreted as 0. One or more of the channels may
contain no data (that is, NUM_COLS is 0).
Note: One or more of the channels may contain no data (that is, NUM_COLS is 0). In this case the channel
should not be drawn at all.
Using the following captured DSHIST output, we can decode it as follows. This was with lens cap just
cracked, so it is a very dark scene which makes the color data very small. Normal well-exposed scenes will
make this message larger.
#$EPIC:C:DSHIST:0600021bEjRWeaqYiaqa79qYdjA=0219E0aKuniZqqveyYh2IA==001eESNGmqmIqqvMy6m
HdlQh0001AA==:
06 = 6% bottom clipping
00 = 0% top clipping
Red_Data:
02 = first column is 2. Columns are numbered 0 to 127
1b hex = 27 columns. Yielding (((((27+1)/2)+2)/3)*4) = 20 characters of data.
EjRWeaqYiaqa79qYdjA= is the packed data
Green_Data:
02 = first column is 2. Columns are numbered 0 to 127
19 hex = 25 columns. Yielding (((((25+1)/2)+2)/3)*4) = 20 characters of data.
E0aKuniZqqveyYh2IA== is the packed data
Blue_Data:
00 = first column is 0. Columns are numbered 0 to 127
1e hex = 30 columns. Yielding (((((30+1)/2)+2)/3)*4) = 20 characters of data.
ESNGmqmIqqvMy6mHdlQh is the packed data
Luma_Data:
00 = first column is 0. Columns are numbered 0 to 127
01 hex = 1 columns. Yielding (((((1+1)/2)+2)/3)*4) = 4 characters of data.
AA== is the packed data which means 0 in this case.
Disabled channels are 52ndicated by the parameters CH12ST and CH34ST. Their status must be checked to
52 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
An example message is below. In this case only camera analog input channel 1 and 2 are enabled but with
no microphone on channel 2 and no attenuations have been applied in the output mixing stage.
#$DRAGON:C:AUDIOVU:5:-58:0:0:5:-58: 5:-58: 5:-58:
This results in channel 1 setting of -15 dB, channel 2 setting of -52 dB and the same values on the outputs.
AUDIO GROUP
The AUDIO group provides for control of on audio input gain and output volume.
53 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
54 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
OUTPUT GROUP
The OUTPUT group provides control of the monitor mode of each monitor individually for displayed content.
Content choices can be overlays, clean, or mirroring another monitor. Use the GET_LIST message to get
valid choices for each, as they are not uniform.
The DSMC and DSMC2 camera families have differing monitor capabilities. The many monitor qualities
covered in the Output Group Parameters table are listed according to DSMC as it represents a superset of
the two families.
55 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
56 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
57 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
58 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
59 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
ALGORITHM GROUP
The ALGORITHM group provides control of the autofocus mode and zone type.
60 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)
RED DIGITAL CINEMA 34 Parker | Irvine, CA 92618 | 949.206.7900 | Red.com
UNDOCUMENTED PARAMETERS
Users of the API may notice parameters that are not documented here. Those parameters are for internal use
by the API only and are not meant for users to access directly. The following are members of that set:
MENUST
MENUTREE
REQFILE
RFTPABOR
RFTPDELE
RFTPDATA
RFTPLIST
RFTPETR
RFTPSTOR
HWCAP
MODCAP
USERMETA
RCPID
RCPPING
KEYACNOT
DIALOGS
CSCR
61 | RED DIGITAL CINEMA | CONFIDENTIAL Form 910-0046, Rev T – ECO 011971 (05/17)