Page 1
RS232 and Network Command Catalog
For JSON RPC/Pulse Based Projectors
For F80
End User
Reference guide
1.7
2019-02-20
 
 
Page 2
Pulse API  Reference Guide  Version 1.7
Table of contents
Pulse API  3
Introduction  3  
Connecting to Pulse  services  3  
Quick start guide  4  
Object and method naming  5  
Type support  5  
Parameters  6  
Authentication  6  
Service API  7  
Methods  7  
Properties  7  
Signals  10  
Notications  12  
Introspection API  13  
Object changed signal  16  
File endpoints  17  
Programmers guide  19  
Basic operation  19  
Sources  21  
Illumination  27  
Picture settings  31  
Warping with grid les  34  
Blending with images  35  
Black level adjustment with images  37  
Environment information  38  
ECO mode  41  
Important note about the API documentation  41 
Properties  42
Methods  138
Signals  200
Files  207
Property index  210  
Method index  215  
Signal index  217  
File index  218 
Pulse API  Reference Guide  2 of 218
 
 
Page 3
Pulse API  Reference Guide  Version 1.7
Pulse API
This document describes the application programmers interface to Pulse  projectors.
How to connect to the projector, the communication protocol and a programmers guide is presented in the following 
section.
Introduction
The facade API is based on the JSON-RPC 2.0  protocol and provides access to Pulse  services to clients. The services 
can be accessed through the network using the TCP/IP protocol, or using a RS232 serial cable.
Connecting to Pulse  services
Network
If the projector is on a network, TCP/IP can be used to connect to Pulse  services. The service is available on port 
number 9090.
Serial port
A serial cable can be connected to the projector in order to access the Pulse  services.
Connect the projector and host using a standard serial cable with 9-pin female to the host, and 9-pin male to the 
projector. Pin 2 connects to pin 2, pin 3 connects to pin 3 and pin 5 connects to pin 5.
RS232 Communication Parameters
Parameter  Value
Baud rate  19200
Parity  None
Data bits  8
Stop bits  1
Flow control  None
Pulse API  Reference Guide  3 of 218
 
 
Page 4
Pulse API  Reference Guide  Version 1.7
Quick start guide
The following sections are examples of frequently used commands, just to get you started. This assumes that the 
connection is set up as described in the previous chapter. The type of connection is not important. The same 
commands are available for all connection types.
Power on projector
Request
{
 "jsonrpc":  "2.0",
 "method":  "system.poweron"
}
Power off projector
Request
{
 "jsonrpc":  "2.0",
 "method":  "system.poweroff"
}
Select  DisplayPort 1 as input source 
Request
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.window.main.source",
  "value":  "DisplayPort 1"
 }
}
Select HDMI  as input source
Pulse API  Reference Guide  4 of 218
 
 
Page 5
Pulse API  Reference Guide  Version 1.7
Request
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.window.main.source",
  "value":  "HDMI"
 }
}
Object and method naming
Objects and members are named usingdot notation in lowercase format (JavaScript-like notation). Members are 
either a method, property, signal or object. A typical method part of an invocation will then look like:
method: "foo.echo"
If there are more than one object of a "kind", it may be modeled and notated like:
tempctrl.fans
tempctrl.fans.mainfan
tempctrl.fans.lampblower
In the example above it is possible to get all fans by introspecting the object represented by temptrl.fans . Example: 
accessing the rpm  property of the mainfan :
tempctrl.fans.mainfan.rpm
Type support
Basic types
string (e.g. "hello")
integer (e.g 114)
float (e.g 3.141592653589793)
boolean (e.g true)
Container types
array (e.g ["hello", "world"] )
object (e.g {"name": "Johnny", "age": 30, "children": ["Agnes", "Tim"] } )
dictionary with string key (e.g gold medals in 2018 Winter Olympics Peyongchang {"Norway": 13, "Germany": 13 } )
Pulse API  Reference Guide  5 of 218
 
Page 6
Pulse API  Reference Guide  Version 1.7
Parameters
All parameters are passed by name, but the position or order of the parameters doesn't matter.
Thus: 
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.window.main.source",
  "value":  "DisplayPort 1"
 }
}
is exactly the same as:
{
 "method":  "property.set",
 "jsonrpc":  "2.0",
 "params":  {
  "value":  "DisplayPort 1",
  "property":  "image.window.main.source"
 }
}
Authentication
A client session must start with an authentication request containing a secret pass code. The purpose of the 
authentication protocol is to set the user access level. Authentication is only necessary when a higher level than 
normal end user is required. For normal end user access the authentication can be skipped. To authenticate with the 
server use the following type of request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "authenticate",
 "params":  {
  "code":  98765
 },
 "id":  1
}
Pulse API  Reference Guide  6 of 218
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  1
}
 
Page 7
Pulse API  Reference Guide  Version 1.7
Service API
Property  Type  Required  Comments
jsonrpc  string
method  string
params
id  string | number
error  object
yes
yes  see below
no  Request identier
yes, if error  Error object - see JSON-RPC 2.0 
Methods
Method invocation API
Request  Response
2.0
see below
{
 "jsonrpc":  "2.0",
 "method":  "ledctrl.blink",
 "params":  {
  "led":  "systemstatus",
  "color":  "red",
  "period":  42
 },
 "id":  3
}
{
 "jsonrpc":  "2.0",
 "result":  0,
 "id":  3
}
Properties
API for setting and getting property values
Set value of a property
Pulse API  Reference Guide  7 of 218
 
Page 8
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "objectname.propertyname",
  "value":  100
 },
 "id":  3
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  3
}
It is best practice to wait for the conrmation of the property.set  before setting the same property again. 
Continuously setting the same property without waiting for conrmation may flood the server with unnecessary 
request and may reduce performance.
Read the value of a property
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "objectname.propertyname"
 },
 "id":  4
}
Read values of multiple properties
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  [
   "image.brightness",
   "image.contrast"
  ]
 },
 "id":  5
}
{
 "jsonrpc":  "2.0",
 "result":  {
  "image.brightness":  0,
  "image.contrast":  1
 },
 "id":  5
}
{
 "jsonrpc":  "2.0",
 "result":  100,
 "id":  4
}
Pulse API  Reference Guide  8 of 218
 
Page 9
Pulse API  Reference Guide  Version 1.7
Observe changes on one property
For change notications, see Notications 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  "image.brightness"
 },
 "id":  6
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  6
}
Observe changes on multiple properties
For change notications, see Notications 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  [
   "image.brightness",
   "image.contrast"
  ]
 },
 "id":  7
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  7
}
Stop observing one property
For change notications, see Notications 
Pulse API  Reference Guide  9 of 218
 
Page 10
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.unsubscribe",
 "params":  {
  "property":  "image.brightness"
 },
 "id":  8
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  8
}
Stop observing multiple properties
For change notications, see Notications 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.unsubscribe",
 "params":  {
  "property":  [
   "image.brightness",
   "image.contrast"
  ]
 },
 "id":  9
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  9
}
Signals
Subscribe to a signal
For change notications, see Notications 
Pulse API  Reference Guide  10 of 218
 
Page 11
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "signal.subscribe",
 "params":  {
  "signal":  "modelupdated"
 },
 "id":  10
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  10
}
Subscribe to multiple signals
For change notications, see Notications 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "signal.subscribe",
 "params":  {
  "signal":  [
   "modelupdated",
   "image.processing.warp.gridchanged"
  ]
 },
 "id":  11
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  11
}
Unsubscribe from a signal
For change notications, see Notications 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "signal.unsubscribe",
 "params":  {
  "signal":  "modelupdated"
 },
 "id":  12
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  12
}
Unsubscribe from multiple signals
Pulse API  Reference Guide  11 of 218
 
Page 12
Pulse API  Reference Guide  Version 1.7
For change notications, see Notications 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "signal.unsubscribe",
 "params":  {
  "signal":  [
   "modelupdated",
   "image.processing.warp.gridchanged"
  ]
 },
 "id":  13
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  13
}
Notications
The client has to implement the notication API to retrieve notications. Notication messages will not have an id  and 
no response message must be returned.
Properties
The client must implement the property.changed  function which receives an array of property/value pairs.
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "objectname.propertyname":  100
   },
   {
    "otherobject.otherproperty":  "bar"
   }
  ]
 }
}
Signals
The client must implement the signal.callback  function which receives an array of signal/argument-list pairs.
Pulse API  Reference Guide  12 of 218
 
Page 13
Pulse API  Reference Guide  Version 1.7
Notication
{
 "jsonrpc":  "2.0",
 "method":  "signal.callback",
 "params":  {
  "signal":  [
   {
    "objectname.signalname":  {
     "arg1":  100,
     "arg2":  "cat"
    }
   },
   {
    "otherobject.othersignal":  {
     "foo":  "bar"
    }
   }
  ]
 }
}
Introspection API
Read metadata method
Metadata of available objects (methods, properties, signals) can be read out. The data is restricted by the client's 
authenticated access level. A typical usage for metadata is to set up OSD menus, etc. The format of the metadata is 
described here:API introspection data format .
Introspection API (recursive)
Pulse API  Reference Guide  13 of 218
 
Page 14
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "introspect",
 "params":  {
  "object":  "foo",
  "recursive":  true,
  "id":  1
 }
}
- or -
{
 "jsonrpc":  "2.0",
 "method":  "introspect",
 "params":  [
  "foo",
  true
 ],
 "id":  1
}
{
 "jsonrpc":  "2.0",
 "result":  {
  "object":  "foo",
  "methods":  [
   {
    "name":  "echo"
   }
  ],
  "more":  ".... see API introspection data "
 },
 "id":  1
}
Introspection API (non recursive)
Pulse API  Reference Guide  14 of 218
 
Page 15
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "introspect",
 "params":  {
  "object":  "motors",
  "recursive":  false,
  "id":  2
 }
}
{
 "jsonrpc":  "2.0",
 "result":  {
  "name":  "motors",
  "objects":  [
   {
    "name":  "motors.motor1"
   },
   {
    "name":  "motors.motor2"
   },
   {
    "name":  "motors.motor3"
   }
  ]
 },
 "id":  2
}
- or -
{
 "jsonrpc":  "2.0",
 "method":  "introspect",
 "params":  [
  "motors",
  false
 ],
 "id":  2
}
Property  Type  Required  Comments
jsonrpc  string
method  string
yes
yes
2.0
introspect
params  object {"object": 
string}
no (default = 
"")
"object": name of object to introspect (dot notation allowed), 
default/empty will introspect everything. The object and string 
notations are equivalents.
Pulse API  Reference Guide  15 of 218
 
Page 16
Pulse API  Reference Guide  Version 1.7
Property  Type  Required  Comments
{"recursive": 
bool}
id  string | number
result  object
no 
(default=true)
recursive": if false then only object names are listed (one level). 
This is convenient if you want to list collections of objects
no  Request identier
yes  The full format of the result is described here API Introspection  
data format
error  object
if error  Error object - see JSON-RPC 2.0 
Object changed signal
The introspect API provides asignal that triggers when new objects arrive, or when objects are removed. The name of 
the signal is: modelupdated .(See sectionSignals  on how to subscribe and unsubscribe to signals.)
Subscribe to the model updated signal
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "signal.subscribe",
 "params":  {
  "signal":  "modelupdated"
 },
 "id":  2
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  2
}
Callback method on client side
Pulse API  Reference Guide  16 of 218
 
Page 17
Pulse API  Reference Guide  Version 1.7
Notication
{
 "jsonrpc":  "2.0",
 "method":  "signal.callback",
 "params":  {
  "signal":  [
   {
    "introspect.objectchanged":  {
     "object":  "motors.motor1",
     "newobject":  true
    }
   }
  ]
 }
}
Argument  Type  Decription
object  string
isnew  bool
Name of object
true: object is new,  false: object is lost 
File endpoints
Some objects provide endpoints for uploading or downloading various data types. For example, a warp grid can be 
uploaded to the warp engine.The objects that provide end points are found in the documentation below under the File  
endpoints headings. 
To download a le from the projector, you must enter its URL. The URL is constructed from the following parts:
http://
Address of the projector. E.g: 192.168.1.100 
/api
File endpoint. E.g: /image/processing/warp/file/transfer 
This will give you a URL that looks like this: http://192.168.100/api/image/processing/warp/file/transfer 
Entering this URL in a browser will trigger a download from the projector and save the current warp grid to your 
download folder.
You can also use the curl  program to do the same. E.g: curl -O -J http://api/image/processing/warp/file/ 
transfer
Pulse API  Reference Guide  17 of 218
 
Page 18
Pulse API  Reference Guide  Version 1.7
Note that not all endpoints supports downloading the current le. In those cases you need to specify which le to 
download. E.g: http://192.168.1.100/api/image/processing/warp/file/transfer/warpgrid.xml 
To upload a le to the projector, use the curl  program, or some other tool that supports HTTP upload.To upload a 
warp grid to the projector from your local drive, enter the following command:
curl -F file=@warpgrid.xml http://192.168.1.100/api/image/processing/warp/file/transfer
You can also specify -X POST  to the command, but in this case that's implied.
Pulse API  Reference Guide  18 of 218
 
Page 19
Pulse API  Reference Guide  Version 1.7
Programmers guide
This section describes common tasks for controlling the projector. For example, selecting input source and adjusting 
image properties.
Basic operation
This chapter describes basic operation such as powering on/off the projector.
Projector state
To get the current operation state from the projector, use the following command.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "system.state"
 },
 "id":  1
}
{
 "jsonrpc":  "2.0",
 "result":  "on",
 "id":  1
}
The resulting value will be one of the following:
"boot" - the projector is booting up 
"eco" - the projector is in ECO/power save mode 
"standby" - the projector is in standby mode 
"ready" - the projector is in ready mode 
"conditioning" - the projector is warming up 
"on" - the projector is on 
"deconditioning" - the projector is cooling down 
To be notied when the state changes, a subscription must be requested, as shown in the following example.
Pulse API  Reference Guide  19 of 218
 
Page 20
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  "system.state"
 },
 "id":  2
}
{
 "jsonrpc":  "2.0",
 "result":  true,
 "id":  2
}
When ever there is a change in the state, the server will notify the client as shown in the next example.
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "system.state":  "ready"
   }
  ]
 }
}
Power on
To power on the projector, issue the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "system.poweron",
 "params":  {
  "property":  "system.state"
 },
 "id":  3
}
Notice that the result  is null . This is not an error, it's just that the method does not return a proper result. If there 
was an error, the response would contain an error  member that contains information about the error that occurred.
{
 "jsonrpc":  "2.0",
 "result":  null,
 "id":  3
}
Pulse API  Reference Guide  20 of 218
 
Page 21
Pulse API  Reference Guide  Version 1.7
Also notice that this method does not need any arguments, so the params  member does not need to be present. 
Nothing bad happens if the params  member is  present. It will just be ignored.
If the projector already is on, or if it's in transition between states, nothing will happen. Therefore, it's good practice to 
verify that the projector state is either standby  or ready  before issuing the power on command.
Power off
To power on the projector, issue the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "system.poweroff",
 "params":  {
  "property":  "system.state"
 },
 "id":  4
}
{
 "jsonrpc":  "2.0",
 "result":  null,
 "id":  4
}
If the projector already is off, or if it's in transition between states, nothing will happen. Therefore, it's good practice to 
verify that the projector state is on  before issuing the power off command.
Sources
The source input management is made up windows, sources and connectors. Each window has a source attached, 
and each source is made up of one or more connectors.
Active source
To get the name of the currently active source, use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "image.window.main.source"
 },
 "id":  0
}
{
 "jsonrpc":  "2.0",
 "id":  0,
 "result":  "DisplayPort 1"
}
List available sources
Pulse API  Reference Guide  21 of 218
 
Page 22
Pulse API  Reference Guide  Version 1.7
To get a list of available sources, use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "image.source.list",
 "id":  1
}
{
 "jsonrpc":  "2.0",
 "id":  1,
 "result":  [
  "DVI 1",
  "DVI 2",
  "DisplayPort 1",
  "DisplayPort 2",
  "Dual DVI",
  "Dual DisplayPort",
  "Dual Head DVI",
  "Dual Head DisplayPort",
  "HDBaseT",
  "HDMI",
  "SDI"
 ]
}
The response contains a list of all the available source names. The list contents will vary depending on the projector 
model.
Set the active source
To set the active source, rst get the list of available sources as shown in the previous section. Then use the following 
request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.2et",
 "params":  {
  "property":  "image.window.main.source",
  "value":  "DisplayPort 1"
 },
 "id":  2
}
{
 "jsonrpc":  "2.0",
 "id":  2,
 "result":  true
}
Connectors
The connectors are the physical input connectors of the projector. Available connectors depend on the projector 
Pulse API  Reference Guide  22 of 218
 
Page 23
Pulse API  Reference Guide  Version 1.7
model.
To list all the available connectors, use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "image.connector.list",
 "id":  3
}
{
 "jsonrpc":  "2.0",
 "id":  3,
 "result":  [
  "DVI 1",
  "DVI 2",
  "DisplayPort 1",
  "DisplayPort 2",
  "HDBaseT",
  "HDMI",
  "SDI"
 ]
}
To list the connectors used by a specic source, the source object  name must be acquired. This can be done by 
translating the source name, or by introspection.
The easiest way is to translate the source name. Given the source name of DisplayPort 1 , remove all non word 
characters and convert to all lower case characters. This can be done quite easy by using regular expressions. 
Example in JavaScript  shown below.
const sourceName = 'DisplayPort 1';
const objectName = sourceName.replace(/\W/g, '').toLowerCase();
/* objectName is now 'displayport1' */
Now that we have the source object name, we can call the method that lists all the connectors used by this source.
Pulse API  Reference Guide  23 of 218
 
Page 24
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "image.source.displayport1.listconnectors",
 "id":  4
}
{
 "jsonrpc":  "2.0",
 "id":  4,
 "result":  [
  {
   "gridposition":  {
    "row":  0,
    "column":  0,
    "plane":  0
   },
   "name":  "DisplayPort 1"
  }
 ]
}
The result of the method is an array of connector information. This information contains the connector name and the 
grid position of the connector, which is useful when multiple connectors are used.
Source signal
Given a connector name of DisplayPort 1 , this translated to a connector name of displayport1 . We can then get 
signal information by using the following request.
Pulse API  Reference Guide  24 of 218
 
Page 25
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property": 
 "image.connector.displayport1.detectedsignal"
 },
 "id":  5
}
{
 "jsonrpc":  "2.0",
 "id":  5,
 "result":  {
  "active":  true,
  "name":  "2560x1600 @ 50.10Hz",
  "vertical_total":  1638,
  "horizontal_total":  2720,
  "vertical_resolution":  1600,
  "horizontal_resolution":  2560,
  "vertical_sync_width":  6,
  "vertical_front_porch":  3,
  "vertical_back_porch":  29,
  "horizontal_sync_width":  32,
  "horizontal_front_porch":  48,
  "horizontal_back_porch":  80,
  "horizontal_frequency": 
 82068.11653672549,
  "vertical_frequency": 
 50.102710556641114,
  "pixel_rate":  223222961,
  "scan":  "Progressive",
  "bits_per_component":  10,
  "color_space":  "RGB",
  "signal_range":  "0-255",
  "chroma_sampling":  "4:4:4",
  "gamma_type":  "POWER"
 }
}
Source and signal updates
To get updates when a new source is selected, or the signal on a connector change, you must listen forchanges on a 
number of properties.
Subscribe to the source property of the window
Pulse API  Reference Guide  25 of 218
 
Page 26
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  "image.window.main.source"
 },
 "id":  6
}
{
 "jsonrpc":  "2.0",
 "id":  6,
 "result":  true
}
This will generate a property change notication when ever there is a change in the active source. E.g when the user 
switches from DisplayPort 1  to DisplayPort 2 .
The JSON RPC  client must therefore implement the property change listener in order to prcess the notication.
The JSON RPC  servier will send notications as shown below.
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "image.window.main.source":  ""
   }
  ]
 }
}
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "image.window.main.source":  "DisplayPort 2"
   }
  ]
 }
}
Pulse API  Reference Guide  26 of 218
 
Page 27
Pulse API  Reference Guide  Version 1.7
Note that two notications are delivered in this case. First, when the previously selected source is deselected.Next, 
when the new source is selected.
Connector signal updates
To get updates when there is a change in the signal on sources connectors, each connector of the sourcemust have a 
listener for the signal detection property of the connector.
The recommended way to do this is to reflect the source and connector structure of the server in the client application.
That means:
Store all the source names and object names
Call image.source.list 
Translate the source names into source object names as shown in the beginning of the chapter
For each source object
Call image.source.[name].listconnectors 
Translate the connector names to connector object names
Maintain a list of connectors per source
For each connector object
Subscribe to image.connector.[name].detectedsignal 
When the notications are received, match up the connector names with the connectors used by the active source and 
show the new information to the user.
Keep in mind that notications are only sent when there is an actual change in a value. Simply subscribing to a 
property does not get the current value. To get the current value use the property.get  method and specify which 
property you are interested in.
Illumination
This section describes how to set the lamp/LED/laser power of the projector.
Illumination state
To read the state of the illumination use the following commands.
Pulse API  Reference Guide  27 of 218
 
Page 28
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "illumination.state"
 },
 "id":  0
}
{
 "jsonrpc":  "2.0",
 "id":  0,
 "result":  "Off"
}
The result will be either On  or Off . To receive notications when the state changes, you need to subscribe. The 
following commands will request change notications for the illumination state.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  "illumination.state"
 },
 "id":  1
}
{
 "jsonrpc":  "2.0",
 "id":  1,
 "result":  true
}
The client needs to implement the property change listener to receive notications.
When a change happens, the server will send the following notications to the client.
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "illumination.state":  "On"
   }
  ]
 }
}
Illumination sources
Pulse API  Reference Guide  28 of 218
 
Page 29
Pulse API  Reference Guide  Version 1.7
Different projectors will have different types of illumination sources. Some will have lasers, others will have LEDs, or a 
combination of both, and yet others may have xenon or UHP lamps.
To query the available sources, you must do an introspection  of the illumination  object. The following command 
shows an example of that.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "introspect",
 "params":  {
  "property":  "illumination.sources",
  "recursive":  false
 },
 "id":  2
}
{
 "jsonrpc":  "2.0",
 "id":  2,
 "result":  {
  "objects":  [
   {
    "name":  "illuminations.sources.laser"
   }
  ]
 }
}
From the response, we can see that this projector has a laser illumination source. Each source has properties that give 
you information about the minimum, maximum and the current illumination power level.
The current power level can be read or written, the minimum and maxium power level are read only, but they are 
dynamic values and may change depending on the setting of the projector. The lens type and lens position may also 
affect the power levels.
To read the current power level, use the following commands.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "illumination.sources.laser.power"
 },
 "id":  3
}
{
 "jsonrpc":  "2.0",
 "id":  3,
 "result":  30
}
To be notied of changes in the power level, you must subscribe to property changes.
Pulse API  Reference Guide  29 of 218
 
Page 30
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  [
   "illumination.sources.laser.power"
  ]
 },
 "id":  4
}
{
 "jsonrpc":  "2.0",
 "id":  4,
 "result":  true
}
To set the value of the laser power, use the following command.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "illumination.sources.laser.power",
  "value":  40
 },
 "id":  5
}
{
 "jsonrpc":  "2.0",
 "id":  5,
 "result":  true
}
After the conrmation of the value, a change notication is also sent.
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "illumination.sources.laser.power":  40
   }
  ]
 }
}
To get the minimum and maximum power levels, use the following commands.
Pulse API  Reference Guide  30 of 218
 
Page 31
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "illumination.sources.laser.power"
 },
 "id":  5
}
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "illumination.sources.laser.minpower"
 },
 "id":  6
}
{
 "jsonrpc":  "2.0",
 "id":  5,
 "result":  100
}
{
 "jsonrpc":  "2.0",
 "id":  6,
 "result":  0
}
Picture settings
The image service has properties for controlling the image appearance. Like brightness, contrast, saturation and 
gamma.
This section describes how to set basic picture settings.
Brightness
Before setting any values it is a good idea to get some information about the properties. This is done with 
introspection.
Individual properties can not be introspected, so we must ask the owner of the property. In this case it is the image 
service.
To perform introspection of the image service, issue the following request.
Pulse API  Reference Guide  31 of 218
 
Page 32
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method": 
 "introspect",
 "params":  {
  "object":  "image",
  "recursive":  false
 },
 "id":  6
}
{
 "jsonrpc":  "2.0",
 "id":  6,
 "result":  {
  "name":  "image",
  "properties":  [
   {
    "name":  "brightness",
    "type":  {
     "base":  "float",
     "min":  -1,
     "max":  1,
     "step-size":  1,
     "precision":  0.01
    },
    "access":  "READ_WRITE",
    "description":  "Image brightness/offset. The value is normalized, 0 is 
default, 1 is 100% offset."
   },
   {
    "more":  "...trimmed for brevity"
   }
  ],
  "objects":  [
   {
    "more":  "...trimmed for brevity"
   }
  ]
 }
}
The result contains information about all the properties, objects and signals belonging to the image service.
Here we are only interested in the brightness  property, so the rest of the response has been trimmed.
We can see that the brightness  property has a type  which is float . It also has some constraints that dene the 
minimum and maximum values for the property. This information can be used to prevent sending out of range values 
to the server, and also give hints to the user when e.g using a slider to control the brightness value.
The type  also has a step-size . This is a hint that can be used when incrementing or decrementing the value in a GUI 
application. The step-size  is used as a factor to the precision . E.g for brightness we have a precision  of 0.01  and 
a step-size  of 1 . That means that when ever the user wants to increment the value, we can add (step-size x  
precision) to the current value. 
Pulse API  Reference Guide  32 of 218
 
Page 33
Pulse API  Reference Guide  Version 1.7
To get the current brightness value, use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.get",
 "params":  {
  "property":  "image.brightness"
 },
 "id":  7
}
{
 "jsonrpc":  "2.0",
 "id":  7,
 "result":  0
}
To receive notication when the brightness value change, use the following subscription.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.subscribe",
 "params":  {
  "property":  [
   "image.brightness"
  ]
 },
 "id":  8
}
{
 "jsonrpc":  "2.0",
 "id":  8,
 "result":  true
}
The set the brightness value, use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.brightness",
  "value":  0.15
 },
 "id":  9
}
{
 "jsonrpc":  "2.0",
 "id":  9,
 "result":  true
}
In addition to the conrmation from the property.set  method, a notication is also sent.
Pulse API  Reference Guide  33 of 218
 
Page 34
Pulse API  Reference Guide  Version 1.7
Notication
{
 "jsonrpc":  "2.0",
 "method":  "property.changed",
 "params":  {
  "property":  [
   {
    "image.brightness":  0.15
   }
  ]
 }
}
The set the other picture settings follow the same procedure as for brightness.
Warping with grid les
To globally enable warp, use the following command.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.warp.enable",
  "value":  true
 },
 "id":  10
}
Upload warp le
{
 "jsonrpc":  "2.0",
 "id":  10,
 "result":  true
}
Send the warp grid le through HTTP POST . The following example is using curl  to upload a le to the projector at 
address 192.168.1.100 .
curl -X POST -F file=@warp.xml http://192.168.1.100/api/image/processing/warp/file/transfer
Note that -X POST  can be omitted since this is implied when using -F .
To select/activate the uploaded le, use the following command.
Pulse API  Reference Guide  34 of 218
 
Page 35
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.warp.file.selected",
  "value":  "warp.xml"
 },
 "id":  11
}
{
 "jsonrpc":  "2.0",
 "id":  11,
 "result":  true
}
Finally, the grid le warping must be enabled. To do this, use the following command.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.warp.file.enable",
  "value":  true
 },
 "id":  12
}
{
 "jsonrpc":  "2.0",
 "id":  12,
 "result":  true
}
Warp le format
The warp le format is the same as on the MCM500/400 .
Blending with images
In a multi channel setup, blending is required in order to get a seamless transition between the channels.
For this, blend edges can be congured, or one can use pre generated blend masks that are uploaded to the projector.
Uploading a blend mask
Blend masks are grayscale images in either 8 bit or 16 bit pixel resolution. The size of the blend mask must match the 
resolution of the blend layer of the projector. The following table shows the possible sizes.
Projector resolution  Mask resolution
WUXGA
1920 x 1200
Pulse API  Reference Guide  35 of 218
 
Page 36
Pulse API  Reference Guide  Version 1.7
Projector resolution  Mask resolution
WQXGA
4K
4K Cinemascope
1280 x 800
1280 x 800
1280 x 540
To upload a blend mask, use the following shell command.
curl -X POST -F file=@mask.png http://192.168.1.100/api/image/processing/blend/file/transfer
In the example above we have a blend mask in the PNG  format called and the projector has the IP  address of 
192.168.1.100. To select the blend le that was just uploaded, us the following request. 
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.blend.file.selected",
  "value":  "mask.png"
 },
 "id":  13
}
{
 "jsonrpc":  "2.0",
 "id":  13,
 "result":  true
}
To enable the blend mask use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.blend.file.enable",
  "value":  true
 },
 "id":  14
}
{
 "jsonrpc":  "2.0",
 "id":  14,
 "result":  true
}
Supported image formats
The supported image formats are:
Pulse API  Reference Guide  36 of 218
 
Page 37
Pulse API  Reference Guide  Version 1.7
PNG - up to 16 bit
JPEG
TIFF
The interface only supports gray scale images, but will accept color images. It will then only use the blue channel. This 
is to support gray scale images saved as RGB images, we don't support the using the full colour information.
Black level adjustment with images
In a multi channel setup, blending is required in order to get a seamless transition between the channels. To 
compensate for the extra light in the blended regions, the black level can be increased in the non-blended regions to 
get a uniform black level across all channels. Black levels can be congured by using the basic controls to specify 
linear edges, or one can use pre generated images that are uploaded to the projector.
Uploading a black level mask
Black level masks are grayscale images in either 8 bit or 16 bit pixel resolution. The size of the black level mask must 
match the resolution of the black level layer of the projector. The following table shows the possible sizes.
Projector resolution  Mask resolution
WUXGA
WQXGA
4K
4K Cinemascope
1920 x 1200
1280 x 800
1280 x 800
1280 x 540
To upload a black level mask, use the following shell command.
curl -X POST -F file=@blacklevel.png http://192.168.1.100/api/image/processing/blacklevel/file/
transfer
In the example above we have a black level mask in the  PNG format called  blacklevel.png  and the projector has the  
IP address of 192.168.1.100 . 
To select the black level le that was just uploaded, use the following request.
Pulse API  Reference Guide  37 of 218
 
Page 38
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.blacklevel.file.selected",
  "value":  "blacklevel.png"
 },
 "id":  15
}
{
 "jsonrpc":  "2.0",
 "id":  15,
 "result":  true
}
To enable the black level mask use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "property.set",
 "params":  {
  "property":  "image.processing.blacklevel.file.enable",
  "value":  true
 },
 "id":  16
}
{
 "jsonrpc":  "2.0",
 "id":  16,
 "result":  true
}
Supported image formats
The supported image formats are:
PNG - up to 16 bit
JPEG
TIFF
The interface only supports gray scale, but will accept colour images. It will then only use the blue channel. This is to 
support gray scale images saved as RGB images. We don't support using the full color information.
Environment information
The environment service manages a lot of information in order to keep running the projector at the optimal operating 
conditions. Among the information available are fan speeds, temperatures and voltages. This section describes an 
easy method to get information from the environment service.
Temperatures
Pulse API  Reference Guide  38 of 218
 
Page 39
Pulse API  Reference Guide  Version 1.7
To get a snapshot or current reading of all the avilable temperature sensors, use the following request.
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "environment.getcontrolblocks",
 "params":  {
  "type":  "Sensor",
  "valuetype":  "Temperature"
 },
 "id":  18
}
{
 "jsonrpc":  "2.0",
 "id":  18,
 "result":  {
  "environment.laser.board0.bank0.temperature":  35.3,
  "environment.laser.board0.bank1.temperature":  34.8,
  "environment.laser.board0.bank2.temperature":  35.3,
  "environment.laser.board0.heatsink0.temperature":  35,
  "environment.laser.board0.heatsink1.temperature":  37.6,
  "environment.laser.board0.heatsink2.temperature":  40.4,
  "environment.laser.board1.bank0.temperature":  36.6,
  "environment.laser.board1.bank1.temperature":  36.2,
  "environment.laser.board1.bank2.temperature":  36.4,
  "environment.laser.board1.heatsink0.temperature":  34.7,
  "environment.laser.board1.heatsink1.temperature":  34.9,
  "environment.laser.board1.heatsink2.temperature":  36.5,
  "environment.temperature.cyclon5":  47.6,
  "environment.temperature.imx6":  40.1,
  "environment.temperature.inlet":  25.5,
  "environment.temperature.mainboard":  40.4,
  "environment.temperature.mainpower":  37.6,
  "environment.temperature.outlet":  29.4,
  "environment.temperature.scalerfpga":  52.8
 }
}
The result is in the form of a dictionary, where the key is the name of the sensor and the value is the temperature 
reading.
Fan speeds
To get fan speeds, use the following request.
Pulse API  Reference Guide  39 of 218
 
Page 40
Pulse API  Reference Guide  Version 1.7
Request  Response
{
 "jsonrpc":  "2.0",
 "method":  "environment.getcontrolblocks",
 "params":  {
  "type":  "Sensor",
  "valuetype":  "Speed"
 },
 "id":  19
}
{
 "jsonrpc":  "2.0",
 "id":  19,
 "result":  {
  "environment.fan.ar1.tacho":  1800,
  "environment.fan.ar2.tacho":  1850,
  "environment.fan.ar3.tacho":  1750,
  "environment.fan.ar4.tacho":  1800,
  "environment.fan.ar5.tacho":  1800,
  "environment.fan.driver.tacho":  2300,
  "environment.fan.optics.tacho":  2600,
  "environment.fan.pcb.tacho":  1400,
  "environment.fan.phosphorleft.tacho":  3850,
  "environment.fan.phosphorright.tacho":  3800,
  "environment.fan.psu.tacho":  1450
 }
}
The result is in the form of a dictionary, where the key is the name of the sensor, a fan in this case, and the value is the 
fan speed reading.
Other environment info
Other environment info is also available and follows the same patterns as for temperatures and fan speeds. Use the 
environment.getcontrolblocks method with different sensor types and different sensor value types to get the  
desired data.
The applicable sensor types are: 
Sensor
Filter
Controller
Actuator
Alarm
GenericBlock
The applicable sensor value types are:
Pulse API  Reference Guide  40 of 218
 
Page 41
Pulse API  Reference Guide  Version 1.7
Temperature
Speed
PWM
Voltage
Current
Power
Altitude
Pressure
Humidity
ADC
Coordinate
Peltier
Waveform
Average
Delay
Difference
Interpolation
Limit
Median
Noise
Weighting
Comparison
Threshold
Formula
Driver
PID
Mode
Simulation
State
Pump
Resistance
Constant
Manual
Range
Any
ECO mode
On projectors that have ECO  mode, special handling is required to wake up the projector. To wake up a projector that is 
in ECO  mode: 
Send a wake on LAN request supplying the projectors HW (MAC) address
Use the power button on the remote control
Use the power button on the keypad
Send a special command on the RS232 serial port
In the last case, waking up using the serial port, send the following ASCII characters:
:POWR1\r
Important note about the API documentation
Parts of the API are dynamic, other parts depend on peripherals or other factors. This means that the documentation 
shown here may not be complete with respect to a specic projector with a specic conguration. For example, if a 
lens is mounted that does not have motorized zoom, that part of the API will not be available, even if it's shown here. 
Another example is DMX. In its basic mode, only 2 channels are present. Setting it in extended mode will expose more 
channels, which may not be shown in this document.
The best way to know the exact API of your projector is to do an introspection as described in the previous chapters
Pulse API  Reference Guide  41 of 218
 
Page 42
Pulse API  Reference Guide  Version 1.7
Properties
Alphabetical list of all properties
dmx.artnet
Artnet enabled or not
MODELS All 
Access: RW 
Name  Type
artnet bool 
dmx.artnetnet
Artnet net selection
MODELS All 
Access: RW 
Name  Type
artnetnet int 
dmx.artnetuniverse
Artnet universe selection
MODELS All 
Access: RW 
Name  Type
artnetuniverse int 
dmx.mode
Current mode
MODELS All 
Access: RW 
Name Type
mode  string 
dmx.monitor.channel01.function
Decription for the dmx channel
MODELS All 
Access: R 
Pulse API  Reference Guide  42 of 218
 
Page 43
Pulse API  Reference Guide  Version 1.7
Name  Type
function string 
dmx.monitor.channel01.offset
Offset of the channel.
MODELS All 
Access: R 
Name  Type
offset int 
dmx.monitor.channel01.value
Current dmx value for the channel
MODELS All 
Access: R 
Name  Type
value int 
dmx.monitor.channel02.function
Decription for the dmx channel
MODELS All 
Access: R 
Name  Type
function string 
dmx.monitor.channel02.offset
Offset of the channel.
MODELS All 
Access: R 
Name  Type
offset int 
dmx.monitor.channel02.value
Current dmx value for the channel
MODELS All 
Access: R 
Name  Type
value int 
Pulse API  Reference Guide  43 of 218
 
Page 44
Pulse API  Reference Guide  Version 1.7
dmx.monitor.connectionstate.active
true indicates that a dmx (if artnet setting is deactivated) or artnet package (if artnet setting is active) was received in 
the last 10 seconds.
MODELS All 
Access: R 
Name  Type
active bool 
dmx.shutdown
Shutdown enabled or not
MODELS All 
Access: RW 
Name  Type
shutdown bool 
dmx.shutdowntimeout
Time out for shutdown in minutes.
MODELS All 
Access: RW 
Name  Type
shutdowntimeout int 
dmx.startchannel
The dmx start channel [1..512].
MODELS All 
Access: RW 
Name  Type
startchannel int 
environment.alarmstate
Alarm state
MODELS F80-4K9 F80-4K7 F80-Q7 
Access: R 
Name  Type
alarmstate enum 
Values
Pulse API  Reference Guide  44 of 218
 
Page 45
Pulse API  Reference Guide  Version 1.7
"Fatal"
"Error"
"Alert"
"Warning"
"Ok"
rmware.rmwareversion
The version of the currently installed rmware.
MODELS All 
Access: R 
Name  Type
firmwareversion string 
illumination.clo.availability
Shows the current availability.
MODELS All 
Access: R 
Name  Type
availability enum 
Values
"Available"
"SensorUnavailable"
"PendingWarmup"
"Unavailable"
"Unknown"
illumination.clo.enable
True if constant light output is enabled, false otherwise
MODELS All 
Access: RW 
Name  Type
enable bool 
illumination.clo.scale
The percentage to scale the setpoint by.
MODELS All 
Access: RW 
Name  Type
Pulse API  Reference Guide  45 of 218
 
Page 46
Pulse API  Reference Guide  Version 1.7
scale float 
illumination.clo.setpoint
The target luminosity of the light source
MODELS All 
Access: RW 
Name  Type
setpoint float 
illumination.clo.state
State of the CLO
MODELS All 
Access: R 
Name  Type
state enum 
Values
"Ok"
"TooDim"
"TooBright"
illumination.laser.colorratioregulation
turn on/switch off color ratio regulation
MODELS All 
Access: RW 
Name  Type
colorratioregulation bool 
illumination.laser.colorratioregulationavailable
Description not provided
MODELS All 
Access: R 
Name  Type
colorratioregulationavailable bool 
illumination.laser.laseron
LaserLight is on
MODELS All 
Pulse API  Reference Guide  46 of 218
 
Page 47
Pulse API  Reference Guide  Version 1.7
Access: R 
Name  Type
laseron bool 
illumination.sources.laser.ispowerlimited
Whether power is currently limited.
MODELS All 
Access: R 
Name  Type
ispowerlimited bool 
illumination.sources.laser.maxpower
maximum power in percent
MODELS All 
Access: R 
Name  Type
maxpower float 
illumination.sources.laser.minpower
minimum power in percent
MODELS All 
Access: R 
Name  Type
minpower float 
illumination.sources.laser.power
target power in percent
MODELS All 
Access: RW 
Name  Type
power float 
illumination.sources.laser.powerlimitreason
If power is limited, gives the reason
MODELS All 
Access: R 
Pulse API  Reference Guide  47 of 218
 
Page 48
Pulse API  Reference Guide  Version 1.7
Name  Type
powerlimitreason string 
illumination.state
The state of light
MODELS All 
Access: R 
Name  Type
state enum 
Values
"On"
"Off"
image.brightness
Image brightness/offset. The value is normalized, 0 is default, 1 is 100% offset.
MODELS All 
Access: RW 
Name  Type
brightness float 
Constraints
Minimum
Maximum
Step size
Precision
-1
1
1
0.01
image.brilliantcolor.mode
The current BrilliantColor mode.
MODELS All 
Access: RW 
Name Type
mode  string 
image.color.p7.custom.bluegain
Desired blue gain value
MODELS All 
Access: RW 
Name  Type
bluegain float 
Pulse API  Reference Guide  48 of 218
 
Page 49
Pulse API  Reference Guide  Version 1.7
image.color.p7.custom.bluelum
Desired blue luminanace
MODELS All 
Access: RW 
Name  Type
bluelum float 
image.color.p7.custom.bluex
Desired blue x in xy-coordinates
MODELS All 
Access: RW 
Name  Type
bluex float 
image.color.p7.custom.bluey
Desired blue y in xy-coordinates
MODELS All 
Access: RW 
Name  Type
bluey float 
image.color.p7.custom.cmyreadable
true if secondaries should be shown (OSD)
MODELS All 
Access: R 
Name  Type
cmyreadable bool 
image.color.p7.custom.cmywritable
true if secondaries are Writable
MODELS All 
Access: R 
Name  Type
cmywritable bool 
image.color.p7.custom.cyangain
Pulse API  Reference Guide  49 of 218
 
Page 50
Pulse API  Reference Guide  Version 1.7
Desired cyan gain value
MODELS All 
Access: RW 
Name  Type
cyangain float 
image.color.p7.custom.cyanlum
Desired cyan luminanace
MODELS All 
Access: RW 
Name  Type
cyanlum float 
image.color.p7.custom.cyanx
Desired cyan x in xy-coordinates
MODELS All 
Access: RW 
Name  Type
cyanx float 
image.color.p7.custom.cyany
Desired cyan y in xy-coordinates
MODELS All 
Access: RW 
Name  Type
cyany float 
image.color.p7.custom.gainsavailable
true when gains are available
MODELS All 
Access: R 
Name  Type
gainsavailable bool 
image.color.p7.custom.greengain
Desired green gain value
MODELS All 
Pulse API  Reference Guide  50 of 218
 
Page 51
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name  Type
greengain float 
image.color.p7.custom.greenlum
Desired green luminanace
MODELS All 
Access: RW 
Name  Type
greenlum float 
image.color.p7.custom.greenx
Desired green x in xy-coordinates
MODELS All 
Access: RW 
Name  Type
greenx float 
image.color.p7.custom.greeny
Desired green y in xy-coordinates
MODELS All 
Access: RW 
Name  Type
greeny float 
image.color.p7.custom.luminancesavailable
true if luminances are available
MODELS All 
Access: R 
Name  Type
luminancesavailable bool 
image.color.p7.custom.magentagain
Desired magenta gain value
MODELS All 
Access: RW 
Pulse API  Reference Guide  51 of 218
 
Page 52
Pulse API  Reference Guide  Version 1.7
Name  Type
magentagain float 
image.color.p7.custom.magentalum
Desired magenta luminanace
MODELS All 
Access: RW 
Name  Type
magentalum float 
image.color.p7.custom.magentax
Desired magenta x in xy-coordinates
MODELS All 
Access: RW 
Name  Type
magentax float 
image.color.p7.custom.magentay
Desired magenta y in xy-coordinates
MODELS All 
Access: RW 
Name  Type
magentay float 
image.color.p7.custom.mode
Description not provided
MODELS All 
Access: RW 
Name Type
mode  string 
image.color.p7.custom.modes
Description not provided
MODELS All 
Access: R 
Name  Type
modes [ { } ] 
Pulse API  Reference Guide  52 of 218
 
Page 53
Pulse API  Reference Guide  Version 1.7
{ }
Name  Type
group enum 
Values
"Custom"
"Preset"
modes  [ string ]
image.color.p7.custom.redgain
Desired red gain value
MODELS All 
Access: RW 
Name  Type
redgain float 
image.color.p7.custom.redlum
Desired red luminanace
MODELS All 
Access: RW 
Name  Type
redlum float 
image.color.p7.custom.redx
Desired red x in xy-coordinates
MODELS All 
Access: RW 
Name Type
redx  float 
image.color.p7.custom.redy
Desired red y in xy-coordinates
MODELS All 
Access: RW 
Name Type
redy  float 
image.color.p7.custom.rgbcmygainsavailable
true when R,G,B,C,M,Y gains are available
Pulse API  Reference Guide  53 of 218
 
Page 54
Pulse API  Reference Guide  Version 1.7
MODELS All 
Access: R 
Name  Type
rgbcmygainsavailable bool 
image.color.p7.custom.rgbwritable
true if RGB are Writable (not in WHITE mode)
MODELS All 
Access: R 
Name  Type
rgbwritable bool 
image.color.p7.custom.target
Target color coordinates for the current preset
MODELS All 
Access: R 
Name  Type
target { } 
Name  Type
red  { } 
Name Type
x  float 
y  float 
green { } 
Name Type
x  float 
y  float 
blue  { } 
Name Type
x  float 
y  float 
white { } 
Name Type
x  float 
y  float 
image.color.p7.custom.whitegain
Desired white gain value
MODELS All 
Pulse API  Reference Guide  54 of 218
 
Page 55
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name  Type
whitegain float 
image.color.p7.custom.whitegainavailable
true when white gain is available
MODELS All 
Access: R 
Name  Type
whitegainavailable bool 
image.color.p7.custom.whitelum
Desired white luminanace
MODELS All 
Access: RW 
Name  Type
whitelum float 
image.color.p7.custom.whitemode
Description not provided
MODELS All 
Access: RW 
Name  Type
whitemode enum 
Values
"Coordinates"
"Temperature"
image.color.p7.custom.whitetemperature
Desired white point temperature
MODELS All 
Access: RW 
Name  Type
whitetemperature int 
Constraints
Minimum
Maximum
Pulse API  Reference Guide  55 of 218
3200
13000
 
Page 56
Pulse API  Reference Guide  Version 1.7
Step size
Precision
100
1
image.color.p7.custom.whitetemperatureavailable
true if White temperature is available
MODELS All 
Access: R 
Name  Type
whitetemperatureavailable bool 
image.color.p7.custom.whitewritable
true if White is Writable
MODELS All 
Access: R 
Name  Type
whitewritable bool 
image.color.p7.custom.whitex
Desired white x in xy-coordinates
MODELS All 
Access: RW 
Name  Type
whitex float 
image.color.p7.custom.whitey
Desired white y in xy-coordinates
MODELS All 
Access: RW 
Name  Type
whitey float 
image.color.p7.custom.yellowgain
Desired yellow gain value
MODELS All 
Access: RW 
Name  Type
yellowgain float 
Pulse API  Reference Guide  56 of 218
 
Page 57
Pulse API  Reference Guide  Version 1.7
image.color.p7.custom.yellowlum
Desired yellow luminanace
MODELS All 
Access: RW 
Name  Type
yellowlum float 
image.color.p7.custom.yellowx
Desired yellow x in xy-coordinates
MODELS All 
Access: RW 
Name  Type
yellowx float 
image.color.p7.custom.yellowy
Desired yellow y in xy-coordinates
MODELS All 
Access: RW 
Name  Type
yellowy float 
image.color.p7.native.c1
Native C1 x in xy-coordinates
MODELS All 
Access: R 
Name Type
c1  { } 
Name Type
x  float 
y  float 
lum  float 
image.color.p7.native.c1available
Description not provided
MODELS All 
Access: R 
Pulse API  Reference Guide  57 of 218
 
Page 58
Pulse API  Reference Guide  Version 1.7
Name  Type
c1available bool 
image.color.p7.native.c2
Native C2 x in xy-coordinates
MODELS All 
Access: R 
Name Type
c2  { } 
Name Type
x  float 
y  float 
lum  float 
image.color.p7.native.c2available
Description not provided
MODELS All 
Access: R 
Name  Type
c2available bool 
image.color.p7.native.list
list available native sets
MODELS All 
Access: R 
Name Type
list  [ string ] 
image.color.p7.native.normal.c1
Native C1 x in xy-coordinates
MODELS All 
Access: R 
Name Type
c1  { } 
Name Type
x  float 
y  float 
lum  float 
Pulse API  Reference Guide  58 of 218
 
Page 59
Pulse API  Reference Guide  Version 1.7
image.color.p7.native.normal.c1available
Description not provided
MODELS All 
Access: R 
Name  Type
c1available bool 
image.color.p7.native.normal.c2
Native C2 x in xy-coordinates
MODELS All 
Access: R 
Name Type
c2  { } 
Name Type
x  float 
y  float 
lum  float 
image.color.p7.native.normal.c2available
Description not provided
MODELS All 
Access: R 
Name  Type
c2available bool 
image.color.p7.native.normal.rgbw
Native red x in xy-coordinates
MODELS All 
Access: R 
Name Type
rgbw  { } 
Name  Type
red  { } 
Name Type
x  float 
y  float 
lum  float 
Pulse API  Reference Guide  59 of 218
 
Page 60
Pulse API  Reference Guide  Version 1.7
green { } 
Name Type
x  float 
y  float 
lum  float 
blue  { } 
Name Type
x  float 
y  float 
lum  float 
white { } 
Name Type
x  float 
y  float 
lum  float 
image.color.p7.native.rgbw
Native red x in xy-coordinates
MODELS All 
Access: R 
Name Type
rgbw  { } 
Name  Type
red  { } 
Name Type
x  float 
y  float 
lum  float 
green { } 
Name Type
x  float 
y  float 
lum  float 
blue  { } 
Name Type
x  float 
y  float 
lum  float 
white { } 
Name Type
x  float 
Pulse API  Reference Guide  60 of 218
 
Page 61
Pulse API  Reference Guide  Version 1.7
y  float 
lum  float 
image.color.rgbmode.rgbmode
RGB Mode
MODELS All 
Access: RW 
Name  Type
rgbmode enum 
Values
"Full"
"Red"
"Green"
"Blue"
"RedGreen"
"GreenBlue"
"BlueRed"
image.connector.displayport1.colorprimaries
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.displayport1.colorprimariesavailable
true if Color Primaries is available
MODELS All 
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.displayport1.colorspace
Pulse API  Reference Guide  61 of 218
 
Page 62
Pulse API  Reference Guide  Version 1.7
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
"REC2020"
image.connector.displayport1.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
scan  enum 
Values
"Progressive"
"Interlaced"
bits_per_component   int
Pulse API  Reference Guide  62 of 218
 
Page 63
Pulse API  Reference Guide  Version 1.7
color_space  enum 
Values
"RGB"
"REC709"
"REC601"
"REC2020"
signal_range   enum
Values
"0-255"
"16-235"
chroma_sampling   enum
Values
"4:4:4"
"4:2:2"
"4:2:0"
gamma_type  enum 
color_primaries  enum 
mastering_luminance  float 
content_aspect_ratio  enum 
Values
"POWER"
"sRGB"
"REC_BT1886"
"SMPTE_ST2084"
Values
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
"2.20:1"
"2.35:1"
"2.37:1"
"2.39:1"
"Unknown"
is_stereo  bool 
stereo_mode  enum 
Values
Pulse API  Reference Guide  63 of 218
 
Page 64
Pulse API  Reference Guide  Version 1.7
"None"
"Sequential"
"FramePacked"
"TopBottom"
"SideBySide"
image.connector.displayport1.edid.selected
Selected EDID for connector
MODELS All 
Access: RW 
Name  Type
selected string 
image.connector.displayport1.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.connector.displayport2.colorprimaries
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.displayport2.colorprimariesavailable
Pulse API  Reference Guide  64 of 218
 
Page 65
Pulse API  Reference Guide  Version 1.7
true if Color Primaries is available
MODELS All 
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.displayport2.colorspace
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
"REC2020"
image.connector.displayport2.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
Pulse API  Reference Guide  65 of 218
 
Page 66
Pulse API  Reference Guide  Version 1.7
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
scan  enum 
Values
"Progressive"
"Interlaced"
bits_per_component  int 
color_space  enum 
Values
"RGB"
"REC709"
"REC601"
"REC2020"
signal_range  enum 
chroma_sampling  enum 
gamma_type  enum 
color_primaries  enum 
Values
"0-255"
"16-235"
Values
"4:4:4"
"4:2:2"
"4:2:0"
Values
"POWER"
"sRGB"
"REC_BT1886"
"SMPTE_ST2084"
Values
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
mastering_luminance  float 
content_aspect_ratio  enum 
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
Pulse API  Reference Guide  66 of 218
 
Page 67
Pulse API  Reference Guide  Version 1.7
"2.20:1"
"2.35:1"
"2.37:1"
"2.39:1"
"Unknown"
is_stereo  bool 
stereo_mode  enum 
Values
"None"
"Sequential"
"FramePacked"
"TopBottom"
"SideBySide"
image.connector.displayport2.edid.selected
Selected EDID for connector
MODELS All 
Access: RW 
Name  Type
selected string 
image.connector.displayport2.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.connector.dvi1.colorprimaries
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
Pulse API  Reference Guide  67 of 218
 
Page 68
Pulse API  Reference Guide  Version 1.7
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.dvi1.colorprimariesavailable
true if Color Primaries is available
MODELS All 
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.dvi1.colorspace
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
"REC2020"
image.connector.dvi1.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
Pulse API  Reference Guide  68 of 218
 
Page 69
Pulse API  Reference Guide  Version 1.7
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
scan  enum 
Values
"Progressive"
"Interlaced"
bits_per_component  int 
color_space  enum 
signal_range  enum 
chroma_sampling  enum 
gamma_type  enum 
Values
"RGB"
"REC709"
"REC601"
"REC2020"
Values
"0-255"
"16-235"
Values
"4:4:4"
"4:2:2"
"4:2:0"
Values
"POWER"
"sRGB"
"REC_BT1886"
"SMPTE_ST2084"
color_primaries   enum
Values
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
Pulse API  Reference Guide  69 of 218
 
Page 70
Pulse API  Reference Guide  Version 1.7
mastering_luminance  float 
content_aspect_ratio  enum 
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
"2.20:1"
"2.35:1"
"2.37:1"
"2.39:1"
"Unknown"
is_stereo  bool 
stereo_mode  enum 
Values
"None"
"Sequential"
"FramePacked"
"TopBottom"
"SideBySide"
image.connector.dvi1.edid.selected
Selected EDID for connector
MODELS All 
Access: RW 
Name  Type
selected string 
image.connector.dvi1.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.connector.dvi2.colorprimaries
Pulse API  Reference Guide  70 of 218
 
Page 71
Pulse API  Reference Guide  Version 1.7
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.dvi2.colorprimariesavailable
true if Color Primaries is available
MODELS All 
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.dvi2.colorspace
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
"REC2020"
image.connector.dvi2.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Pulse API  Reference Guide  71 of 218
 
Page 72
Pulse API  Reference Guide  Version 1.7
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
scan  enum 
bits_per_component  int 
color_space  enum 
signal_range  enum 
Values
"Progressive"
"Interlaced"
Values
"RGB"
"REC709"
"REC601"
"REC2020"
Values
"0-255"
"16-235"
chroma_sampling   enum
Values
"4:4:4"
"4:2:2"
"4:2:0"
gamma_type   enum
Values
"POWER"
"sRGB"
"REC_BT1886"
Pulse API  Reference Guide  72 of 218
 
Page 73
Pulse API  Reference Guide  Version 1.7
"SMPTE_ST2084"
color_primaries   enum
Values
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
mastering_luminance  float 
content_aspect_ratio  enum 
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
is_stereo  bool 
stereo_mode  enum 
image.connector.dvi2.edid.selected
Selected EDID for connector
MODELS All 
"2.20:1"
"2.35:1"
"2.37:1"
"2.39:1"
"Unknown"
Values
"None"
"Sequential"
"FramePacked"
"TopBottom"
"SideBySide"
Access: RW 
Name  Type
selected string 
image.connector.dvi2.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Pulse API  Reference Guide  73 of 218
 
Page 74
Pulse API  Reference Guide  Version 1.7
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.connector.hdbaset.colorprimaries
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.hdbaset.colorprimariesavailable
true if Color Primaries is available
MODELS All 
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.hdbaset.colorspace
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
Pulse API  Reference Guide  74 of 218
 
Page 75
Pulse API  Reference Guide  Version 1.7
"REC2020"
image.connector.hdbaset.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
scan  enum 
bits_per_component  int 
color_space  enum 
Values
"Progressive"
"Interlaced"
Values
"RGB"
"REC709"
"REC601"
"REC2020"
signal_range   enum
Values
"0-255"
"16-235"
chroma_sampling   enum
Pulse API  Reference Guide  75 of 218
 
Page 76
Pulse API  Reference Guide  Version 1.7
Values
"4:4:4"
"4:2:2"
"4:2:0"
gamma_type   enum
Values
"POWER"
"sRGB"
"REC_BT1886"
"SMPTE_ST2084"
color_primaries   enum
Values
"REC709"
"REC2020"
"DCI-P3-D65"
mastering_luminance  float 
content_aspect_ratio  enum 
is_stereo  bool 
stereo_mode  enum 
"DCI-P3-Theater"
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
"2.20:1"
"2.35:1"
"2.37:1"
"2.39:1"
"Unknown"
Values
"None"
"Sequential"
"FramePacked"
"TopBottom"
"SideBySide"
image.connector.hdbaset.edid.selected
Selected EDID for connector
MODELS All 
Access: RW 
Pulse API  Reference Guide  76 of 218
 
Page 77
Pulse API  Reference Guide  Version 1.7
Name  Type
selected string 
image.connector.hdbaset.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.connector.hdmi.colorprimaries
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.hdmi.colorprimariesavailable
true if Color Primaries is available
MODELS All 
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.hdmi.colorspace
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Pulse API  Reference Guide  77 of 218
 
Page 78
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
"REC2020"
image.connector.hdmi.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
scan  enum 
Values
"Progressive"
"Interlaced"
bits_per_component  int 
color_space  enum 
Values
"RGB"
Pulse API  Reference Guide  78 of 218
 
Page 79
Pulse API  Reference Guide  Version 1.7
"REC709"
"REC601"
"REC2020"
signal_range   enum
Values
"0-255"
"16-235"
chroma_sampling   enum
Values
"4:4:4"
"4:2:2"
"4:2:0"
gamma_type   enum
Values
"POWER"
color_primaries  enum 
mastering_luminance  float 
content_aspect_ratio  enum 
"sRGB"
"REC_BT1886"
"SMPTE_ST2084"
Values
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
"2.20:1"
"2.35:1"
"2.37:1"
"2.39:1"
"Unknown"
is_stereo  bool 
stereo_mode  enum 
Values
"None"
"Sequential"
"FramePacked"
Pulse API  Reference Guide  79 of 218
 
Page 80
Pulse API  Reference Guide  Version 1.7
"TopBottom"
"SideBySide"
image.connector.hdmi.edid.selected
Selected EDID for connector
MODELS All 
Access: RW 
Name  Type
selected string 
image.connector.hdmi.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.connector.sdi.colorprimaries
Override the detected signal color primaries. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorprimaries enum 
Values
"Auto"
"Uncorrected"
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
image.connector.sdi.colorprimariesavailable
true if Color Primaries is available
MODELS All 
Pulse API  Reference Guide  80 of 218
 
Page 81
Pulse API  Reference Guide  Version 1.7
Access: R 
Name  Type
colorprimariesavailable bool 
image.connector.sdi.colorspace
Override the detected signal color space. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
colorspace enum 
Values
"Auto"
"RGB"
"REC709"
"REC601"
"REC2020"
image.connector.sdi.detectedsignal
The signal information of the currently detected signal. If 'active' is false, there is no detected signal and the rest of the 
information should be disregarded. is_stereo indicates if stereo_mode is different from none.
MODELS All 
Access: R 
Name  Type
detectedsignal { } 
Name  Type
active  bool 
name  string 
vertical_total  int 
horizontal_total  int 
vertical_resolution  int 
horizontal_resolution  int 
vertical_sync_width  int 
vertical_front_porch  int 
vertical_back_porch  int 
horizontal_sync_width  int 
horizontal_front_porch int 
horizontal_back_porch  int 
horizontal_frequency  float 
vertical_frequency  float 
pixel_rate  int 
Pulse API  Reference Guide  81 of 218
 
Page 82
Pulse API  Reference Guide  Version 1.7
scan  enum 
Values
"Progressive"
"Interlaced"
bits_per_component  int 
color_space  enum 
Values
"RGB"
"REC709"
"REC601"
"REC2020"
signal_range   enum
Values
"0-255"
"16-235"
chroma_sampling  enum 
gamma_type  enum 
color_primaries  enum 
Values
"4:4:4"
"4:2:2"
"4:2:0"
Values
"POWER"
"sRGB"
"REC_BT1886"
"SMPTE_ST2084"
Values
"REC709"
"REC2020"
"DCI-P3-D65"
"DCI-P3-Theater"
mastering_luminance  float 
content_aspect_ratio  enum 
Values
"5:4"
"4:3"
"16:10"
"16:9"
"1.85:1"
"2.20:1"
"2.35:1"
"2.37:1"
Pulse API  Reference Guide  82 of 218
 
Page 83
Pulse API  Reference Guide  Version 1.7
"2.39:1"
"Unknown"
is_stereo  bool 
stereo_mode  enum 
Values
"None"
"Sequential"
"FramePacked"
"TopBottom"
"SideBySide"
image.connector.sdi.signalrange
Override the detected signal signal range. Set to Auto for automatic control.
MODELS All 
Access: RW 
Name  Type
signalrange enum 
Values
"Auto"
"0-255"
"16-235"
image.contrast
Image contrast/gain. The value is normalized, 1 is default.
MODELS All 
Access: RW 
Name  Type
contrast float 
Constraints
Minimum
Maximum
0
2
Step size
Precision
1
0.01
image.display.desireddisplaymode
The desired display mode.
MODELS All 
Access: RW 
Name  Type
Pulse API  Reference Guide  83 of 218
 
Page 84
Pulse API  Reference Guide  Version 1.7
desireddisplaymode enum 
Values
"Mono"
"AutoStereo"
"ActiveStereo"
"NightVision"
"IGPixelShift"
image.display.displaymode
The current display mode.
MODELS All 
Access: R 
Name  Type
displaymode enum 
Values
"Mono"
"AutoStereo"
"ActiveStereo"
"NightVision"
"IGPixelShift"
image.display.frequency
The display frequency.
MODELS All 
Access: R 
Name  Type
frequency float 
image.display.synchronouslock
The display synchronous lock state.
MODELS All 
Access: R 
Name  Type
synchronouslock bool 
image.gamma
Image gamma. Default is 2.2
MODELS All 
Pulse API  Reference Guide  84 of 218
 
Page 85
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name  Type
gamma float 
Constraints
Minimum
Maximum
Step size
Precision
image.intensity
Intensity
MODELS All 
Access: RW 
Name  Type
intensity float 
Constraints
Minimum
Maximum
Step size
1
3
1
0.1
0
1
0.1
Precision
0.01
image.orientation
Description not provided
MODELS All 
Access: RW 
Name  Type
orientation enum 
Values
"DESKTOP_FRONT"
"DESKTOP_REAR"
"CEILING_FRONT"
"CEILING_REAR"
image.processing.blacklevel.basicblacklevel.bottom
Bottom edge.
MODELS All 
Access: RW 
Name  Type
Pulse API  Reference Guide  85 of 218
 
Page 86
Pulse API  Reference Guide  Version 1.7
bottom int 
image.processing.blacklevel.basicblacklevel.enable
Description not provided
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.blacklevel.basicblacklevel.left
Left edge.
MODELS All 
Access: RW 
Name Type
left  int 
image.processing.blacklevel.basicblacklevel.level
Change the upper level of the black level adjustment
MODELS All 
Access: RW 
Name  Type
level int 
Constraints
Minimum
Maximum
Step size
Precision
0
65535
1
1
image.processing.blacklevel.basicblacklevel.right
Right edge.
MODELS All 
Access: RW 
Name  Type
right int 
image.processing.blacklevel.basicblacklevel.top
Top edge.
Pulse API  Reference Guide  86 of 218
 
Page 87
Pulse API  Reference Guide  Version 1.7
MODELS All 
Access: RW 
Name Type
top  int 
image.processing.blacklevel.bluegain
The gain blue for black level
MODELS All 
Access: RW 
Name  Type
bluegain float 
Constraints
Minimum
Maximum
Step size
Precision
0
1
1
0.001
image.processing.blacklevel.le.enable
Enable/Disable black level correction
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.blacklevel.le.selected
Currently selected le
MODELS All 
Access: RW 
Name  Type
selected string 
image.processing.blacklevel.greengain
The gain green for black level
MODELS All 
Access: RW 
Name  Type
greengain float 
Pulse API  Reference Guide  87 of 218
 
Page 88
Pulse API  Reference Guide  Version 1.7
Constraints
Minimum
Maximum
Step size
Precision
0
1
1
0.001
image.processing.blacklevel.redgain
The gain red for black level
MODELS All 
Access: RW 
Name  Type
redgain float 
Constraints
Minimum
Maximum
Step size
0
1
1
Precision
0.001
image.processing.blend.basicblend.bottom
Bottom blend edge.
MODELS All 
Access: RW 
Name  Type
bottom { } 
Name  Type
Start int 
Width int 
image.processing.blend.basicblend.enable
Description not provided
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.blend.basicblend.left
Left blend edge.
MODELS All 
Pulse API  Reference Guide  88 of 218
 
Page 89
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name Type
left  { } 
Name  Type
Start int 
Width int 
image.processing.blend.basicblend.right
Right blend edge.
MODELS All 
Access: RW 
Name  Type
right { } 
Name  Type
Start int 
Width int 
image.processing.blend.basicblend.top
Top blend edge.
MODELS All 
Access: RW 
Name Type
top  { } 
Name  Type
Start int 
Width int 
image.processing.blend.le.enable
Enable/Disable le blend
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.blend.le.maxselected
Max number of selected les
MODELS All 
Access: R 
Pulse API  Reference Guide  89 of 218
 
Page 90
Pulse API  Reference Guide  Version 1.7
Name  Type
maxselected int 
image.processing.blend.le.selected
Currently selected les
MODELS All 
Access: RW 
Name  Type
selected [ string ] 
image.processing.blend.scurve
S-Curve exponent strength.
MODELS All 
Access: RW 
Name  Type
scurve float 
Constraints
Minimum
Maximum
Step size
Precision
1
4
1
0.1
image.processing.transportdelay.actual
Actual transport delay.
MODELS All 
Access: R 
Name  Type
actual int 
image.processing.transportdelay.desired
Desired transport delay.
MODELS All 
Access: RW 
Name  Type
desired int 
image.processing.transportdelay.minimum
Minimum transport delay.
Pulse API  Reference Guide  90 of 218
 
Page 91
Pulse API  Reference Guide  Version 1.7
MODELS All 
Access: R 
Name  Type
minimum int 
image.processing.warp.bow.bottomleftu
U vector for bottom left corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
bottomleftu { } 
Name  Type
angle  float 
length float 
image.processing.warp.bow.bottomleftv
V vector for bottom left corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
bottomleftv { } 
Name  Type
angle  float 
length float 
image.processing.warp.bow.bottomrightu
U vector for bottom right corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
bottomrightu { } 
Name  Type
angle  float 
length float 
image.processing.warp.bow.bottomrightv
V vector for bottom right corner. Positive angle is outwards.
MODELS All 
Pulse API  Reference Guide  91 of 218
 
Page 92
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name  Type
bottomrightv { } 
Name  Type
angle  float 
length float 
image.processing.warp.bow.enable
Enable/Disable bow warp
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.warp.bow.symmetric
Enable/Disable symmetric mode.
MODELS All 
Access: RW 
Name  Type
symmetric bool 
image.processing.warp.bow.topleftu
U vector for top left corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
topleftu { } 
Name  Type
angle  float 
length float 
image.processing.warp.bow.topleftv
V vector for top left corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
topleftv { } 
Name  Type
Pulse API  Reference Guide  92 of 218
 
Page 93
Pulse API  Reference Guide  Version 1.7
angle  float 
length float 
image.processing.warp.bow.toprightu
U vector for top right corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
toprightu { } 
Name  Type
angle  float 
length float 
image.processing.warp.bow.toprightv
V vector for top right corner. Positive angle is outwards.
MODELS All 
Access: RW 
Name  Type
toprightv { } 
Name  Type
angle  float 
length float 
image.processing.warp.enable
Enable/Disable all warp functions
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.warp.le.enable
Enable/Disable le warp
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.warp.le.selected
Pulse API  Reference Guide  93 of 218
 
Page 94
Pulse API  Reference Guide  Version 1.7
Currently selected le
MODELS All 
Access: RW 
Name  Type
selected string 
image.processing.warp.fourcorners.bottomleft
Bottom left coordinate in output resolution. Negative values alowed to go outside displayed area.
MODELS All 
Access: RW 
Name  Type
bottomleft { } 
Name Type
x  int 
y  int 
image.processing.warp.fourcorners.bottomright
Bottom right coordinate in output resolution. Negative values alowed to go outside displayed area.
MODELS All 
Access: RW 
Name  Type
bottomright { } 
Name Type
x  int 
y  int 
image.processing.warp.fourcorners.enable
Enable/Disable FourCorners warp
MODELS All 
Access: RW 
Name  Type
enable bool 
image.processing.warp.fourcorners.screenheight
The height of the screen we are projecting on. Only used as in the ratio ScreenWidht/ScreenHeight, hence the unit is 
arbitrary.
MODELS All 
Pulse API  Reference Guide  94 of 218
 
Page 95
Pulse API  Reference Guide  Version 1.7
Access: RW 
Name  Type
screenheight float 
image.processing.warp.fourcorners.screenwidth
The width of the screen we are projecting on. Only used as in the ratio ScreenWidht/ScreenHeight, hence the unit is 
arbitrary.
MODELS All 
Access: RW 
Name  Type
screenwidth float 
image.processing.warp.fourcorners.topleft
Top left coordinate in output resolution. Negative values alowed to go outside displayed area.
MODELS All 
Access: RW 
Name  Type
topleft { } 
Name Type
x  int 
y  int 
image.processing.warp.fourcorners.topright
Top right coordinate in output resolution. Negative values alowed to go outside displayed area.
MODELS All 
Access: RW 
Name  Type
topright { } 
Name Type
x  int 
y  int 
image.resolution.alpha.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Name Type
size  { } 
Pulse API  Reference Guide  95 of 218
 
Page 96
Pulse API  Reference Guide  Version 1.7
Name  Type
pixels int 
lines  int 
image.resolution.beta.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Name Type
size  { } 
Name  Type
pixels int 
lines  int 
image.resolution.display.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Name Type
size  { } 
Name  Type
pixels int 
lines  int 
image.resolution.osd.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Name Type
size  { } 
Name  Type
pixels int 
lines  int 
image.resolution.output.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Pulse API  Reference Guide  96 of 218
 
Page 97
Pulse API  Reference Guide  Version 1.7
Name Type
size  { } 
Name  Type
pixels int 
lines  int 
image.resolution.processing.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Name Type
size  { } 
Name  Type
pixels int 
lines  int 
image.resolution.resolution
The current resolution description.
MODELS All 
Access: RW 
Name  Type
resolution string 
image.resolution.size
The current resolution size (pixels x lines).
MODELS All 
Access: R 
Name Type
size  { } 
Name  Type
pixels int 
lines  int 
image.saturation
Image color saturation. The value is normalized, 1 is default.
MODELS All 
Access: RW 
Name  Type
Pulse API  Reference Guide  97 of 218
 
Page 98
Pulse API  Reference Guide  Version 1.7
saturation float 
Constraints
Minimum
Maximum
Step size
Precision
0
2
1
0.01
image.sharpness
Image sharpness. The value is normalized.
MODELS All 
Access: RW 
Name  Type
sharpness int 
Constraints
Minimum
Maximum
Step size
-2
8
1
Precision
1
image.source.displayport1.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.displayport2.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
Pulse API  Reference Guide  98 of 218
 
Page 99
Pulse API  Reference Guide  Version 1.7
planes  int 
image.source.dualdisplayportcolumns.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.dualdisplayportsequential.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.dualdvicolumns.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.dualdvisequential.layout
Source layout
MODELS All 
Pulse API  Reference Guide  99 of 218
 
Page 100
Pulse API  Reference Guide  Version 1.7
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.dvi1.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.dvi2.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
planes  int 
image.source.hdbaset.layout
Source layout
MODELS All 
Access: R 
Name  Type
layout { } 
Name  Type
rows  int 
columns int 
Pulse API  Reference Guide  100 of 218