0% found this document useful (0 votes)
1K views352 pages

PDS-062489 SDVoE Developers API Reference Guide Rev1p6

Uploaded by

klin20002000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views352 pages

PDS-062489 SDVoE Developers API Reference Guide Rev1p6

Uploaded by

klin20002000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 352

SDVoE Solution

API Developers Reference Guide

PDS-062489 Rev 1.6 Page 1 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 2 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Contents
1 PURPOSE .................................................................................................................................. 19
1.1 VERSION INFORMATION ................................................................................................................. 19
1.2 TARGET AUDIENCE ........................................................................................................................ 19
1.3 REFERENCE MATERIALS ................................................................................................................... 19
2 OUTLINE OF THE API .................................................................................................................. 21
2.1 EVENTS ........................................................................................................................................ 21
2.2 COMMANDS TYPES ........................................................................................................................ 21
2.3 DEVICE MODEL, LIFE CYCLE AND COMMAND STRUCTURE .................................................................... 21
2.4 DESCRIPTION OF STREAMS AND DESTINATIONS .................................................................................. 21
2.5 SPECIFYING A VIDEO OUTPUT FORMAT ............................................................................................. 22
2.5.1 Command options ............................................................................................................... 22
2.5.2 Video Display Mode Argument ........................................................................................... 22
2.5.3 Video Format Arguments .................................................................................................... 23
2.5.4 Uniquely Identifying a Video Format .................................................................................. 25
2.5.4.1 By Video Identification Code (VIC or HDMI_VIC) ..........................................................................25
2.5.4.2 By Video Identification Code (VIC or HDMI_VIC) and Frame Rate ................................................25
2.5.4.3 By Video Resolution and Frame Rate ............................................................................................25
2.5.4.4 Completely Specified Video Formats ............................................................................................25
3 CORE COMMANDS .................................................................................................................... 27
3.1 COMMAND MODE HUMAN.............................................................................................................. 27
3.1.1 Arguments ........................................................................................................................... 27
3.1.2 Return Value........................................................................................................................ 28
3.1.3 Errors ................................................................................................................................... 28
3.1.4 Example ............................................................................................................................... 28
3.2 COMMAND REQUIRE .................................................................................................................... 28
3.2.1 Arguments ........................................................................................................................... 28
3.2.2 Return Value........................................................................................................................ 28
3.2.3 Errors ................................................................................................................................... 28
3.2.4 Example ............................................................................................................................... 29
3.3 COMMAND VERSION .................................................................................................................... 30
3.3.1 Arguments ........................................................................................................................... 30
3.3.2 Return Value........................................................................................................................ 30
3.3.3 Errors ................................................................................................................................... 30
3.3.4 Example ............................................................................................................................... 30
4 COMMAND REFERENCE FOR THE API ......................................................................................... 33
4.1 SUMMARY LIST OF API COMMANDS ................................................................................................. 33
4.2 COMMANDS THAT MODIFY DEVICE SETTINGS .................................................................................... 36
4.3 COMMANDS AUTH AND UNAUTH ..................................................................................................... 37
4.3.1 Arguments ........................................................................................................................... 37
4.3.2 Return Value........................................................................................................................ 37
4.3.3 Errors ................................................................................................................................... 37
4.3.4 Examples ............................................................................................................................. 38
4.4 COMMANDS CLAIM AND RELEASE ................................................................................................. 39
PDS-062489 Rev 1.6 Page 3 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.4.1 Arguments ........................................................................................................................... 39
4.4.2 Return Value........................................................................................................................ 39
4.4.3 Errors ................................................................................................................................... 39
4.4.4 Examples ............................................................................................................................. 40
4.5 COMMAND EVENT ........................................................................................................................ 40
4.5.1 Arguments ........................................................................................................................... 41
4.5.2 Return Value........................................................................................................................ 41
4.5.3 Errors ................................................................................................................................... 43
4.5.4 Example ............................................................................................................................... 43
4.6 COMMAND FACTORY .................................................................................................................... 44
4.6.1 Arguments ........................................................................................................................... 44
4.6.2 Return Value........................................................................................................................ 44
4.6.3 Errors ................................................................................................................................... 44
4.6.4 Example ............................................................................................................................... 44
4.7 COMMAND GET ............................................................................................................................ 45
4.7.1 Arguments ........................................................................................................................... 45
4.7.2 Return Value........................................................................................................................ 46
4.7.3 Errors ................................................................................................................................... 46
4.7.4 Examples ............................................................................................................................. 46
4.8 COMMAND ICRON ........................................................................................................................ 47
4.8.1 Arguments ........................................................................................................................... 47
4.8.2 Return Value........................................................................................................................ 47
4.8.3 Errors ................................................................................................................................... 47
4.8.4 Example ............................................................................................................................... 47
4.9 COMMAND JOIN .......................................................................................................................... 48
4.9.1 Arguments ........................................................................................................................... 48
4.9.2 Return Value........................................................................................................................ 49
4.9.3 Errors ................................................................................................................................... 49
4.9.4 Examples of using the join command ................................................................................. 49
4.10 COMMAND LEAVE ........................................................................................................................ 52
4.10.1 Arguments ........................................................................................................................... 53
4.10.2 Return Value........................................................................................................................ 53
4.10.3 Errors ................................................................................................................................... 53
4.10.4 Example ............................................................................................................................... 53
4.11 COMMAND LIST .......................................................................................................................... 54
4.11.1 Command list firmware....................................................................................................... 54
4.11.1.1 Return Value .................................................................................................................................54
4.11.1.2 Example .........................................................................................................................................54
4.11.2 Command list multicast ...................................................................................................... 55
4.11.2.1 Return Value .................................................................................................................................55
4.11.2.2 Example .........................................................................................................................................56
4.12 COMMAND NETSTAT .................................................................................................................... 56
4.12.1 Network Characterization Assumptions and Limitations .................................................... 57
4.12.2 Command netstat read ....................................................................................................... 57
4.12.2.1 Arguments .....................................................................................................................................57
4.12.2.2 Return Value .................................................................................................................................58
10GTXEgressDataPath ................................................................................................................................59
10GTXIngressDataPath ...............................................................................................................................62

PDS-062489 Rev 1.6 Page 4 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
10GRXEgressDataPath................................................................................................................................64
10GRXIngressDataPath ..............................................................................................................................64
10GTXRXIngressDataPath ..........................................................................................................................66
4.12.2.3 Errors .............................................................................................................................................67
4.12.2.4 Example .........................................................................................................................................67
4.12.3 Command netstat clear ....................................................................................................... 71
4.12.3.1 Arguments .....................................................................................................................................72
4.12.3.2 Return Value .................................................................................................................................72
4.12.3.3 Errors .............................................................................................................................................73
4.12.3.4 Examples .......................................................................................................................................73
4.12.4 Command netstat select ..................................................................................................... 74
4.12.4.1 Arguments .....................................................................................................................................74
4.12.4.2 Return Value .................................................................................................................................75
4.12.4.3 Errors .............................................................................................................................................75
4.12.4.4 Examples .......................................................................................................................................76
4.13 COMMAND PAIR/UNPAIR (ICRON SUI)........................................................................................... 77
4.13.1 Command pair ................................................................................................................. 77
4.13.1.1 Arguments .....................................................................................................................................77
4.13.1.2 Return Value .................................................................................................................................77
4.13.1.3 Errors .............................................................................................................................................78
4.13.1.4 Example .........................................................................................................................................78
4.13.2 Command unpair................................................................................................................. 78
4.13.2.1 Arguments .....................................................................................................................................78
4.13.2.2 Return Value .................................................................................................................................79
4.13.2.3 Errors .............................................................................................................................................79
4.13.2.4 Example .........................................................................................................................................79
4.14 COMMAND REBOOT ...................................................................................................................... 79
4.14.1 Arguments ........................................................................................................................... 80
4.14.2 Return Value........................................................................................................................ 80
4.14.3 Errors ................................................................................................................................... 80
4.14.4 Example ............................................................................................................................... 80
4.15 COMMAND RELEASE .................................................................................................................... 81
4.16 COMMAND REQUEST .................................................................................................................... 81
4.16.1 Arguments ........................................................................................................................... 81
4.16.2 Return Value........................................................................................................................ 81
4.16.3 Errors ................................................................................................................................... 81
4.16.4 Examples ............................................................................................................................. 81
4.16.5 Requests associated with background commands ............................................................. 82
4.16.5.1 Example .........................................................................................................................................82
4.16.6 Requests associated with event CEC_RECEIVED ................................................................. 83
4.16.6.1 Example .........................................................................................................................................84
4.16.7 Requests associated with event DEVICE_CONNECTED ....................................................... 84
4.16.8 Requests associated with event DEVICE_DISCONNECTED .................................................. 84
4.16.9 Requests associated with event DEVICE_INFO_AVAILABLE ................................................ 85
4.16.10 Requests associated with event FIRMWARE_UPDATE_PROGRESS..................................... 85
4.16.10.1 Return Value .................................................................................................................................85
4.16.10.2 Example .........................................................................................................................................85
4.16.11 Requests associated with event I2C .................................................................................... 86
4.16.11.1 Return Value .................................................................................................................................86
4.16.11.2 Example .........................................................................................................................................87
PDS-062489 Rev 1.6 Page 5 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.16.12 Requests associated with event INFRARED_RECEIVED ....................................................... 88
4.16.12.1 Return Value .................................................................................................................................88
4.16.12.2 Example .........................................................................................................................................88
4.16.13 Request associated with event MULTIVIEW_CHANGED ..................................................... 89
4.16.13.1 Return Value .................................................................................................................................89
4.16.13.2 Example .........................................................................................................................................90
4.16.14 Requests associated with event RS232_RECEIVED ............................................................. 91
4.16.14.1 Return Value .................................................................................................................................91
4.16.14.2 Example .........................................................................................................................................92
4.16.15 Requests associated with event SETTINGS_CHANGED ....................................................... 92
4.16.15.1 Return Value .................................................................................................................................92
4.17 COMMAND SEND .......................................................................................................................... 95
4.17.1 Command send cec ........................................................................................................ 95
4.17.1.1 Arguments .....................................................................................................................................95
4.17.1.2 Return Value .................................................................................................................................95
4.17.1.3 Errors .............................................................................................................................................96
4.17.1.4 Example .........................................................................................................................................96
4.17.2 Command send infrared ...................................................................................................... 96
4.17.2.1 Arguments .....................................................................................................................................97
4.17.2.2 Return Value .................................................................................................................................97
4.17.2.3 Errors .............................................................................................................................................97
4.17.2.4 Example .........................................................................................................................................98
4.17.3 Command send rs232.......................................................................................................... 98
4.17.3.1 Arguments .....................................................................................................................................98
4.17.3.2 Return Value .................................................................................................................................99
4.17.3.3 Errors ...........................................................................................................................................100
4.17.3.4 Example .......................................................................................................................................100
4.18 COMMAND SET .......................................................................................................................... 100
4.18.1 Command set edid ...................................................................................................... 100
4.18.1.1 Arguments ...................................................................................................................................101
4.18.1.2 Return Value ...............................................................................................................................101
4.18.1.3 Errors ...........................................................................................................................................101
4.18.1.4 Example .......................................................................................................................................101
4.18.2 Command set ip ........................................................................................................... 102
4.18.2.1 Arguments ...................................................................................................................................102
4.18.2.2 Return Value ...............................................................................................................................103
4.18.2.3 Errors ...........................................................................................................................................103
4.18.2.4 Examples .....................................................................................................................................103
4.18.3 Command bitmap overlay ................................................................................................. 104
4.18.3.1 Arguments:..................................................................................................................................105
4.18.3.2 Return Value ...............................................................................................................................106
4.18.3.3 Errors ...........................................................................................................................................106
4.18.3.4 Examples .....................................................................................................................................106
4.18.4 Command set property ..................................................................................................... 107
4.18.4.1 Arguments ...................................................................................................................................108
4.18.4.2 Return Value ...............................................................................................................................109
4.18.4.3 Errors ...........................................................................................................................................109
4.18.4.4 Example .......................................................................................................................................109
4.18.5 Command set scaler .......................................................................................................... 109
4.18.5.1 Arguments ...................................................................................................................................110
4.18.5.2 Return Value ...............................................................................................................................110
PDS-062489 Rev 1.6 Page 6 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.5.3 Errors ...........................................................................................................................................110
4.18.5.4 Example .......................................................................................................................................110
4.18.6 Command set secure_av ................................................................................................... 110
4.18.6.1 Arguments ...................................................................................................................................111
4.18.6.2 Return Value ...............................................................................................................................111
4.18.6.3 Errors ...........................................................................................................................................111
4.18.6.4 Example .......................................................................................................................................111
4.18.7 Command set security_key ............................................................................................... 112
4.18.7.1 Arguments ...................................................................................................................................113
4.18.7.2 Return Value ...............................................................................................................................113
4.18.7.3 Errors ...........................................................................................................................................113
4.18.7.4 Example .......................................................................................................................................113
4.18.8 Command set thumbnail ................................................................................................... 114
4.18.8.1 Arguments ...................................................................................................................................115
4.18.8.2 Return Value ...............................................................................................................................115
4.18.8.3 Errors ...........................................................................................................................................115
4.18.8.4 Examples .....................................................................................................................................115
4.18.9 Command set usb ........................................................................................................ 116
4.18.9.1 Arguments ...................................................................................................................................116
4.18.9.2 Return Value ...............................................................................................................................117
4.18.9.3 Errors ...........................................................................................................................................117
4.18.9.4 Examples .....................................................................................................................................117
4.18.10 Command set video.................................................................................................... 120
4.18.10.1 Arguments ...................................................................................................................................120
4.18.10.2 Return Value ...............................................................................................................................120
4.18.10.3 Errors ...........................................................................................................................................120
4.18.10.4 Examples .....................................................................................................................................121
4.19 COMMAND START ...................................................................................................................... 125
4.19.1 Arguments ......................................................................................................................... 125
4.19.2 Return Value...................................................................................................................... 127
4.19.3 Errors ................................................................................................................................. 127
4.19.4 Examples ........................................................................................................................... 127
4.20 COMMAND STOP ........................................................................................................................ 128
4.20.1 Arguments ......................................................................................................................... 128
4.20.2 Return Value...................................................................................................................... 129
4.20.3 Errors ................................................................................................................................. 129
4.20.4 Examples ........................................................................................................................... 130
4.21 COMMAND SWITCH .................................................................................................................... 131
4.21.1 Arguments ......................................................................................................................... 132
4.21.2 Return Value...................................................................................................................... 133
4.21.3 Errors ................................................................................................................................. 133
4.21.4 Examples ........................................................................................................................... 133
4.22 COMMAND UPDATE .................................................................................................................... 136
4.22.1 Arguments ......................................................................................................................... 136
4.22.2 Return Value...................................................................................................................... 136
4.22.3 Errors ................................................................................................................................. 137
4.22.4 Examples ........................................................................................................................... 137
4.23 COMMAND USB......................................................................................................................... 138
4.23.1 USB Descriptors ................................................................................................................. 138

PDS-062489 Rev 1.6 Page 7 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.23.1.1 Packed Descriptors Header .........................................................................................................139
4.23.1.2 Standard USB and HID Descriptors .............................................................................................139
4.23.1.3 String Descriptors ........................................................................................................................139
4.23.1.4 Report Descriptors ......................................................................................................................139
4.23.1.5 Other Constraints ........................................................................................................................140
4.23.2 Command usb descriptor read .......................................................................................... 140
4.23.2.1 Arguments ...................................................................................................................................140
4.23.2.2 Return Value ...............................................................................................................................141
4.23.2.3 Errors ...........................................................................................................................................141
4.23.2.4 Examples .....................................................................................................................................141
4.23.3 Command usb descriptor write ......................................................................................... 142
4.23.3.1 Arguments ...................................................................................................................................142
4.23.3.2 Return Value ...............................................................................................................................142
4.23.3.3 Errors ...........................................................................................................................................143
4.23.3.4 Examples .....................................................................................................................................143
5 MULTIVIEW COMMAND REFERENCE ........................................................................................ 145
5.1 MULTIVIEW MODEL..................................................................................................................... 145
5.1.1 Multiview mode Guidelines and Limitations ..................................................................... 145
5.2 MULTIVIEW COMMANDS .............................................................................................................. 145
5.2.1 Summary of Multiview Commands ................................................................................... 145
5.2.2 Command list layout ......................................................................................................... 146
5.2.2.1 Arguments ...................................................................................................................................146
5.2.2.2 Return Value ...............................................................................................................................146
5.2.2.3 Errors ...........................................................................................................................................147
5.2.2.4 Example .......................................................................................................................................147
5.2.3 Command layout create .................................................................................................... 147
5.2.3.1 Arguments ...................................................................................................................................147
5.2.3.2 Return Value ...............................................................................................................................147
5.2.3.3 Errors ...........................................................................................................................................148
5.2.3.4 Example .......................................................................................................................................148
5.2.4 Command layout delete .................................................................................................... 151
5.2.4.1 Arguments ...................................................................................................................................151
5.2.4.2 Return Value ...............................................................................................................................151
5.2.4.3 Errors ...........................................................................................................................................151
5.2.4.4 Example .......................................................................................................................................151
5.2.5 Command layout describe................................................................................................. 152
5.2.5.1 Arguments ...................................................................................................................................152
5.2.5.2 Return Value ...............................................................................................................................152
5.2.5.3 Errors ...........................................................................................................................................153
5.2.5.4 Example .......................................................................................................................................154
5.2.6 Command layout surface .................................................................................................. 158
5.2.6.1 Arguments ...................................................................................................................................158
5.2.6.2 Return Value ...............................................................................................................................159
5.2.6.3 Errors ...........................................................................................................................................159
5.2.6.4 Examples .....................................................................................................................................159
5.2.7 Command layout window ................................................................................................. 160
5.2.7.1 Arguments ...................................................................................................................................160
5.2.7.2 Return Value ...............................................................................................................................161
5.2.7.3 Errors ...........................................................................................................................................161
5.2.7.4 Examples .....................................................................................................................................161

PDS-062489 Rev 1.6 Page 8 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
5.2.8 Command list layout ......................................................................................................... 163
5.2.8.1 Return Value ...............................................................................................................................163
5.2.8.2 Example .......................................................................................................................................163
5.2.9 Command set multiview.................................................................................................... 164
5.2.9.1 Arguments ...................................................................................................................................164
5.2.9.2 Return Value ...............................................................................................................................165
5.2.9.3 Errors ...........................................................................................................................................165
5.2.9.4 Example .......................................................................................................................................165
5.3 DEFAULT SURFACE CONFIGURATION ............................................................................................... 166
5.4 MULTIVIEW EXAMPLES................................................................................................................. 166
5.4.1 Picture-in-Picture Example ................................................................................................ 166
5.4.2 Quad Layout Example ....................................................................................................... 167
6 DEVICE OBJECT DEFINITION (DEVICEOBJECT)........................................................................ 171
6.1 GENERIC TYPES ........................................................................................................................... 172
6.1.1 Video Format Description (VideoFormat) .................................................................... 172
6.1.2 Video Format Detailed Information (VideoFormatDetails) .................................... 173
6.1.3 Audio Format Detailed Information (AudioFormatDetails).................................... 175
6.1.4 Audio Format Extended Information (AudioFormatExtended) ................................ 175
6.1.5 Source Reference Specification (SourceReference) .................................................. 176
6.1.6 Source Selection (SourceSelection) ......................................................................... 177
6.1.7 Source Selection Choice (SourceSelectionChoice) ............................................... 177
6.2 DEVICE IDENTITY (DEVICEIDENTITY) .......................................................................................... 177
6.3 DEVICE CAPABILITIES (DEVICECAPABILITIES) ............................................................................. 179
6.4 DEVICE CONFIGURATION (DEVICECONFIG) ................................................................................... 181
6.5 DEVICE STATUS (DEVICESTATUS)................................................................................................ 182
6.6 STREAMS (STREAMOBJECT) .......................................................................................................... 183
6.6.1 Stream Configuration (StreamConfig) ........................................................................ 184
6.6.2 Stream Status (StreamStatus) .................................................................................... 185
6.7 SUBSCRIPTIONS (SUBSCRIPTIONOBJECT).......................................................................................... 185
6.7.1 Subscription Configuration (SubscriptionConfig) ................................................. 186
6.7.2 Subscription Status (SubscriptionStatus) ............................................................. 186
6.8 NODES (NODE) ........................................................................................................................... 186
6.8.1 Node Inputs (NodeInput) .............................................................................................. 187
6.8.1.1 Node Input Configuration (NodeInputConfig) ....................................................................188
6.8.1.2 Node Input Status (NodeInputStatus) ................................................................................188
6.8.2 Stereo Audio Input Node (Type STEREO_AUDIO_INPUT) ............................................ 188
6.8.2.1 Configuration ..............................................................................................................................188
6.8.2.2 Status ..........................................................................................................................................188
6.8.2.3 Inputs ..........................................................................................................................................188
6.8.2.4 Example .......................................................................................................................................189
6.8.3 Stereo Audio Input/Output Node (Type STEREO_AUDIO_INPUT_OUTPUT) .............. 189
6.8.3.1 Configuration (StereoAudioInputOutputNodeConfig) ................................................................189
6.8.3.2 Status ..........................................................................................................................................189
6.8.3.3 Inputs ..........................................................................................................................................189
6.8.3.4 Example .......................................................................................................................................190
6.8.4 Stereo Audio Output Node (Type STEREO_AUDIO_OUTPUT) ....................................... 190
6.8.4.1 Configuration (Stereo_Audio_Output) .......................................................................................190
6.8.4.2 Status ..........................................................................................................................................191
PDS-062489 Rev 1.6 Page 9 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.4.3 Inputs ..........................................................................................................................................191
6.8.4.4 Example .......................................................................................................................................191
6.8.5 Bitmap Overlay Node (Type BITMAP_OVERLAY) ........................................................... 193
6.8.5.1 Configuration (BitmapOverlayNodeConfig) ................................................................................193
6.8.5.2 Status ..........................................................................................................................................193
6.8.5.3 Inputs ..........................................................................................................................................193
6.8.5.4 Example .......................................................................................................................................193
6.8.6 CEC Node (Type CEC) ........................................................................................................ 194
6.8.6.1 Configuration ..............................................................................................................................194
6.8.6.2 Status ..........................................................................................................................................194
6.8.6.3 Inputs ..........................................................................................................................................194
6.8.6.4 Example .......................................................................................................................................194
6.8.7 Color Generator Node (Type COLOR_GENERATOR) ....................................................... 195
6.8.7.1 Configuration ..............................................................................................................................195
6.8.7.2 Status ..........................................................................................................................................196
6.8.7.3 Inputs ..........................................................................................................................................196
6.8.7.4 Example .......................................................................................................................................196
6.8.8 Frame Buffer Node (Type FRAME_BUFFER) ................................................................... 196
6.8.8.1 Configuration (FrameBufferNodeConfig) ....................................................................................196
6.8.8.2 Status (FrameBufferNodeStatus) ................................................................................................198
6.8.8.3 Inputs ..........................................................................................................................................198
6.8.8.4 Example .......................................................................................................................................198
6.8.9 Frame Rate Converter Node (Type FRAME_RATE_CONVERTER) .................................. 200
6.8.9.1 Configuration Status (FrameRateConverterNodeConfig) ...........................................................200
6.8.9.2 Status (FrameRateConverterNodeStatus) ...................................................................................200
6.8.9.3 Inputs ..........................................................................................................................................200
6.8.9.4 Example .......................................................................................................................................201
6.8.10 HDMI Decoder Node (Type HDMI_DECODER) ................................................................. 201
6.8.10.1 Configuration (HdmiDecoderNodeConfig) ..................................................................................201
6.8.10.2 Status (HdmiDecoderNodeStatus) ..............................................................................................202
6.8.10.3 Inputs ..........................................................................................................................................203
6.8.10.4 Example .......................................................................................................................................203
6.8.11 HDMI Encoder Node (Type HDMI_ENCODER) ................................................................. 206
6.8.11.1 Configuration (HdmiEncoderNodeConfig) ..................................................................................206
6.8.11.2 Status (HdmiEncoderNodeStatus) ..............................................................................................206
6.8.11.3 Inputs ..........................................................................................................................................207
6.8.11.4 Example .......................................................................................................................................207
6.8.12 HDMI Monitor Node (Type HDMI_MONITOR) ................................................................. 211
6.8.12.1 Configuration (HdmiMonitorNodeConfig) ..................................................................................211
6.8.12.2 Status (HdmiMonitorNodeStatus) ..............................................................................................211
6.8.12.3 Inputs ..........................................................................................................................................211
6.8.12.4 Example .......................................................................................................................................211
6.8.13 Multichannel Audio Input Node (Type MULTICH_AUDIO_INPUT) ............................... 212
6.8.13.1 Configuration ..............................................................................................................................212
Sampling Frequency Configuration (SamplingFrequencyConfig) ................................................212
Sampling Frequency Choice (SampleFrequencyChoice) ................................................................213
Number of Audio Channels Configuration (ChannelsNumberConfig) ............................................213
Channels Number Choice (ChannelNumberChoice) ........................................................................214
Channel Allocation Configuration (ChannelAllocationConfig) ..................................................214
Channel Allocation Choice (ChannelAllocationChoice) .............................................................214
Audio Encoding Configuration (AudioEncodingConfig) .................................................................215
PDS-062489 Rev 1.6 Page 10 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.13.2 Status ..........................................................................................................................................215
6.8.13.3 Inputs ..........................................................................................................................................215
6.8.13.4 Example .......................................................................................................................................215
6.8.14 Multi Channel Audio Output Node (Type MULTICH_AUDIO_OUTPUT) ........................ 222
6.8.14.1 Configuration (MULTICH_AUDIO_OUTPUT) ...............................................................................222
6.8.14.2 Status ..........................................................................................................................................222
6.8.14.3 Inputs ..........................................................................................................................................222
6.8.14.4 Examples .....................................................................................................................................223
6.8.15 Infrared Decoder Node (Type INFRARED_DECODER) ........................................................ 225
6.8.15.1 Configuration (INFRARED_DECODER) .....................................................................................225
6.8.15.2 Status ..........................................................................................................................................225
6.8.15.3 Inputs ..........................................................................................................................................225
6.8.15.4 Example .......................................................................................................................................225
6.8.16 Infrared Encoder Node (Type INFRARED_ENCODER) .................................................... 226
6.8.16.1 Configuration (INFRARED_ENCODER) .....................................................................................226
6.8.16.2 Status ..........................................................................................................................................226
6.8.16.3 Inputs ..........................................................................................................................................226
6.8.16.4 Example .......................................................................................................................................226
6.8.17 Network Interface Node (Type NETWORK_INTERFACE) ............................................... 227
6.8.17.1 Configuration (NetworkInterfaceNodeConfig) ...........................................................................227
Network Interface IP Configuration (NetInterfaceIPConfig) ......................................................227
6.8.17.2 Status (NetworkInterfaceNodeStatus) ........................................................................................227
Network Interface IP Status (NetInterfaceIPStatus) ..................................................................227
6.8.17.3 Inputs ..........................................................................................................................................228
6.8.17.4 Example .......................................................................................................................................228
6.8.18 Network Port Node (Type NETWORK_PORT) ................................................................... 228
6.8.18.1 Configuration (NetworkPortNodeConfig) ...................................................................................228
6.8.18.2 Status (NetworkPortNodeStatus) ...............................................................................................229
6.8.18.3 Inputs ..........................................................................................................................................229
6.8.18.4 Example .......................................................................................................................................230
6.8.19 Network Switch Node (Type NETWORK_SWITCH) .......................................................... 230
6.8.19.1 Configuration (NetworkSwitchNodeConfig) ..............................................................................230
6.8.19.2 Status ..........................................................................................................................................230
6.8.19.3 Inputs ..........................................................................................................................................230
6.8.19.4 Example .......................................................................................................................................230
6.8.20 Scaler Node (Type Scaler) ............................................................................................. 231
6.8.20.1 Configuration (ScalerNodeConfig) .....................................................................................231
6.8.20.2 Status (ScalerNodeStatus) ...........................................................................................................231
6.8.20.3 Inputs ..........................................................................................................................................231
6.8.20.4 Example .......................................................................................................................................231
6.8.21 Thumbnail Generator Node (Type THUMBNAIL_GENERATOR) ..................................... 233
6.8.21.1 Configuration (ThumbnailGeneratorNodeConfig) ......................................................................233
6.8.21.2 Status (ThumbnailGeneratorNodeStatus)...................................................................................233
6.8.21.3 Inputs ..........................................................................................................................................233
6.8.21.4 Example .......................................................................................................................................234
6.8.22 UART Node (Type UART)................................................................................................... 234
6.8.22.1 Configuration (UartNodeConfig) ..........................................................................................234
6.8.22.2 Status ..........................................................................................................................................234
6.8.22.3 Inputs ..........................................................................................................................................235
6.8.22.4 Example .......................................................................................................................................235
6.8.23 USB Human Interface Device (HID) Extender Node (USB_HID) ...................................... 236
PDS-062489 Rev 1.6 Page 11 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.23.1 Configuration (UsbNodeConfig) ............................................................................................236
6.8.23.2 Status (UsbNodeStatus) ..............................................................................................................236
6.8.23.3 Inputs ..........................................................................................................................................237
6.8.23.4 USB Stream Status ......................................................................................................................237
6.8.23.5 Example .......................................................................................................................................238
6.8.24 Icron USB Extender Node (USB_ICRON) ......................................................................... 239
6.8.24.1 Configuration (UsbIcronChipNodeConfig) ..................................................................................239
6.8.24.2 Status (UsbIcronChipNodeStatus) ...............................................................................................240
6.8.24.3 Inputs ..........................................................................................................................................240
6.8.24.4 Example .......................................................................................................................................241
6.8.25 Video Input Node (Type VIDEO_INPUT) ........................................................................ 242
6.8.25.1 Configuration (VIDEO_INPUT) .................................................................................................242
6.8.25.2 Status ..........................................................................................................................................242
6.8.25.3 Inputs ..........................................................................................................................................242
6.8.25.4 Example .......................................................................................................................................242
6.8.26 Video Compressor Node (Type VIDEO_COMPRESSOR) .................................................. 243
6.8.26.1 Configuration (VIDEO_COMPRESSOR) .....................................................................................243
6.8.26.2 Status ..........................................................................................................................................243
6.8.26.3 Inputs ..........................................................................................................................................243
6.8.26.4 Example .......................................................................................................................................244
6.8.27 Video Decompressor Node (Type VIDEO_DECOMPRESSOR) ......................................... 244
6.8.27.1 Configuration (VIDEO_DECOMPRESSOR) ....................................................................................244
6.8.27.2 Status ..........................................................................................................................................244
6.8.27.3 Inputs ..........................................................................................................................................245
6.8.27.4 Example .......................................................................................................................................245
7 CONFIGURABLE DEVICE PROPERTIES ........................................................................................ 247
7.1 DEVICE CONFIGURATION .............................................................................................................. 247
7.2 STREAM CONFIGURATION ............................................................................................................. 248
7.3 STEREO AUDIO INPUT/OUTPUT NODE CONFIGURATION .................................................................... 249
7.4 STEREO AUDIO OUTPUT NODE CONFIGURATION .............................................................................. 249
7.5 CEC NODE CONFIGURATION ......................................................................................................... 250
7.6 COLOR GENERATOR NODE CONFIGURATION .................................................................................... 250
7.7 FRAME BUFFER NODE CONFIGURATION .......................................................................................... 251
7.8 HDMI AUDIO NODE CONFIGURATION ............................................................................................ 251
7.9 HDMI DECODER NODE CONFIGURATION ........................................................................................ 252
7.10 HDMI ENCODER NODE CONFIGURATION ........................................................................................ 252
7.11 MULTI CHANNEL AUDIO INPUT NODE CONFIGURATION ..................................................................... 253
7.12 MULTI CHANNEL AUDIO OUTPUT NODE CONFIGURATION.................................................................. 254
7.13 NETWORK PORT NODE CONFIGURATION ......................................................................................... 255
7.14 NETWORK SWITCH NODE CONFIGURATION ..................................................................................... 255
7.15 SCALER NODE CONFIGURATION ..................................................................................................... 255
7.16 UART NODE CONFIGURATION ...................................................................................................... 256
7.17 ICRON USB EXTENDER NODE CONFIGURATION ................................................................................ 256
7.18 VIDEO COMPRESSOR NODE CONFIGURATION ................................................................................... 257
7.19 VIDEO DECOMPRESSOR NODE CONFIGURATION ............................................................................... 257
APPENDIX: GET COMMAND OUTPUT EXAMPLES ........................................................................ 259
A.1 COMMAND “GET DEVICE” FOR TRANSCEIVER DEVICE..................................................................... 259

PDS-062489 Rev 1.6 Page 12 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.2 COMMAND “GET EDID” FOR TRANSMITTER DEVICE ........................................................................... 305
A.3 COMMAND “GET EDID” FOR RECEIVER DEVICE ................................................................................. 306
A.4 COMMAND “GET HELLO” .............................................................................................................. 307
A.5 COMMAND “GET IDENTITY” .......................................................................................................... 308
A.6 }COMMAND “GET LIST” ............................................................................................................... 309
A.7 COMMAND “GET SETTINGS” FOR TRANSCEIVER DEVICE ..................................................................... 310
APPENDIX: NON GET COMMAND OUTPUT EXAMPLES ................................................................ 343
A.1 COMMAND “LAYOUT DESCRIBE” .................................................................................................... 343
A.2 COMMAND “MULTIVIEW_CHANGED” EVENT ............................................................................. 347
8 REVISION HISTORY .................................................................................................................. 351

PDS-062489 Rev 1.6 Page 13 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
List of Tables
Table 1: Video Display Mode Supported Keywords .................................................................................... 22
Table 2: Supported Video Identification Codes (VIC) ................................................................................. 24
Table 3: API Core Commands ...................................................................................................................... 27
Table 4: Version command return values ................................................................................................... 30
Table 5: Version JSON Module description Object ..................................................................................... 30
Table 6: List of API Commands.................................................................................................................... 33
Table 7: Return value schema ..................................................................................................................... 36
Table 8: DeviceSuccess Schema .................................................................................................................. 36
Table 9: Event Object members .................................................................................................................. 42
Table 10: Subset arguments for "get" command ....................................................................................... 46
Table 11: Get command members ............................................................................................................. 46
Table 12: list firmware object array ............................................................................................................ 54
Table 13: list firmware object members ..................................................................................................... 54
Table 14: list multicast object array ............................................................................................................ 55
Table 15: list multicast object members ..................................................................................................... 55
Table 16: netstat read object array............................................................................................................. 58
Table 17: netstat device object array ......................................................................................................... 58
Table 18: netstat error object array ........................................................................................................... 59
Table 19: Responses to netstat read per device type ................................................................................. 59
Table 20: 10G TX Egress Data Path object members .................................................................................. 59
Table 21: 10G TX Egress Bandwidth object members ................................................................................ 60
Table 22: 10G TX Egress Bandwidth Selection object members................................................................. 60
Table 23: 10G TX Egress Bandwidth Usage object members ..................................................................... 61
Table 24: 10G TX Egress Counters object members ................................................................................... 61
Table 25: 10G TX Egress Miss Frames Flags object members..................................................................... 62
Table 26: 10G TX Ingress Data Path object members ................................................................................. 62
Table 27: 10G TX Ingress Counters object members .................................................................................. 63
Table 28 : 10G TX Ingress Error object members ....................................................................................... 63
Table 29: 10G RX Egress Data Path object members .................................................................................. 64
Table 30: 10G RX Egress Missed Frames Flags object members ................................................................ 64
Table 31: 10G RX Ingress Data Path object members ................................................................................ 65
Table 32: 10G RX Ingress Bandwidth object member ................................................................................ 65
Table 33: 10G RX Ingress Bandwidth usage object member ...................................................................... 65
Table 34: 10G RX Ingress Counters object members .................................................................................. 65
Table 35: 10G RX Ingress Error Flags object members ............................................................................... 66
Table 36: 10G TXRX ingress datapath object members .............................................................................. 66
Table 37: Netstat Clear Return Value object members .............................................................................. 72
Table 38: Netstat Clear Device Response object member ......................................................................... 72
Table 39: Netstat Clear Device Error object members ............................................................................... 72
Table 40: Supported bandwidth channel selections................................................................................... 74
Table 41: Netstat Select Device object members ....................................................................................... 75
Table 42: Netstat Select Device Response object members....................................................................... 75
Table 43: Netstat Select Device Error object members .............................................................................. 75
Table 44: Supported Pairings for Icron Extenders ...................................................................................... 79
Table 45: reboot object array ..................................................................................................................... 80

PDS-062489 Rev 1.6 Page 14 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 46: reboot object members .............................................................................................................. 80
Table 47: CEC object array .......................................................................................................................... 83
Table 48: CEC object members ................................................................................................................... 83
Table 49: update progress object array ...................................................................................................... 85
Table 50: update progress object members ............................................................................................... 85
Table 51: I2C data object array ................................................................................................................... 86
Table 52: I2C data object members ............................................................................................................ 87
Table 53:Infrared (IR) object array .............................................................................................................. 88
Table 54: Infrared (IR) object members ...................................................................................................... 88
Table 55: MVLayout Objects ....................................................................................................................... 90
Table 56: Surface Objects ........................................................................................................................... 90
Table 57: Multiview Object Array ............................................................................................................... 90
Table 58: RS-232 object array ..................................................................................................................... 91
Table 59: RS-232 object members .............................................................................................................. 91
Table 60: Settings Subsets .......................................................................................................................... 93
Table 61: CEC object array .......................................................................................................................... 95
Table 62: CEC object members ................................................................................................................... 96
Table 63: Infrared (IR) object array ............................................................................................................. 97
Table 64: Infrared (IR) object members ...................................................................................................... 97
Table 65: send rs232 object array ............................................................................................................... 99
Table 66: send rs232 object members ........................................................................................................ 99
Table 67: List of Configurable Properties .................................................................................................. 108
Table 68: update object array ................................................................................................................... 136
Table 69: update object members ............................................................................................................ 137
Table 70: USB Descriptors header ............................................................................................................ 139
Table 71: Report Descriptors heading ...................................................................................................... 140
Table 72: USB descriptor read object array .............................................................................................. 141
Table 73: USB descriptor read object members ....................................................................................... 141
Table 74: USB descriptor write object array ............................................................................................. 143
Table 75: USB descriptor write result object members ............................................................................ 143
Table 76: Multiview Layout Command Set ............................................................................................... 146
Table 77: Layout Item Member ................................................................................................................ 146
Table 78: Layout Item Object Member ..................................................................................................... 146
Table 79: layout describe object array...................................................................................................... 152
Table 80: layout describe object members............................................................................................... 152
Table 81: surface description object members ........................................................................................ 153
Table 82: window description object members ....................................................................................... 153
Table 83: list layout object array............................................................................................................... 163
Table 84: list layout object members........................................................................................................ 163
Table 85: List of supported device objects ............................................................................................... 171
Table 86: Video format description object members ............................................................................... 172
Table 87: Video format detailed information object members ................................................................ 173
Table 88: Audio format detailed information object members................................................................ 175
Table 89: Video format extended information object members .............................................................. 176
Table 90: Source reference specification object members ...................................................................... 176
Table 91: Source selection object members ............................................................................................. 177
Table 92: Source selection choice object members ................................................................................. 177
Table 93: Device identity object members ............................................................................................... 178
PDS-062489 Rev 1.6 Page 15 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 94: Firmware details object members ............................................................................................ 179
Table 95: Device capabilities object members ......................................................................................... 180
Table 96: Device configuration object members ...................................................................................... 182
Table 97: Device status object members .................................................................................................. 182
Table 98: Device error status object members ......................................................................................... 183
Table 99: Stream object members ............................................................................................................ 184
Table 100: Stream configuration object members ................................................................................... 184
Table 101: Stream status object members ............................................................................................... 185
Table 102: Subscriptions object members................................................................................................ 185
Table 103: Subscription configuration object members ........................................................................... 186
Table 104: Subscription status object members....................................................................................... 186
Table 105: Node object members............................................................................................................. 187
Table 106: Node input object members ................................................................................................... 188
Table 107: Node input configuration object members............................................................................. 188
Table 108: Node input status object members ........................................................................................ 188
Table 109: Stereo audio input/output object members ........................................................................... 189
Table 110: Inputs supported for the audio input/output node ................................................................ 189
Table 111: Outputs supported for the audio output node ....................................................................... 191
Table 112: Bitmap Overlay node object members ................................................................................... 193
Table 113: CEC Node P2P Configuration ................................................................................................... 194
Table 114: Color generator node object members................................................................................... 195
Table 115: Frame buffer node object members ....................................................................................... 197
Table 116: Frame buffer node status object members ............................................................................ 198
Table 117: Frame buffer node input object members.............................................................................. 198
Table 118: Frame rate converter node object members .......................................................................... 200
Table 119: Frame rate converter node input object members ................................................................ 200
Table 120: HDMI decoder node object members..................................................................................... 201
Table 121: HDMI decoder node status object members .......................................................................... 202
Table 122: HDMI decoder node input object members ........................................................................... 203
Table 123: HDMI Encoder node status object members .......................................................................... 206
Table 124: HDMI Encoder node status object members .......................................................................... 206
Table 125: HDMI Encoder node input object members ........................................................................... 207
Table 126: HDMI monitor node status object members .......................................................................... 211
Table 127: HDMI monitor node input object members ........................................................................... 211
Table 128: Multichannel audio input node object members ................................................................... 212
Table 129: Multichannel audio sampling frequency configuration object members............................... 213
Table 130: Multichannel audio sampling frequency choice node status object members ...................... 213
Table 131: Multichannel audio number of audio channels node status object members ....................... 213
Table 132: Channels number choice node status object members.......................................................... 214
Table 133: Channel Allocation node object members .............................................................................. 214
Table 134: Channel Allocation Choice object members ........................................................................... 215
Table 135: Audio Encoding member ......................................................................................................... 215
Table 136: Multichannel audio output node object members ................................................................. 222
Table 137: Infrared encoder node object members ................................................................................. 226
Table 138: Infrared encoder input node object members ....................................................................... 226
Table 139: Network interface node object members ............................................................................... 227
Table 140: Network interface IP configuration node object members .................................................... 227
Table 141: Network interface node status object members .................................................................... 227
PDS-062489 Rev 1.6 Page 16 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 142: Network interface IP status object members ......................................................................... 228
Table 143: Network port node object members ...................................................................................... 228
Table 144: Network port node status object members............................................................................ 229
Table 145: Network switch node object members ................................................................................... 230
Table 146: Scaler node object members .................................................................................................. 231
Table 147: Scaler node status node object members............................................................................... 231
Table 148: scaler input node object members ......................................................................................... 231
Table 149: Thumbnail Generator Node object members ......................................................................... 233
Table 150: Thumbnail Generator Node status members ......................................................................... 233
Table 151: UART node configuration object members............................................................................. 234
Table 152: UART node status object members ........................................................................................ 235
Table 153: UART node inputs object members ........................................................................................ 235
Table 154: USB HID node object members ............................................................................................... 236
Table 155: USB HID device node object members ................................................................................... 236
Table 156: USB HID device status node object members ......................................................................... 237
Table 157: USB HID Host status node object members ............................................................................ 237
Table 158: Icron USB extender node object members ............................................................................. 239
Table 159: Icron local USB extender status node object members .......................................................... 240
Table 160: Video input node object members ......................................................................................... 242
Table 161: Video compressor node object members ............................................................................... 243
Table 162: Video compressor status node object members .................................................................... 243
Table 163: Video decompressor node object members ........................................................................... 244
Table 164: Video decompressor status node object members ................................................................ 244
Table 165: Device configuration properties ............................................................................................. 247
Table 166: Valid device mode changes ..................................................................................................... 248
Table 167: Stream configuration properties ............................................................................................. 248
Table 168: Stereo audio input/output node configuration properties .................................................... 249
Table 169: Stereo output node configuration properties......................................................................... 249
Table 170: CEC P2P node configuration property..................................................................................... 250
Table 171: Color Generator node configuration properties ..................................................................... 250
Table 172: Frame buffer node configuration properties ......................................................................... 251
Table 173: HDMI Decoder node configuration properties ....................................................................... 251
Table 174: HDMI Decoder node configuration properties ....................................................................... 252
Table 175: HDMI encoder node configuration properties........................................................................ 252
Table 176: Multichannel audio input node configuration properties ...................................................... 253
Table 177: Multichannel audio output node configuration properties .................................................... 254
Table 178: Network port node configuration properties ......................................................................... 255
Table 179:Network switch node configuration properties ....................................................................... 255
Table 180: Scaler node configuration properties ..................................................................................... 255
Table 181: UART node configuration properties ...................................................................................... 256
Table 182: Icron USB extender node configuration properties ................................................................ 256
Table 183: Video compressor node configuration properties .................................................................. 257
Table 184: Video decompressor node configuration properties .............................................................. 257

PDS-062489 Rev 1.6 Page 17 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 18 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
1 Purpose
This reference guide describes and explains the SDVoE API command set.
The SDVoE Developers Introduction to SDVoE API User Guide is recommended to be referenced in regards to
understanding the requirements and application of the API.

1.1 Version Information


This version of the API Developers Reference Guide applies to the SDVoE API version 3.4. SDVoE endpoint
devices incorporating the BlueRiver BlueRiver ASIC firmware version 2.0.0.0.

1.2 Target Audience


The target group is software designers and developers, project managers and support teams involved in the
design, coding and/or deployment of client applications that are to control and manage SDVoE systems
and endpoints.

1.3 Reference materials


Prior to beginning to design and implement the API, it is recommended to refer to the Developers Introduction
to SDVoE API User Guide to gain a good understanding of the API platform and its requirements.
In addition, the SDVoE Control Server Administrators Guide (PDS-062492) and the SDVoE API Application Note
Library (PDS-062491) may prove useful, the latter contains information and examples that may prove useful in
the development and design of software client solutions that will manage SDVoE endpoint devices.

PDS-062489 Rev 1.6 Page 19 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 20 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
2 Outline of the API
This API provides a way for control software to interact with BlueRiver-based devices and itself. It is designed to
be flexible, supporting a wide variety of functionality allowing for creative Pro-AV applications to be
implemented. In addition, it simplifies programming and implementation of custom applications, which permits
seamless operation of separate devices across a network.
Reminder: Details on the structure of the API is provided in the Introduction to the SDVoE API User Guide,
refer to it for general information on the API platform and its requirements.

2.1 Events
Change of status or an occurrence of an event, such as a change of device state, trigger an API event. To have
active clients remain up to date with state changes, these events need to be handled.
Such events can be managed either by polling for list of latest events using a WebSocket to monitor for
asynchronous event notifications. Refer to the Introduction to the SDVoE API User Guide for more information
on event types, tracking device states and event buffering.

2.2 Commands types


The API server supports two types of commands:
Immediate: This type of command always completes immediately. Returns with either a SUCCESS or
ERROR status.
Background: These commands complete a task in the background. The response of these commands is
retrieved using a request command referring to the unique request ID assigned to each
command of this type when it is issued.
Refer to the Introduction to the SDVoE API User Guide for more information on command types.

2.3 Device Model, Life Cycle and Command Structure


The API device model describes each device’s status, configuration, data connectivity, as well as supported
capabilities. The API device model is represented with a JSON object referred to as “Device Objects”. The
device model is the heart of the API.
For details on the device model including its components and life cycle, refer to the Introduction to the SDVoE
API User Guide. In addition, the introduction guide provides detailed information on Error Objects, HTTP Status
and Device Error Objects.

2.4 Description of Streams and Destinations


Reminder, control of data routing between devices uses a stream and subscription abstraction:
• Streams are the sending endpoints, while subscriptions are the receiving endpoints.
• Each stream or subscription has an assigned type, only streams and subscriptions of the same type can
be associated together.
Depending on their type, streams are either joinable or switchable.
Refer to the Introduction to the SDVoE API User Guide for more information on joinable and switchable streams,
as well as how the API implements multicast IP address management.

PDS-062489 Rev 1.6 Page 21 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
2.5 Specifying a Video Output Format
Managing the video output format is a major factor of the API command module and must be considered when
managing SDVoE endpoint devices.
TIP: For background information on managing video display modes, refer to the Introduction to the SDVoE
API User Guide, section Managing the Video Output Format provides background information on video
output formats.

2.5.1 Command options


Three command options are available for managing the video output format of a receiver (RX) device.
1. set video command.
This is generally the recommended command to use to set the video output format. Refer to section
4.18.10 Command set video for more information.
2. join command.
When joining a video stream, the video output format can optionally be specified, allowing both
operations (joining and setting video output format) to be performed with a single command. Refer to
section 4.9 Command join more information.
3. set multiview command.
Used to set the receiver (RX) to multiview mode with a specified multiview layout. Refer to section 5
Multiview Command Reference for more information on multiview.

2.5.2 Video Display Mode Argument


When a set video or join command (optional for the join command) is issued and video format are to be
defined than display mode arguments are required, table below summarizes mode value to specify.
Reminder: Introduction to the SDVoE API User Guide, section Managing the Video Output Format provides
additional information on video output formats.
Table 1: Video Display Mode Supported Keywords

Mode API String(1) Description


Genlock GENLOCKED Specifies to set the video mode to genlock (i.e.
synchronized zero-frame latency) full screen 1:1
display mode.
Genlock Scaling GENLOCK_SCALING Specifies to set the video mode to genlock (i.e. zero-
frame latency) full screen mode with scaling.
Fast Switch FAST_SWITCHED Specifies to set the video mode to fast switched full
screen mode, with aspect ratio preserved by adding
black bars when needed.
Fast Switch - Crop FAST_SWITCHED_CROP This string specifies video mode to be set to fast
switched full screen mode, with aspect ratio preserved
by cropping the video.
Fast Switch - Stretch FAST_SWITCHED_STRETCH This string specifies the video mode to be set to fast
switched full screen mode, with the video stretched to
cover the entire screen without regards to preserving
the aspect ratio.

PDS-062489 Rev 1.6 Page 22 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Mode API String(1) Description
Genlock Wall WALL_GENLOCKED Specifies to set the video mode set to genlocked
(synchronized) display wall mode.
Fast Switch Wall WALL_FAST_SWITCHED Specifies to set the video mode to fast switched
display wall mode.
Multiview Refer to description. Refer to section 5 Multiview Command Reference

2.5.3 Video Format Arguments


In an API request, the video arguments are specified as a VideoFormatArguments JSON object. The format
of that object type is the following:
{
"aspect_ratio" : String (optional),
"fps" : Real or String (conditional),
"hsync_front_porch" : Integer (conditional),
"vsync_front_porch" : Integer (conditional),
"hdmi_vic" : Integer (conditional),
keep_width" : Integer (conditional),
"keep_height" : Integer (conditional),
"horiz_offset" : Integer (conditional),
"vert_offset" : Integer (conditional),
"horiz_polarity" : String (conditional),
"vert_polarity" : String (conditional),
"hsync_pulse" : Integer (conditional),
"vsync_pulse" : Integer (conditional),
"width" : Integer (conditional),
"height" : Integer (conditional),
"total_width" : Integer (conditional),
"total_height" : Integer (conditional),
"vic" : Integer (conditional),
"viewport_horiz" : Integer (conditional),
"viewport_vert" : Integer (conditional),
"viewport_width" : Integer (conditional),
"viewport_height" : Integer (conditional),
"quantization_range" : String (optional)
"aspect_ratio_mode" : String (conditional),
"grid_width" : Integer (conditional),
"grid_height" : Integer (conditional),
"grid_index_horiz" : Integer (conditional),
"grid_index_vert" : Integer (conditional),
"bezel_horiz" : Integer (conditional),
"bezel_vert" : Integer (conditional)
“wall_name” : String (optional)
}
For detailed information on the set video arguments, refer to the Developers Introduction to the SDVoE API
User Guide, sections “Video Format Arguments” and “Uniquely Identifying a Video Format”. Unless otherwise
stated, arguments generally apply to all display modes except Genlock, which does not require nor does it
actually allow any video format arguments. In addition, unless otherwise stated, all arguments are individually
optional, but to uniquely identify the video format a minimum set of arguments must be specified. For details of
the multiview and wall modes, refer to the API Developers Application Note Library.
PDS-062489 Rev 1.6 Page 23 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Below table provides the list of supported Video Identification Codes (VIC) for the API.
Table 2: Supported Video Identification Codes (VIC)

Video Identification Code Video Format


1 640x480 60Hz (4:3)
2 720x480 59.94Hz or 60 Hz (4:3)
3 720x480 59.94Hz or 60 Hz (16:9)
4 1280x720 (720p) 59.94Hz or 60 Hz
16 1920x1080 (1080p) 59.94Hz or 60 Hz
17 720x576 50Hz (4:3)
18 720x576 50Hz (16:9)
19 1280x720 (720p) 50Hz
31 1920x1080 (1080p) 50Hz
32 1920x1080 (1080p) 24Hz or 23.98Hz
33 1920x1080 (1080p) 25Hz
34 1920x1080 (1080p) 29.97Hz or 30Hz
60 1280x720 (720p) 24Hz or 23.98Hz
61 1280x720 (720p) 25Hz
62 1280x720 (720p) 29.97Hz or 30Hz
93* 3840x2160 (2160p) 24Hz or 23.98Hz
94* 3840x2160 (2160p) 25Hz
95* 3840x2160 (2160p) 29.97Hz or 30Hz
96 3840x2160 (2160p) 50Hz
97 3840x2160 (2160p) 59.94Hz or 60 Hz
98* 4096x2160 24Hz or 23.98Hz (256:135)
99 4096x2160 25Hz (256:135)
100 4096x2160 29.97Hz or 30Hz (256:135)
101 4096x2160 50Hz (256:135)
102 4096x2160 59.94Hz or 60 Hz (256:135)
* Video Identification Codes (VIC) with an asterisk can alternatively be specified by their HDMI Video
Identification Codes (HDMI_VIC).
In regards to the HDMI Video Identication Code (hdmi_vic) argument the supported values are:
hdmi_vic argument specifies HDMI Video Identification Code (HDMI_VIC).
The supported values are:
1 -- 3840x2160 (2160p) 29.97Hz or 30Hz
2 -- 3840x2160 (2160p) 25Hz
3 -- 3840x2160 (2160p) 24Hz or 23.98Hz
4 -- 4096x2160 24Hz or 23.98Hz (256:135)
Other values are inserted in the HDMI Vendor-Specific InfoFrame as requested but cannot be used to uniquely
identify a video format.

PDS-062489 Rev 1.6 Page 24 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
2.5.4 Uniquely Identifying a Video Format
A minimum set of video format arguments are required to uniquely identify a video format. This section
describes the various options for doing so.
2.5.4.1 By Video Identification Code (VIC or HDMI_VIC)
If the desired video format has a supported Video Identification Code (VIC) or HDMI Video Identification Code
(HDMI_VIC), it is sufficient to only specify this information. Other parameters (such as video timings, etc.) are
automatically retrieved from a table.
For some video formats, there is an ambiguity regarding the frame rate, which is resolved as follows:
• For formats with a frame rate of 24Hz or 23.98Hz (24Hz/1.001), 24Hz frame rate is selected.
• For formats with a frame rate of 30Hz or 29.97Hz (30Hz/1.001), 29.97Hz frame rate is selected.
• For formats with a frame rate of 60Hz or 59.94Hz (60Hz/1.001), 59.94Hz frame rate is selected.
Refer to Table 2: Supported Video Identification Codes (VIC) and under HDMI Video Identification Code
for a list of supported HDMI Video Identification Codes (HDMI_VIC).
2.5.4.2 By Video Identification Code (VIC or HDMI_VIC) and Frame Rate
Same as by Video Identification Code (VIC or HDMI_VIC) as outlined in previous section but the frame rate
ambiguity is resolved by explicitly specifying the frame rate.
2.5.4.3 By Video Resolution and Frame Rate
If the desired video format has a supported Video Identification Code (VIC) or HDMI Video Identification Code
(HDMI_VIC), it is sufficient to only specify the video resolution and frame rate.
Refer to Table 2: Supported Video Identification Codes (VIC) under HDMI Video Identification Code
for a list of supported HDMI Video Identification Codes (HDMI_VIC).
2.5.4.4 Completely Specified Video Formats
If the video format does not have a supported Video Identification Code (VIC) or HDMI Video Identification
Code (HDMI_VIC), all video arguments must be specified to completely describe the video format, this includes
the following:
• Picture aspect ratio if applicable
• Frame Rate
• Video Sync Front Porch
• Video Sync Polarity
• Video Sync Pulse Width
• Video Resolution
• Total Size

PDS-062489 Rev 1.6 Page 25 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 26 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
3 Core Commands
The API supports an extensive set of commands designed to support the functionality built into the SDVoE
endpoint devices. The table provided below reviews the commands that can be issued “prior” to loading the API
command module.
On a WebSocket connection, the effects of these commands are limited to a single API connection.
Note: For the full list of API commands, refer to section 4 Command Reference for the API
Table 3: API Core Commands

Return
Command Description Errors
Value
mode human Enable/disable human-readable output mode. null ILLEGAL_ARGUMENT occurs when
When enabled, the JSON responses returned an invalid value is specified.
by the API are indented and formatted to be
more easily read.
When disabled, the JSON return contains no
newline, space or other white space
characters.
require Verifies if the requested version of API null VERSION returned when API not
command module is available in current API compatible with requested version.
Server and loads it if it is. UNSUPPORTED_FEATURE returned
TIP: Compatibility rules are outlined in when requested module unsupported
Introduction to the SDVoE API User by the API version.
Guide.
version Retrieve version of the command module that null ILLEGAL_COMMAND occurs if the
is currently loaded. API version running is legacy version,
prior to API 2.4.

The following sections detail, as well as provide examples, for each of the core commands outlined above.

3.1 Command mode human


…?human=TRUE/FALSE
Enable or disable the human-readable output mode, the human query string argument described is valid in any
request. This is what the ellipsis (…) in the syntax shown above represents, it can be replaced with any API URI.
Whether this mode is enabled or disabled by default is dependent on the API Server configuration, refer to the
Control Server (API) Administrators Guide for details.
In a WebSocket connection, the human-readable output mode is initially disabled.

3.1.1 Arguments
The argument is a Boolean argument specifying whether to enable (TRUE) or disable (FALSE) the human-
readable output mode.

PDS-062489 Rev 1.6 Page 27 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
3.1.2 Return Value
null

3.1.3 Errors
ILLEGAL_ARGUMENT Occurs when an invalid value is specified in the request syntax.

3.1.4 Example
GET /api?human=true HTTP/1.1

HTTP/1.1 200 OK

{
"status": "SUCCESS",
"request_id": null,
"result": {
"server": "Control Server",
"vendor": "Semtech",
"version": "3.3.0.0",
"modules": [
{
"name": "api",
"version": "3.3.0.0"
}
]
},
"error": null
}

3.2 Command require


GET /api?require(module_name)=version
Verify the requested version of the command module is available from the API Server.

3.2.1 Arguments
The module_name argument is the name of the command module.
The version argument is the requested version.

3.2.2 Return Value


Refer to the command version.

3.2.3 Errors
VERSION The requested version is not compatible.
UNSUPPORTED_FEATURE The requested module is not supported.

PDS-062489 Rev 1.6 Page 28 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
3.2.4 Example
GET /api?require(api)=3.3.0.0 HTTP/1.1

HTTP/1.1 200 OK

{
"status": "SUCCESS",
"request_id": null,
"result": {
"server": "Control Server",
"vendor": "Semtech",
"version": "3.3.0.0",
"modules": [
{
"name": "api",
"version": "3.3.0.0"
}
]
},
"error": null
}

GET /api?require(api)=3.9999.0.0 HTTP/1.1



HTTP/1.1 404 Not Found

{
"status" : "ERROR",
"request_id" : null,
"result" : null,
"error" : {
"reason" : "VERSION",
"message" : "Incompatible version"
}
}
GET /api?require(unsupported)=1.2.3.4 HTTP/1.1

HTTP/1.1 404 Not Found

{
"status" : "ERROR",
"request_id" : null,
"result" : null,
"error" : {
"reason" : "UNSUPPORTED_FEATURE",
"message" : "Unknown module 'unsupported' in command 'require'"
}
}

PDS-062489 Rev 1.6 Page 29 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
3.3 Command version
GET /api
Retrieve version of the command module currently loaded.
Note: This command was introduced in API version 3.0.

3.3.1 Arguments
None

3.3.2 Return Value


{
"server" : String,
"vendor" : String,
"version" : String,
"modules" : String
}
Table 4: Version command return values

Member name Since Type Description


server 3.0 String Name of API server software.
vendor 3.0 String Vendor of API server software.
version 3.0 String Release version of API server software.
modules 3.0 Array of ModuleDescriptionObject Supported API command modules.
Each ModuleDescriptionObject JSON object has the following structure:
{
"name" : String,
"version" : String
}
Table 5: Version JSON Module description Object

Member name Since Type Description


name 3.0 string Name of API command module.
version 3.0 string Version of API command module.

3.3.3 Errors
ILLEGAL_COMMAND Occurs if API version is before 2.4.

3.3.4 Example
GET /api HTTP/1.1

HTTP/1.1 200 OK

PDS-062489 Rev 1.6 Page 30 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"server" : "Control Server",
"vendor" : "Semtech",
"version" : "3.3.0.0",
"modules" : [
{
"name" : "api",
"version" : "3.3.0.0"
}
]
},
"error" : null
}

PDS-062489 Rev 1.6 Page 31 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 32 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4 Command Reference for the API
4.1 Summary List of API Commands
The SDVoE API command module contains commands used for controlling and querying the status of
transceiver, transmitter and receiver endpoint devices.
Note: As of API version 3.5, it is possible to specify the device_name or device_id of an individual
device as the target in the URL of a POST command request. No change regarding the current
device groups, ALL, ALL_RX and ALL_TX. For details on managing device names refer to the SDVoE
Developers API Application Note Library section Managing a Device Name.
Table 6: List of API Commands

Command Description
auth Endpoint device is authenticated to an API server, applicable to BlueRiver ASIC devices.
claim Associates a device(s) with the API Server from which the command was issued, so it is
controlled exclusively through this API instance. An unauthorized API server on the network
will not be able to control a claimed device.
The effect of this command is undone with the release command. Performing a factory
reset of the target device(s) associated to the API Server also releases the claim.
event Get a list of events.
Query arguments supported to allow for filtering of event types. This includes:
after=event_id
limit=limit
type=types
settings_change=subsets
factory Restore the factory default settings of a device or group of devices. If the target device(s) was
associated with the API server by use of auth or claim requests, it is released.
get The get command fetches information from a single device or group of devices.
For each device, information retrieved is a subset of the device object, which contains all
configuration, status, supported features and other information about the device.
join Subscribe one or more decoder (RX) devices to a video or audio stream.
Four stream types supported:
STEREO_AUDIO Stereo audio stream
HDMI HDMI video stream
HDMI_AUDIO HDMI audio stream
MULTICH_AUDIO Multichannel audio stream
leave Unsubscribe one or more decoder (RX) devices from a subscribed AV stream.
list Two options available for the list command:
1. list firmware
List all firmware update files available to the API server.
2. list multicast
List information regarding the multicast IP addresses currently in use.

PDS-062489 Rev 1.6 Page 33 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Command Description
netstat netstat read retrieves network characteristics for one or more devices. Data useful in
investigating possible cause of a network problem.
netstat clear resets all counters.
Refer to section 4.12 Command netstat for more information.
pair Pair up to seven Icron remote extenders (REX) to a single local extender (LEX). A request is sent
for each pair to be paired to the local extender. Requires that the Icron Simutaneous User
Interaction (SUI) feature be enabled on the Icron modules.
reboot Restarts the target device(s).
Note: The target device(s) is unavailable for a short time while the reboot is completed.
release Undo the effect of the claim command. This can only be done on the API Server instance on
which the device was claimed.
request Either this function retrieves the return value of a background command or the data
associated with an event.
Following outlines event types that can be received:
REQUEST_COMPLETE event indicates completion of a background command, response
status PROCESSING and a request ID instead of status SUCCESS.
Reminder: Background commands typically respond with PROCESSING status
and a request ID. Refer the Introduction to the SDVoE API User Guide for
more information.
CEC_RECEIVED event indicates that Consumer Electronics Control (CEC) data received
by a specific device.
DEVICE_CONNECTED event indicates that a new device has joined the network.
DEVICE_DISCONNECTED event indicates that a device has left the network.
DEVICE_INFO_AVAILABLE event indicates that device information is available for
a newly discovered device.
FIRMWARE_UPDATE_PROGRESS event indicates a firmware update in progress.
• Information associated with this event can be used to report progress
information to the user, for example by displaying a progress bar.
I2C event indicates that an I2C bus master (e.g. a MCU) has generated an event through
the I2C interface.
INFRARED_RECEIVED event indicates Infrared data received by a specific device.
RS_232_RECEIVED event indicates RS-232 data received by a specific device.
SETTINGS_CHANGED event indicates that new settings are returned.
• Format is identical to output of the “get settings” command called on a
device associated with a SETTINGS_CHANGED event.
send The send command provides three sub-commands that can be used to send the following data
types to one or more devices.
1. Send Consumer Electronics Control (CEC) data to one or more devices.
2. Send infrared remote (IR) control data to one or more devices.
3. Send RS-232 data to one or more devices.

PDS-062489 Rev 1.6 Page 34 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Command Description
set The set command is a powerful command that has several options provided to manage
transmitters and receivers.
A brief description of each option provided below:
set edid Set the EDID of one or more transmitter devices.
set ip Set the Internet Protocol (IP) configuration of the primary network interface
of a target device. If USB 2.0 present, this command is also used to set the
Icron network interface.
set property Set a configuration property for one or more devices.
Refer to section 7 Configurable Device Properties for more information
on configuration properties.
set scaler Set the scaler video resolution of one or more transmitter devices.
set secure_av Set the secure av key of a target device.
set security_key Configure the encryption key for USB-HID IP communication for the
specified device(s).
set usb Configure USB HID extension on an BlueRiver device.
set video Set the video mode and video output parameters of one or more
receiver devices.
start Used to start one or more stream(s) on one or more devices.
STEREO_AUDIO Stereo audio stream
HDMI HDMI video stream
HDMI_AUDIO HDMI audio stream
MULTICH_AUDIO Multichannel audio stream
stop Stops one or more stream(s) on one or more devices and optionally frees the multicast address
associated with each stopped stream, allowing it to be available for reassignment.
switch Set stream destination for a device.
The switch command is used to establish a one-way connection between a source and the
destination devices. To establish two-way connection between any two devices, the command
must be issued twice with source and destination reversed.
There are three options that can be applied to specify the destination.
These options are:
1. Using device ID and stream index when destination is a device.
2. Using the keyword “api” when destination is API Server.
3. Specifying the destination IP address.
unauth Removes authentication of an endpoint device(s) from API server to which it was bound.
update Update the BlueRiver firmware of one or more devices.
While a firmware update is in progress, no other operation can be performed on the device.
For this reason, any command sent to the API Server that targets the device will fail with
INVALID_STATE for this device until the firmware update completes.
All connected clients are notified of the start and end of a firmware update with a
FIRMWARE_UPDATE_START event and a FIRMWARE_UPDATE_COMPLETE
event, respectively.
PDS-062489 Rev 1.6 Page 35 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Command Description
Note: A reboot command must be issued to the device once the firmware update is complete
for the changes to take effect. The device is in an undefined state until that reboot.
unpair Used to unpair a Icron remote extender (REX) from a local extender (LEX).
usb The set command has several sub-commands to manage USB HID extension on a device.
Below outlines these sub-commands providing a brief description of each.
usb descriptor read Read USB descriptors.
usb descriptor write Write USB descriptors.

Following subsections review each of the supported commands included in API version 3.3. Each command
includes details of command arguments, return values and examples.

4.2 Commands that Modify Device Settings


Most—though not all—commands described in the sections that follow aim to change the settings of one or
more devices. Examples include the start, stop, join and leave commands that control audio and video
streams and subscriptions, as well as the various variations of the set command, etc.
All commands that modify device settings have an identical return value. The return value is an object with two
array members: devices and error.
For each device targeted by the command, there is either:
1. An entry in the devices array if the operation was fetched successfully; or
2. A device error object in the error array if the operation was unsuccessful.
{
"devices" : [DeviceSuccess, ...],
"error" : [DeviceError, ...]
}
Table 7: Return value schema

Member Since Type Description


devices 3.0 Array of DeviceSuccess Array of objects that are subset of DeviceSuccess.
error 3.0 Array of DeviceError An array of DeviceError objects.
Indicates devices that command failed for, as well as the
reason for failure.
Device error objects (DeviceError) are described in the Introduction to the SDVoE API User Guide.
DeviceSuccess objects have the following schema:
{
"device_id" : String
}
Table 8: DeviceSuccess Schema

Member name Since Type Description


device_id 3.0 String Device ID of a device for which the operation succeeded.

PDS-062489 Rev 1.6 Page 36 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.3 Commands auth and unauth
The auth command is a security feature that allows for secure communication between an API server and
SDVoE endpoint devices based on the BlueRiver ASIC series. It enables endpoint devices to be bound-
authenticated to an API server. When an endpoint is “bound-authenticated” it communicates only with a
specific API server because they share a specified security key. For details on the configuring the security key
refer to the SDVoE Control Server Administrators Guide. For certain use cases, the specific API server can be a
pair of API servers, for more information refer to the SDVoE API Developers Application Note Library.
The unauth command returns the device(s) to a non-secured, unauthenticated operational status. Request
will succeed only if the device(s) is currently bound-authenticated to the API server.
The command syntax for each auth and unauth is as follows:
POST /api/device/{target}
{
"op" : "auth"
}

POST /api/device/{target}
{
"op" : "unauth"
}
Note: This feature was enabled in API version 3.3, BlueRiver firmware 1.3.

4.3.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices

4.3.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

4.3.3 Errors
The auth/unauth command can fail with the following error:
CONFIGURATION If this feature has not been enabled in the API server configuration.
PROTOCOL NOT FOUND This message is provided when the command is not supported by the API.
The auth/unauth command can fail for a specific device with the following error:
DEVICE_TYPE The firmware does not support this feature.

PDS-062489 Rev 1.6 Page 37 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.3.4 Examples
Below is an example of enabling the bound-authentication of a single endpoint device, 001ec0f03668.
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "auth"
}
HTTP/1.1 201 Created
Location: /api/request/144

{
"status" : "PROCESSING",
"request_id" : 144,
"result" : null,
"error" : null
}
This example disables the bound-authentication of a single endpoint device, 001ec0f03668.
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "unauth"
}
HTTP/1.1 201 Created
Location: /api/request/145
{
"status" : "PROCESSING",
"request_id" : 145,
"result" : null,
"error" : null
}
Example of the protocol error occurring when an API doesn’t support bound-authentication.
{
"status": "ERROR",
"request_id": null,
"result": null,
"error": {
"reason": "PROTOCOL",
"message": "Not Found"
}
}

PDS-062489 Rev 1.6 Page 38 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.4 Commands claim and release
The claim command is a security feature aiming to prevent an adversary from using an unauthorized API
server instance—for example running on a laptop connected to a network port in an installation—to control
devices. When a device is claimed, it is controlled exclusively by the API server instance from which the
command was issued.
• The claim command only succeeds if the device(s) is currently unclaimed or already claimed by the API
Server issuing the command.
• The release command returns the device(s) to unclaimed state. It only succeeds if the device(s)
is/are claimed by the current API server or already unclaimed.
The command syntax for claim and release is as follows:
POST /api/device/{target}
{
"op" : "claim"
}

POST /api/device/{target}
{
"op" : "release"
}

4.4.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices

4.4.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

4.4.3 Errors
The claim command can fail with the following error:
CONFIGURATION If this feature has not been enabled in the API server configuration.
The claim command can fail for a specific device with the following error:
DEVICE_TYPE The firmware does not support this feature.

PDS-062489 Rev 1.6 Page 39 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.4.4 Examples
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "claim"
}
HTTP/1.1 201 Created
Location: /api/request/42

{
"status" : "PROCESSING",
"request_id" : 42,
"result" : null,
"error" : null
}
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "release"
}
HTTP/1.1 201 Created
Location: /api/request/43
{
"status" : "PROCESSING",
"request_id" : 43,
"result" : null,
"error" : null
}

4.5 Command event


GET /api/event
Query arguments:
after=event_id
limit=limit
type=types
settings_change=subsets
This command retrieves a list of all the events that recently occurred.
TIP: An alternative to polling for events is to use a WebSocket connection to receive asynchronous
event notifications. Refer to the Introduction to the SDVoE API User Guide for information on polling for
new events and the asynchronous event notification mode.

PDS-062489 Rev 1.6 Page 40 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.5.1 Arguments
The event_id argument is the event ID of the last event (event ID with the highest numerical value) retrieved
by the client. The API then lists all events that occurred since the specified event ID.
To ensure consistency of device lifecycle events in the API, the event_id argument:
• Must be omitted or, equivalently, specified with the value 0 the first time this command is invoked by a
client since they connected to the API.
• Moreover, must then be specified with the correct, non-zero value when it is subsequently invoked.
The limit argument specifies maximum number of events to return. Remaining events can be retrieved using
a subsequent request with the event_id argument set appropriately. If argument omitted, there is no limit.
The types argument specifies which types of events are returned. Monitoring for some types of events but
not others reduces the total number of events.
Types of events monitored include the following:
• A comma-separated list of event types, refer to Table 9: Event Object members below for list.
• The ALL keyword specifies that the client is interested in all events.
• The NONE keyword specifies the client will not handle any events.
The subsets argument specifies for SETTINGS_CHANGED events the subsets a client is interested in
monitoring for changes for the event command, as well as reported as asynchronous event notifications.
This allows monitoring specific subsets of device settings for changes, while not receiving notifications of
changes not affecting these subsets, thereby reducing the number of SETTINGS_CHANGED events that need
to be handled.
The subsets argument is ignored if SETTINGS_CHANGED events are filtered out (i.e. not selected) by the
types argument.
The subsets argument can be one of the following:
• A comma-separated list of settings subset names. These subset names are defined in section 4.16.15
Requests associated with event SETTINGS_CHANGED.
• The ALL keyword specifies that the client is interested in changes in any subset.
• The NONE keyword specifies the client will not handle any SETTINGS_CHANGED events.
For both types and subsets, if omitted, the default is ALL.
Note: Depending on the application, as an example if RS-232 is used to perform a firmware update of
components connected to a BlueRiver device, the rate at which RS232_RECEIVED notifications are
produced can be significant.

4.5.2 Return Value


{
"events" : [EventObject ...]
}
EventObject is an object with a single member named “events”, which is an array of event objects. An
event object (EventObject) has the following structure:

PDS-062489 Rev 1.6 Page 41 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"device_id" : String
"event_id" : Integer,
"event_type" : String,
"timestamp" : Integer,
"request_id" : Integer
}
The table below defines the members incorporated in an API event object.
Table 9: Event Object members

Member name Since Type Description


device_id 3.0 String The ID of the device for which an event occurred.
Note: This member is null for REQUEST_COMPLETE events since
background command requests can target multiple devices.
event_id 3.0 Integer The ID of the event.
event_type 3.0 String The type of event, which is one of the following:
DEVICE_CONNECTED Device joined the network.
DEVICE_DISCONNECTED Device left the network.
DEVICE_INFO_AVAILABLE Initial device data available for a
newly connected device.
FIRMWARE_UPDATE_COMPLETE Firmware update of device has
completed.
FIRMWARE_UPDATE_PROGRESS Firmware update of device
in progress.
FIRMWARE_UPDATE_START Firmware update started. No
operations can be performed on
device until update done.
I2C An I2C bus master, such as a microcontroller) has generated an
event through the I2C interface.
INFRARED_RECEIVED Infrared data has been received.
REQUEST_COMPLETE Background command complete.
RS232_RECEIVED RS-232 data has been received.
SETTINGS_CHANGED The settings of a device changed.
TIP: As new versions of the API can introduce new event types,
clients should accept and ignore other event types to ensure
compatibility with future versions.
timestamp 3.0 Integer Time that the event occurred. The precision of this time stamp is in seconds
and its origin (time 0) is unspecified.
request_id 30 Integer Request ID associated with the event, null if not applicable.
Refer to section 4.16 Command request for more information.
DEVICE_CONNECTED: The request ID used to retrieve basic
device data.

PDS-062489 Rev 1.6 Page 42 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
DEVICE_DISCONNECTED: The request ID used to retrieve basic
device data.
DEVICE_INFO_AVAILABLE The request ID used to retrieve
available data.
SETTINGS_CHANGED: The request ID used to retrieve
available data.
I2C: The request ID used to identify the
source of an event.
INFRARED_RECEIVED The request ID is used to retrieve
Infrared (IR) data.
RS232_RECEIVED: Request ID used to retrieve RS-232 data.
REQUEST_COMPLETE: Includes the request ID associated to the
request that completed.

4.5.3 Errors
None

4.5.4 Example
GET /api/event?after=49 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [{
"device_id" : "d8803962abcd",
"event_id" : 50,
"event_type" : "SETTINGS_CHANGED",
"timestamp" : 1450386633,
"request_id" : 29
},
{
"device_id" : "d8803962b2d9",
"event_id" : 51,
"event_type" : "DEVICE_CONNECTED",
"timestamp" : 1450386633,
"request_id" : null
},
{
"device_id" : "d8803962b2d9",
"event_id" : 52,
"event_type" : "DEVICE_INFO_AVAILABLE",
"timestamp" : 1450386633,
"request_id" : 30
PDS-062489 Rev 1.6 Page 43 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}]
},
"error" : null
}

4.6 Command factory


POST /api/device/{target}
{
"op" : "factory"
}
Reminder: Command used to restore the factory default settings of a single device or a group of devices.

4.6.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL: All devices
ALL_TX: All transmitter devices
ALL_RX: All receiver devices

4.6.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for the
description of the return value.

4.6.3 Errors
ILLEGAL_ARGUMENT Occurs if the target argument is not a valid device ID or group name.

4.6.4 Example
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "factory"
}
HTTP/1.1 201 Created
Location: /api/request/18772

{
"status" : "PROCESSING",
"request_id" : 18772,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 44 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.7 Command get
List of discovered devices:
GET /api/device
The hello subset:
GET /api/device/{target}
All other subsets:
POST /api/device/{target}
{
"op" : "get",
"subset" : “String”
}
Reminder: The get command retrieves information from a single device or from a group of devices.
When the subset argument is either list, hello or capabilities, this command is guaranteed to
return immediately. For all other subsets, the command may return with status PROCESSING.
TIP: Client applications must be capable of handling the case where the get settings command returns
with status PROCESSING. For subset settings, the API Server caches information that allows it to
return the requested information immediately, however, occasionally it does return with a
PROCESSING status.

4.7.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL: All devices
ALL_TX: All transmitter devices
ALL_RX: All receiver devices
The valid values for the subset argument and their meaning are provided in the table below.

PDS-062489 Rev 1.6 Page 45 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 10: Subset arguments for "get" command

Subset name Since Description


capabilities 3.0 Retrieves the capabilities of the target device(s).
device 3.0 Retrieves all available information regarding a target device(s).
edid 3.0 Retrieves the EDID from a target device(s).
hello 3.0 Retrieves basic status information regarding a target device(s) that is
available when it is first detected on the network, such as device type
and firmware version.
identity 3.0 Retrieves basic identity information regarding a target device(s), such as
device name, type and firmware version.
list 3.0 Lists target devices with no information other than device ID.
Most useful with a device group as the target argument.
multiview 3.4 Retrieve details of the layout currently loaded on a receiver (RX) device
operating in multiview mode. Includes same info as a layout describe
request but the data is retrieved directly from the receiver(s).
settings 3.0 Return detailed information regarding the current configuration and
state of the target device(s).
The return is similar the return from get device. Most of the device
object is returned, excluding the EDID, temperature and the
enumeration of available choices for configuration members.
temperature 3.0 Retrieves the temperature of the target device(s).

4.7.2 Return Value


For each device targeted by the get command, there is either:
1. An entry in the devices array if the information was fetched successfully.
2. Alternatively, a device error object in the error array if the information was not successfully retrieved.
{
"devices" : [DeviceObject, ...],
"error" : [DeviceError, ...]
}
Table 11: Get command members

Member name Since Type Description


devices 3.0 Array of DeviceObject Array of objects that are subset of DeviceObject.
error 3.0 Array of DeviceError Array of DeviceError objects.
Indicates devices command failed for and reason for failure.
Refer to section 6 Device Object Definition (DeviceObject) for descriptions of device objects and for details
on device error objects (DeviceError) refer to the Introduction to the SDVoE API User Guide.

4.7.3 Errors
ILLEGAL_ARGUMENT Occurs if the target argument is not a valid device ID or group name.
ILLEGAL_ARGUMENT Also occurs if the subset argument is not a valid subset name.

4.7.4 Examples
For example data of various get returns refer to Appendix: Get Command Output Examples.

PDS-062489 Rev 1.6 Page 46 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.8 Command icron
POST /api/device/0016c035566e
{
"op" : "icron:reset",
"index" : 0 (optional)
}
Reminder: icron:reset is used to reset an Icron extender module that has been incorporated into a
BlueRiver endpoint device, for example if the module’s reported state is unreachable.

4.8.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL: All devices
ALL_TX: All transmitter devices
ALL_RX: All receiver devices
The index argument represents the Icron module, since there is only one Icron module mounted the index
value is always 0. If the index is not specified the default is 0.

4.8.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for the
description of the return value.

4.8.3 Errors
If the Icron extender does not support the Reset command, an error message like "request not supported by
device" is returned.

4.8.4 Example
The example below resets the Icron module of endpoint device 0016c035566e.
POST /api/device/0016c035566e
{
"op" : "icron:reset",
"index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/101

{
"status" : "PROCESSING",
"request_id" : 101,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 47 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.9 Command join
POST /api/device/{target}
{
"op" : "join",
"source_device" : String,
"stream_type" : String,
"stream_index" : Integer,
"subscription_type" : String (optional),
"subscription_index" : Integer,
"display_mode" : String (conditional),
"video" : VideoFormatArguments (conditional)
}
Reminder: join is used to subscribe one or more receivers to a transmitter’s video or audio stream.
Before joining an HDMI video stream (type equals HDMI), the video processing mode and video output
parameters must have previously been set on the receiver device(s). This can be accomplished by either:
1. Issuing a separate set video command. Refer to section 4.18.10 Command set video for
more information on using the set video command.
2. Or specify the video processing mode and video output parameters directly in the join command
as described in this section.

4.9.1 Arguments
The target argument must be either the device ID of a single receiver device or the name of a device group.
The allowed device groups for the join command are:
ALL All devices
ALL_RX All receiver devices
The source_device argument must be the device ID of a single transmitter device.
The stream_type argument must be a valid stream type. The following types are supported:
STEREO_AUDIO Stereo audio stream
HDMI HDMI video stream
HDMI_AUDIO HDMI audio stream
MULTICH_AUDIO Multichannel audio stream
The index_tx argument must the valid index of a stream of the specified type available on the source device.
TIP: For the command to succeed, the source stream must currently be started/running. Refer to section
4.19 Command start for information on starting device streams.
The subscription_type argument is optional. If specified, it must be identical to the stream_type
argument. Subscriptions can only join streams of the same type.
The subscription_index argument must be a valid index of a subscription of specified type on the
destination device.

PDS-062489 Rev 1.6 Page 48 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
The display_mode and video arguments can only be specified when joining a stream whose type is HDMI
that is the stream_type argument is set to HDMI. When these arguments are specified, the command has
the effect of combining the join/set video commands.
The display_mode argument specifies the display mode.
The video argument specifies video format. As mentioned earlier, no video argument needed nor permitted
for genlock display mode. In this case, an empty object can be provided or argument can be omitted entirely.
TIP: Refer to section 2.5.2 Video Display Mode Argument for information on video modes.

4.9.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for the
description of the return value.

4.9.3 Errors
It is possible that an error could be returned when a join command is issued. Possible errors include:
ILLEGAL_ARGUMENT Indicates the arguments entered are invalid.
INVALID_STATE Occurs if the source device is disconnected.
The request may also fail for individual devices for the following reasons:
INVALID_STATE Indicates that the source stream is stopped
DEVICE_DISCONNECTED if the source or destination device is disconnected
If source device is not connected when a join command is issued, the command fails with the error,
INVALID_STATE.
If the source device is disconnected while the command is being processed, the command may fail for some
destination devices with DEVICE_DISCONNECTED.

4.9.4 Examples of using the join command


Below is some examples on the use of the join command to subscribe receiver devices to transmitter devices
for both video and audio streams. Some of these examples also combine the join and set video command
arguments issuing both sets of commands simultaneously.
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "join",
"source_device" : "001ec0f03668",
"stream_type" : "STEREO_AUDIO",
"stream_index" : 0,
"subscription_index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/60

PDS-062489 Rev 1.6 Page 49 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "PROCESSING",
"request_id" : 60,
"result" : null,
"error" : null
}
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "join",
"source_device" : "001ec0f03668",
"stream_type" : "HDMI",
"stream_index" : 0,
"subscription_index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/61

{
"status" : "PROCESSING",
"request_id" : 61,
"result" : null,
"error" : null
}
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "join",
"source_device" : "001ec0f03668",
"stream_type" : "HDMI",
"stream_index" : 0,
"subscription_index" : 0,
"display_mode" : "GENLOCKED"
}
HTTP/1.1 201 Created
Location: /api/request/62

{
"status" : "PROCESSING",
"request_id" : 62,
"result" : null,
"error" : null
}
POST /api/device/001ec0f04d9c HTTP/1.1

PDS-062489 Rev 1.6 Page 50 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"op" : "join",
"source_device" : "001ec0f03668",
"stream_type" : "HDMI",
"stream_index" : 0,
"subscription_index" : 0,
"display_mode" : "FAST_SWITCHED",
"video" : {
"width" : 1920,
"height" : 1080,
"fps" : 60
}
}
HTTP/1.1 201 Created
Location: /api/request/63

{
"status" : "PROCESSING",
"request_id" : 63,
"result" : null,
"error" : null
}
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "join",
"source_device" : "001ec0f03668",
"stream_type" : "HDMI",
"stream_index" : 0,
"subscription_index" : 0,
"display_mode" : "WALL_GENLOCKED",
"video" : {
"width" : 1920,
"height" : 1080,
"fps" : 60,
"horiz_offset" : 0,
"vert_offset" : 1080,
"keep_width" : 1920,
"keep_height" : 1080,
}
}
HTTP/1.1 201 Created
Location: /api/request/64

PDS-062489 Rev 1.6 Page 51 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "PROCESSING",
"request_id" : 64,
"result" : null,
"error" : null
}
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "join",
"source_device" : "001ec0f03668",
"stream_type" : "HDMI",
"stream_index" : 0,
"subscription_index" : 0,
"display_mode" : "WALL_FAST_SWITCHED",
"video" : {
"width" : 1920,
"height" : 1080,
"fps" : 60,
"horiz_offset" : 0,
"vert_offset" : 1080
"keep_width" : 1920,
"keep_height" : 1080,
}
}
HTTP/1.1 201 Created
Location: /api/request/65

{
"status" : "PROCESSING",
"request_id" : 65,
"result" : null,
"error" : null
}

4.10 Command leave


POST /api/device/{target}
{
"op" : "leave",
"subscription_type" : String (optional),
"subscription_index" : Integer (optional)
}
Reminder: Command used to unsubscribe one or more receiver devices from a transmitter device stream.
The leave command was introduced in API version 3.0.

PDS-062489 Rev 1.6 Page 52 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.10.1 Arguments
The target argument must be either the device ID of a single receiver device or the name of a device group.
The allowed device groups are:
ALL: All devices
ALL_RX: All receiver devices
Note: The target argument can also be a transmitter (TX) device in relation to stereo and multichannel
audio stream types. So in addition to the above, either the device ID of a single transmitter (TX) or the
ALL_TX device group can be specified when managing either of these audio stream types.
The subscription_type argument must be a valid subscription type.
The following types are supported:
STEREO_AUDIO Stereo audio stream
HDMI HDMI video stream
HDMI_AUDIO HDMI audio stream
MULTICH_AUDIO Multichannel audio stream
Additional information:
i. The index argument must the valid index of a subscription of the specified type on the
target device.
ii. If the index is omitted, all subscriptions of the given type are affected.
iii. If subscription_type omitted, all subscriptions of all types listed above are affected.

4.10.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

4.10.3 Errors
ILLEGAL_ARGUMENT Occurs if the arguments entered are invalid.
The request may also fail for individual devices for the following reason:
DEVICE_TYPE Occurs if device receiving the command is not a receiver device.

4.10.4 Example
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "leave",
"subscription_type" : "HDMI",
"subscription_index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/3929

PDS-062489 Rev 1.6 Page 53 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "PROCESSING",
"request_id" : 3929,
"result" : null,
"error" : null
}

4.11 Command list


The list command provides sub-commands to query lists from the API server. Below each of the sub-
commands are reviewed separately.

4.11.1 Command list firmware


GET /api/firmware
This command was introduced in API version 3.0.
Reminder: The list firmware sub-command, lists all currently available firmware update files to
the API server.
4.11.1.1 Return Value
{
"firmware" : [FirmwareItemObject, ...]
}
Table 12: list firmware object array

Member name Since Type Description


firmware 3.0 Array of FirmwareItemObject Array of objects that represent the firmware file.
Each item in the firmware array (FirmwareItemObject) has the following structure:
{
"file_name" : String,
"supports_production" : String,
}
Table 13: list firmware object members

Member name Since Type Description


firmware 3.0 String File name containing the firmware.
supports_production 3.0 Boolean If member false, file only supports device upgrades
(update command).

4.11.1.2 Example
GET /api/firmware HTTP/1.1

HTTP/1.1 200 OK
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"firmware" : [

PDS-062489 Rev 1.6 Page 54 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"file_name" : "blueriver_rdk_2-0-0-0.apz",
"supports_production" : false
},
{
"file_name" : "blueriver_rdk_2-0-0-0.apz ",
"supports_production" : true
}
]
},
"error" : null
}

4.11.2 Command list multicast


GET /api/multicast
This command was introduced in API version 3.0.
Reminder: This command retrieves information regarding the multicast IP addresses currently in use.
4.11.2.1 Return Value
{
"multicast" : [MulticastItemObject, ...]
}
Table 14: list multicast object array

Member name Since Type Description


multicast 3.0 Array of MulticastItemObject An array of objects that each represent a
multicast IP address.
Each item in the multicast array (MulticastItemObject) has the following structure:
{
"address" : String,
"state" : String,
"device_id" : String,
"stream_type" : String,
"stream_index" : Integer
}
Table 15: list multicast object members

Member name Since Type Description


address 3.0 String Multicast IP address in dotted decimal notation
state 3.0 String Current state of the stream, which is one of the following:
• STREAMING device is actively transmitting on specified
multicast address.
• STOPPED the stream is stopped.
device_id 3.0 String Device ID of device that is using the multicast address.
stream_type 3.0 String Type of stream the multicast address is being used for.
steam_index 3.0 Integer Index of stream the multicast address is being used for.

PDS-062489 Rev 1.6 Page 55 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.11.2.2 Example
GET /api/multicast

HTTP/1.1 200 OK
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"multicast" : [
{
"address" : "224.1.1.1",
"state" : "STREAMING",
"device_id" : "d8803962feae",
"stream_type" : "HDMI",
"stream_index" : 0
},
{
"address" : "224.1.1.2",
"state" : "STREAMING",
"device_id" : "d8803962dbf3",
"stream_type" : "HDMI",
"stream_index" : 0
},
{
"address" : "224.1.1.3",
"state" : "STREAMING",
"device_id" : "001ec0f01818",
"stream_type" : "STEREO_AUDIO",
"stream_index" : 0
}
]
},
"error" : null
}

4.12 Command netstat


By monitoring network characteristics on a constant basis, network diagnostic information provides historical
data, which in turn assists users in investigating the possible cause of a network problem. Using a netstat
request allows for tracking the uptime and data usage since boot-up. API also can provide the bandwidth usage
of a encoder (TX) on a per stream basis, including:
• Total bandwidth usage
• CPU control
• Auxiliary channel
• Native and Scaled video streams (stream 0 and stream 1).
• Audio stream bandwidth usage for HDMI audio, Stereo audio and Multichannel audio.
• HDMI AUX stream that carries all HDMI aux data including AV info packets and audio data.

PDS-062489 Rev 1.6 Page 56 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
• 1GbE stream
• USB Streams (ICRON)
• Thumbnail preview stream (NT2000/NT1000 devices only).
For a decoder (RX) device, the total bandwidth usage is available. Network data is not available on a per stream
type as it is for transmitter streams.
Notes:
i. Refer to Table 30: 10G RX Egress Missed Frames Flags object members for descriptions of each of the
above object stream members.
ii. The netstat API command is used to retrieve network characteristic information.
iii. Three netstat commands (read, clear and select) are supported refer to the appropriate
subsection for details on the use of each.
iv. Possible to clear/reset all the counters.
v. Possible to select (mask) specific channels.

4.12.1 Network Characterization Assumptions and Limitations


This subset of feature specifications apply to BlueRiver-based endpoint devices.
When a device reboots, all internal statistics are reset for the device.
The received bandwidth measured as a whole, while the transmitted bandwidth can be measured either as a
whole or per transmitted stream element. Potentially up to 11 streams can be monitored on a transceiver or
transmitter device.
Bandwidth channels are measured one at a time and each measurement takes two seconds. Only currently
selected channels are measured.
The following applies to bandwidth measurements:
• Transmitter devices allow egress (i.e. transmitted traffic) bandwidth measurements only.
• Receiver devices allow ingress (i.e. received traffic) bandwidth measurements only.
• Transceiver devices allow both egress/ingress bandwidth measurements (there is two complete
bandwidth measurement modules present, both modules can be read in parallel).

4.12.2 Command netstat read


This command allows statistics and up time of a device or a group of devices to be obtained.
POST /api/device/{target}
{
"op" : "netstat",
"option" : "read",
"filter" : String (optional)
}
4.12.2.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are the following:
ALL All devices
ALL_RX All receiver devices
ALL_TX All transmitter devices
PDS-062489 Rev 1.6 Page 57 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This command retrieves all statistics that are available for the specified device or a subset of the statistics if an
optional filter argument is used.
The supported filter arguments are:
counter Returns all the counters in the counter class.
bandwidth Returns all bandwidth counters in the bandwidth class.
error Returns error flags in the "dropped_frame" class (10G_EGRESS) and the error class
(10G_INGRESS).
4.12.2.2 Return Value
For each device that is targeted by this command, there is either a statistics entry in the result if the statistics
were fetched successfully or a device error object if the information was not retrieved.
{
"statistics" : [DeviceStatistics, ...],
"error" : [DeviceError, ...]
}
Table 16: netstat read object array

Member name Since Type Description


statistics 3.0 Array of DeviceStatistics Array of objects containing requested statistics.
Error 3.0 Array of DeviceError Array of DeviceError objects indicating the
devices for which the command failed and the
reason for the failure.
A DeviceStatistics object has the following format:
{
"device_id" : String,
"device_up_time" : Integer,
"data_paths" : [DataPath, ...]
}
Table 17: netstat device object array

Member name Since Type Description


device_id 3.0 String Device ID of the device to which statistics belong.
device_up_time 3.0 Integer Device up time since last reset or power up,
in seconds.
data_paths 3.0 Array of DataPath Array of objects containing statistics for a given data
path.
A DeviceError has the following format:
{
"device_id" : String,
"reason" : String,
"message" : String
}

PDS-062489 Rev 1.6 Page 58 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 18: netstat error object array

Member name Since Type Description


device_id 3.0 String The device ID of the device to which the error belongs.
reason 3.0 String Specific error code. For example "DEVICE_TYPE"
message 3.0 String Message with details of the error. For example: "Statistics is
not supported on this device."
DataPath is one of the following data path objects:
10GTXEgressDataPath On a transmitter (TX) device, egress traffic (exiting) of a 10G link
10GTXIngressDataPath On a transmitter (TX) device, ingress traffic (entering) of a 10G link
10GRXEgressDataPath On a receiver (RX) device, egress traffic (exiting) of a 10G link
10GRXIngressDataPath On a receiver (RX) device, ingress traffic (entering) of a 10G link
10GTXRXIngressDataPath On a transceiver (TR) device, ingress traffic (entering) of a 10G link
Table 19: Responses to netstat read per device type

Device type Egress Ingress


Transmitter (TX) 10GTXEgressDataPath 10GTXIngressDataPath
Receiver (RX) 10GRXEgressDataPath 10GRXIngressDataPath
Transceiver (TR) 10GTXEgressDataPath 10GTXRXIngressDataPath

10GTXEgressDataPath
A 10GTXEgressDataPath has the following format:
{
"type" : String,
"index" : Integer,
"bandwidth" : 10GTXEgressBandwidth,
"counters" : 10GTXEgressCounters,
"dropped_frames" : 10GTXEgressMissedFramesFlags
}
Table 20: 10G TX Egress Data Path object members

Member name Since Type Description


Type 3.0 String Data path type for this object:
"10G_TRANSMITTER_EGRESS".
Index 3.0 Integer Index for an object of this data path type. Is
always 0 since there is only one 10GbE link.
Bandwidth 3.0 10GTXEgressBandwidth Object contains all the bandwidth counters
applicable to the associated data path type.
Counters 3.0 10GTXEgressCounters Object with all the other counters applicable
to this data path type that are not bandwidth
counters.
dropped_frames 3.0 10GTXEgressMissedFramesFlags Object with applicable missed frame flags
(Booleans).
A 10GTXEgressBandwidth has the following format:

PDS-062489 Rev 1.6 Page 59 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"selection" : 10GTXEgressBandwidthSelection,
"usage" : 10GTXEgressBandwidthUsage
}
Table 21: 10G TX Egress Bandwidth object members

Member name Since Type Description


selection 3.0 10GTXEgressBandwidthSelection Object with the selected state of each
applicable channel.
Usage 3.0 10GTXEgressBandwidthUsage Object with the usage of each
applicable channel.
A 10GTXEgressBandwidthSelection has the following format:
{
"total" : Boolean,
"cpu_control" : Boolean,
"aux_channel" : Boolean,
"hdmi_stream_0" : Boolean,
"hdmi_stream_1" : Boolean,
"stereo_audio" : Boolean,
"hdmi_audio" : Boolean,
"multi_channel_audio" : Boolean,
"thumbnail" : Boolean,
"usb_icron" : Boolean,
"network_1g" : Boolean
}
Table 22: 10G TX Egress Bandwidth Selection object members

Member name Since Type Description


Total 3.0 Boolean Select filter (true/false) for total measured bandwidth.
cpu_control 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the CPU communications.
aux_channel 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the first HDMI A&V description and audio channel.
hdmi_stream_0 3.0 Boolean Select filter (true/false) for the measured bandwidth of
by the first HDMI video channel.
hdmi_stream_1 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the second HDMI video channel.
stereo_audio 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the stereo audio channel.
hdmi_audio 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the HDMI audio channel.
multi_channel_audio 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the multichannel audio channel.
Thumbnail 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the thumbnail channel.
usb_icron 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the USB Icron channel.

PDS-062489 Rev 1.6 Page 60 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
network_1g 3.0 Boolean Select filter (true/false) for the measured bandwidth of
the 1G network channel.
A 10GTXEgressBandwidthUsage has the following format:
{
"total" : Integer,
"cpu_control" : Integer,
"aux_channel" : Integer,
"hdmi_stream_0" : Integer,
"hdmi_stream_1" : Integer,
"stereo_audio" : Integer,
"hdmi_audio" : Integer,
"multi_channel_audio" : Integer,
"thumbnail" : Integer,
"usb_icron" : Integer,
"network_1g" : Integer
}
Table 23: 10G TX Egress Bandwidth Usage object members

Member name Since Type Description


Total 3.0 Integer Total bandwidth usage.
cpu_control 3.0 Integer Usage of the CPU communications.
aux_channel 3.0 Integer Usage of the first HDMI A&V description and
audio channel.
hdmi_stream_0 3.0 Integer Usage of the first HDMI video channel.
hdmi_stream_1 3.0 Integer Usage of the second HDMI video channel.
stereo_audio 3.0 Integer Usage of the stereo audio channel.
hdmi_audio 3.0 Integer Usage of the HDMI audio channel.
multi_channel_audio 3.0 Integer Usage of the multichannel audio channel.
Thumbnail 3.0 Integer Usage of the thumbnail channel.
usb_icron 3.0 Integer Usage of the USB Icron channel.
network_1g 3.0 Integer Usage of the 1G network channel.
A 10GTXEgressCounters has the following format:
{
“ethernet_flow_control_frames" : Integer
}
Table 24: 10G TX Egress Counters object members

Member name Since Type Description


ethernet_flow_control_frames 3.0 Integer Number of Ethernet flow control frames received
since the last reset
A 10GTXEgressMissedFramesFlags has the following format:
{
"cpu_control" : Boolean,
"aux_channel" : Boolean,
"hdmi_stream_0" : Boolean,
PDS-062489 Rev 1.6 Page 61 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"hdmi_stream_1" : Boolean,
"stereo_audio" : Boolean,
"hdmi_audio" : Boolean,
"multi_channel_audio" : Boolean,
"thumbnail" : Boolean,
"usb_icron" : Boolean,
"network_1g" : Boolean
}
Table 25: 10G TX Egress Miss Frames Flags object members

Member name Since Type Description


cpu_control 3.0 Boolean Indicates that at least one frame was missed from the CPU
control channel.
aux_channel 3.0 Boolean Indicates that at least one frame missed from AUX channel.
hdmi_stream_0 3.0 Boolean Indicates that at least one frame was missed from the HDMI
receiver output.
hdmi_stream_1 3.0 Boolean Indicates that at least one frame was missed from the
scaler output.
stereo_audio 3.0 Boolean Indicates that at least one frame was missed from the stereo
audio source.
hdmi_audio 3.0 Boolean Indicates that at least one frame was missed from the HDMI
audio source.
multi_channel_audio 3.0 Boolean Indicates that at least one frame was missed from the
multichannel audio source.
Thumbnail 3.0 Boolean Indicates that at least one frame was missed from the
thumbnail source.
usb_icron 3.0 Boolean Indicates that at least one frame was missed from the USB
Icron source.
network_1g 3.0 Boolean Indicates at least one frame was missed from 1G source.
10GTXIngressDataPath
A 10GTXIngressDataPath has the following format:
{
"type" : String,
"index" : Integer,
"counters" : 10GTXIngressCounters,
"errors" : 10GTXIngressErrorFlags
}
Table 26: 10G TX Ingress Data Path object members

Member name Since Type Description


Type 3.0 String Data path type for this object:
"10G_TRANSMITTER_INGRESS".
index 3.0 Integer Index for an object of this data path type. Is always 0
since there is only one 10GbE link.
counters 3.0 10GTXIngressCounters Object with all other counters applicable to the data
path type that are not bandwidth counters.
errors 3.0 10GTXIngressErrorFlags Object with applicable error flags (Booleans).
PDS-062489 Rev 1.6 Page 62 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Note: A 10GTXIngressDataPath object has no bandwidth object.
A 10GTXIngressCounters has the following format:
{
"ethernet_flow_control_frames" : Integer,
"xgmii_phy_errors" : Integer,
"xgmii_preamble_errors" : Integer,
"xgmii_crc_errors" : Integer,
"xgmii_frame_errors" : Integer,
"jumbo_frames" : Integer,
"runt_frame_errors" : Integer
}
Table 27: 10G TX Ingress Counters object members

Member name Type Since Description


ethernet_flow_control_frames 3.0
Integer Number of flow control frames received.
xgmii_phy_errors 3.0
Integer Number of errors from the 10G MII chip (PHY layer).
xgmii_preamble_errors 3.0
Integer Number of preamble errors from the 10G MII chip
(PHY layer).
xgmii_crc_errors 3.0 Integer Number of Cyclic Redundancy Check (CRC) errors
from the 10G MII chip (PHY layer).
xgmii_frame_errors 3.0 Integer Number of framing errors from the 10G MII chip
(PHY layer).
jumbo_frames 3.0 Integer Number of frames over 1522 bytes, not an error.
runt_frame_errors 3.0 Integer Number of frames smaller than 60 bytes (error).
A 10GTXIngressErrorFlags has the following format:
{
"network_frame_dropped" : Boolean,
"xgmii_decoder_error" : Boolean,
"xgmii_decoder_wrong_start_code" : Boolean,
"xgmii_decoder_wrong_stop_code" : Boolean,
"xgmii_decoder_invalid_control_code" : Boolean
}
Table 28 : 10G TX Ingress Error object members

Member name Since Type Description


network_frame_dropped 3.0 Boolean Frame(s) dropped in receive on the
network (true/false).
xgmii_decoder_error 3.0 Boolean Decoder error from the 10G MII chip (PHY
layer) (true/false).
xgmii_decoder_wrong_start_code 3.0 Boolean Decoder wrong start code error from the
10G MII chip (PHY layer) (true/false).
xgmii_decoder_wrong_stop_code 3.0 Boolean Decoder wrong stop code error from the
10G MII chip (PHY layer) (true/false).
xgmii_decoder_invalid_control_code 3.0 Boolean Decoder invalid control code error from
10G MII chip (PHY layer) (true/false).

PDS-062489 Rev 1.6 Page 63 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
10GRXEgressDataPath
A 10GRXEgressDataPath has the following format:
{
"type" : String,
"index" : Integer,
"dropped_frames" : 10GRXEgressMissedFramesFlags
}
Table 29: 10G RX Egress Data Path object members

Member name Since Type Description


Type 3.0 String Data path type for this object is
10G_RECEIVER_EGRESS.
Index 3.0 Integer Index for an object of this data path type. Is
always 0 since there is only one 10GbE link.
dropped_frames 3.0 10GRXEgressMissedFramesFlags Object with applicable missed frame flags
(Boolean).
Note: A 10GRXEgressDataPath object has no bandwidth counters.
A 10GRXEgressMissedFramesFlags has the following format:
{
"cpu_control" : Boolean,
"multi_channel_audio" : Boolean,
"usb_icron" : Boolean,
"network_1g" : Boolean
}
Table 30: 10G RX Egress Missed Frames Flags object members

Member name Since Type Description


cpu_control 3.0 Boolean Frame(s) dropped on CPU control channel (true/false).
multi_channel_audio 3.0 Boolean Frame(s) dropped on multichannel audio channel
(true/false).
usb_icron 3.0 Boolean Frame(s) dropped on USB Icron channel (true/false).
network_1g 3.0 Boolean Frame(s) dropped on 1G network channel (true/false).
10GRXIngressDataPath
A 10GRXIngressDataPath has the following format:
{
"type" : String,
"index" : Integer,
"bandwidth" : 10GRXIngressBandwidth,
"counters" : 10GRXIngressCounters,
"errors" : 10GRXIngressErrorFlags
}

PDS-062489 Rev 1.6 Page 64 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 31: 10G RX Ingress Data Path object members

Member name Since Type Description


Type 3.0 String Data path type for this object:
"10G_RECEIVER_INGRESS"
index 3.0 Integer Index for an object of this data path type. Is always 0
since there is only one 10GbE link.
bandwidth 3.0 10GRXIngressBandwidth Object with all the bandwidth counters applicable to this
data path type.
counters 3.0 10GRXIngressCounters Object with all the other counters applicable to this data
path type that are not bandwidth counters
errors 3.0 10GRXIngressErrorFlags Object with applicable error flags (Booleans)
A 10GRXIngressBandwidth has the following format:
{
"usage" : 10GRXIngressBandwidthUsage
}
Table 32: 10G RX Ingress Bandwidth object member

Member name Since Type Description


usage 3.0 10GRXIngressBandwidthUsage Object with usage of each applicable channel.
A 10GRXIngressBandwidthUsage has the following format:
{
"total" : Integer
}
Table 33: 10G RX Ingress Bandwidth usage object member

Member name Since Type Description


Total 3.0 Integer Total usage
A10GRXIngressCounters has the following format:
{
"xgmii_phy_errors" : Integer,
"xgmii_preamble_errors" : Integer,
"xgmii_crc_errors" : Integer,
"xgmii_frame_errors" : Integer,
"jumbo_frames" : Integer,
"runt_frame_errors" : Integer
}
Table 34: 10G RX Ingress Counters object members

Member name Since Type Description


xgmii_phy_errors 3.0 Integer Number of errors from the 10G MII chip (PHY layer)
xgmii_preamble_errors 3.0 Integer Number of preamble errors from 10G MII chip (PHY layer)
xgmii_crc_errors 3.0 Integer Number of Cyclic Redundancy Check (CRC) errors from the
10G MII chip (PHY layer)
xgmii_frame_errors 3.0 Integer Number of framing errors from the 10G MII chip (PHY layer)
jumbo_frames 3.0 Integer Number of frames larger than 1522 bytes (not an error)
runt_frame_errors 3.0 Integer Number of frames smaller than 60 bytes (error)
PDS-062489 Rev 1.6 Page 65 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A 10GRXIngressErrorFlags has the following format:
{
"network_frame_dropped" : Boolean,
"xgmii_decoder_error" : Boolean,
"xgmii_decoder_wrong_start_code" : Boolean,
"xgmii_decoder_wrong_stop_code" : Boolean,
"xgmii_decoder_invalid_control_code" : Boolean
}
Table 35: 10G RX Ingress Error Flags object members

Member name Since Type Description


network_frame_dropped 3.0 Boolean Frame(s) dropped in receive on the
network (true/false).
xgmii_decoder_error 3.0 Boolean Decoder error from the 10G MII chip (PHY
layer) (true/false).
xgmii_decoder_wrong_start_code 3.0 Boolean Decoder wrong start code error from the
10G MII chip (PHY layer) (true/false).
xgmii_decoder_wrong_stop_code 3.0 Boolean Decoder wrong stop code error from the
10G MII chip (PHY layer) (true/false).
xgmii_decoder_invalid_control_code 3.0 Boolean Decoder invalid control code error from
the 10G MII chip (PHY layer)
(true/false).
10GTXRXIngressDataPath
A 10GTXRXIngressDataPath has the following format:
{
"type" : String,
"index" : Integer,
"bandwidth" : 10GRXIngressBandwidth,
"counters" : 10GTXIngressCounters,
"errors" : 10GRXIngressErrorFlags
}
The only difference between a 10GRXIngressDataPath and a 10GTXRXIngressDataPath is the "counters" object,
which is a 10GRXIngressCounters for the receiver device and 10GTXIngressCounters for the transceiver device.
Please refer to the section about 10GTXIngressCounters for more details.
Table 36: 10G TXRX ingress datapath object members

Member name Since Type Description


Type 3.0 String Object data path type: 10G_TRANSCEIVER_INGRESS"
Index 3.0 Integer Index for an object of this data path type. Is always 0 since
there is only one 10GbE link.
bandwidth 3.0 10GRXIngressBandwidth Refer to section 10GRXIngressDataPath
counters 3.0 10GTXIngressCounters Refer to section 10GTXIngressDataPath
errors 3.0 10GRXIngressErrorFlags Refer to section 10GRXIngressDataPath

PDS-062489 Rev 1.6 Page 66 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.12.2.3 Errors
ILLEGAL_ARGUMENT Returned if target argument is not a valid device ID or group name.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned when the device does not support network statistics.
4.12.2.4 Example
The following example shows the response from two transmitters (TX) (first and second devices) and from a
receiver (RX) (third device) to a read command without a subset.
Note: If a subset used, response has the same structure but some statistics objects will appear to be empty.
POST /api/device/all HTTP/1.1
...
{
"op" : "netstat",
"option" : "read"
}
HTTP/1.1 201 Created
Location: /api/request/16
{
"status" : "PROCESSING",
"request_id" : 16,
"result" : null,
"error" : null
}
GET /api/request/16 HTTP/1.1
HTTP/1.1 200 OK
...
{
"status" : "SUCCESS",
"request_id" : 16,
"result" : {
"statistics" : [
{
"device_id" : "d8803962e132",
"device_up_time" : 256596,
"data_paths" : [
{
"type" : "10G_TRANSMITTER_EGRESS",
"index" : 0,
"bandwidth" : {
"selection" : {
"total" : false,
"cpu_control" : false,
"aux_channel" : false,
"hdmi_stream_0" : false,
"hdmi_stream_1" : true,
"stereo_audio" : false,
PDS-062489 Rev 1.6 Page 67 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"hdmi_audio" : false,
"multi_channel_audio" : false,
"thumbnail" : true,
"usb_icron" : true,
"network_1g" : false
},
"usage" : {
"total" : 0,
"cpu_control" : 0,
"aux_channel" : 0,
"hdmi_stream_0" : 0,
"hdmi_stream_1" : 391393830,
"stereo_audio" : 0,
"hdmi_audio" : 0,
"multi_channel_audio" : 0,
"thumbnail" : 0,
"usb_icron" : 0,
"network_1g" : 0
}
},
"counters" : {
"ethernet_flow_control_frames" : 0
},
"dropped_frames" : {
"cpu_control" : false,
"aux_channel" : false,
"hdmi_stream_0" : false,
"hdmi_stream_1" : false,
"stereo_audio" : false,
"hdmi_audio" : false,
"multi_channel_audio" : false,
"thumbnail" : false,
"usb_icron" : false,
"network_1g" : false
}
},
{
"type" : "10G_TRANSMITTER_INGRESS",
"index" : 0,
"counters" : {
"ethernet_flow_control_frames" : 0,
"xgmii_phy_errors" : 0,
"xgmii_preamble_errors" : 0,
"xgmii_crc_errors" : 0,
"xgmii_frame_errors" : 7741,
"jumbo_frames" : 0,
"runt_frame_errors" : 0
},
"errors" : {
"network_frame_dropped" : false,
"xgmii_decoder_error" : false,

PDS-062489 Rev 1.6 Page 68 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"xgmii_decoder_wrong_start_code" : false,
"xgmii_decoder_wrong_stop_code" : false,
"xgmii_decoder_invalid_control_code" : false
}
}
]
},
{
"device_id" : "d8803962b3c3",
"device_up_time" : 269180,
"data_paths" : [
{
"type" : "10G_TRANSMITTER_EGRESS",
"index" : 0,
"bandwidth" : {
"selection" : {
"total" : true,
"cpu_control" : true,
"aux_channel" : true,
"hdmi_stream_0" : true,
"hdmi_stream_1" : true,
"stereo_audio" : true,
"hdmi_audio" : true,
"multi_channel_audio" : true,
"thumbnail" : true,
"usb_icron" : true,
"network_1g" : true
},
"usage" : {
"total" : 574925174,
"cpu_control" : 3296,
"aux_channel" : 6553226,
"hdmi_stream_0" : 393304912,
"hdmi_stream_1" : 174769650,
"stereo_audio" : 0,
"hdmi_audio" : 0,
"multi_channel_audio" : 0,
"thumbnail" : 0,
"usb_icron" : 72,
"network_1g" : 0
}
},
"counters" : {
"ethernet_flow_control_frames" : 0
},
"dropped_frames" : {
"cpu_control" : false,
"aux_channel" : false,
"hdmi_stream_0" : false,
"hdmi_stream_1" : false,
"stereo_audio" : false,

PDS-062489 Rev 1.6 Page 69 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"hdmi_audio" : false,
"multi_channel_audio" : false,
"thumbnail" : false,
"usb_icron" : false,
"network_1g" : false
}
},
{
"type" : "10G_TRANSMITTER_INGRESS",
"index" : 0,
"counters" : {
"ethernet_flow_control_frames" : 0,
"xgmii_phy_errors" : 0,
"xgmii_preamble_errors" : 0,
"xgmii_crc_errors" : 0,
"xgmii_frame_errors" : 0,
"jumbo_frames" : 0,
"runt_frame_errors" : 0
},
"errors" : {
"network_frame_dropped" : false,
"xgmii_decoder_error" : false,
"xgmii_decoder_wrong_start_code" : false,
"xgmii_decoder_wrong_stop_code" : false,
"xgmii_decoder_invalid_control_code" : false
}
}
]
},
{
"device_id" : "d880396317ef",
"device_up_time" : 269184,
"data_paths" : [
{
"type" : "10G_RECEIVER_EGRESS",
"index" : 0,
"dropped_frames" : {
"cpu_control" : false,
"multi_channel_audio" : false,
"usb_icron" : false,
"network_1g" : false
}
},
{
"type" : "10G_RECEIVER_INGRESS",
"index" : 0,
"bandwidth" : {
"usage" : {
"total" : 400579266
}
},

PDS-062489 Rev 1.6 Page 70 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"counters" : {
"xgmii_phy_errors" : 0,
"xgmii_preamble_errors" : 0,
"xgmii_crc_errors" : 0,
"xgmii_frame_errors" : 0,
"jumbo_frames" : 0,
"runt_frame_errors" : 0
},
"errors" : {
"network_frame_dropped" : false,
"xgmii_decoder_error" : false,
"xgmii_decoder_wrong_start_code" : false,
"xgmii_decoder_wrong_stop_code" : false,
"xgmii_decoder_invalid_control_code" : false
}
}
]
}
],
"error" : [
{
"device_id" : "001ec0f03668",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "001ec0f03cc1",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "d88039e7fa53",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
}
]
},
"error" : null
}

4.12.3 Command netstat clear


The netstat clear command clears/resets all the current statistics for a device or group of devices.
POST /api/device/{target}
{
"op" : "netstat",
"option" : "clear"
}

PDS-062489 Rev 1.6 Page 71 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.12.3.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL: All devices
ALL_TX: All transmitter devices
ALL_RX: All receiver devices
4.12.3.2 Return Value
For each device targeted by this command, there is clear_statistics entry in the result if the statistics were
cleared successfully, or a device error object if clear is not supported.
{
"clear_statistics" : [DeviceResponse, ...],
"error" : [DeviceError, ...]
}
Table 37: Netstat Clear Return Value object members

Member name Since Type Description


DeviceResponse 3.0 Array of Array of objects containing a device_id indicating the
DeviceResponse statistics that were cleared.
DeviceError 3.0 Array of An array of DeviceError objects indicating the devices
DeviceError for which command failed and the reason for the failure.
A DeviceResponse has the following format:
{
"device_id" : String
}
Table 38: Netstat Clear Device Response object member

Member name Since Type Description


device_id 3.0 String The device ID of the device that cleared its statistics
A DeviceError has the following format:
{
"device_id" : String,
"reason" : String,
"message" : String
}
Table 39: Netstat Clear Device Error object members

Member name Since Type Description


device_id 3.0 String The device ID of the device to which the error belongs.
Reason 3.0 String Specific error code. For example "DEVICE_TYPE".
Message 3.0 String Message with details of an error.
For example, "Statistics is not supported on
this device."

PDS-062489 Rev 1.6 Page 72 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.12.3.3 Errors
ILLEGAL_ARGUMENT Returned if target argument is not a valid device ID or group name.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned when the device does not support network statistics.
4.12.3.4 Examples
POST /api/device/all HTTP/1.1
...
{
"op" : "netstat",
"option" : "clear"
}
HTTP/1.1 201 Created
Location: /api/request/17
{
"status" : "PROCESSING",
"request_id" : 17,
"result" : null,
"error" : null
}

GET /api/request/17 HTTP/1.1

HTTP/1.1 200 OK
...
{
"status" : "SUCCESS",
"request_id" : 17,
"result" : {
"clear_statistics" : [
{
"device_id" : "d8803962b3c3"
},
{
"device_id" : "d8803962e132"
},
{
"device_id" : "d880396317ef"
}
],
"error" : [
{
"device_id" : "001ec0f03668",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "001ec0f03cc1",
"reason" : "DEVICE_TYPE",
PDS-062489 Rev 1.6 Page 73 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "d88039e7fa53",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
}
]
},
"error" : null
}

4.12.4 Command netstat select


The netstat select command allows the selection of bandwidth channels for bandwidth reports made as a
response to a netstat read command.
POST /api/device/{target}
{
"op" : "netstat",
"option" : "select",
"select_list" : Array of Strings
}
4.12.4.1 Arguments
The target argument must be either the device ID of a single transmitter or the name of a device group.
The allowed device groups are the following:
ALL All devices
ALL_TX All transmitter devices
The select_list argument is mandatory. It can be a comma-separated list of selected bandwidth channels,
ALL for all channels or NONE for no channels.
Table 40: Supported bandwidth channel selections

Selection name Output


All All bandwidth registers are selected. Must be alone.
None All bandwidth registers are deselected. Must be alone.
Total Total bandwidth measurement.
cpu_control CPU bandwidth measurement.
aux_channel First HDMI A&V description and audio measurement.
hdmi_stream_0 First HDMI video channel measurement.
hdmi_stream_1 Second HDMI video channel measurement.
stereo_audio Stereo audio channel measurement.
hdmi_audio Bandwidth HDMI audio channel measurement.
multi_channel_audio Multi channel audio channel measurement.
Thumbnail Thumbnail channel measurement.
usb_icron USB Icron channel measurement.
network_1g 1G network channel measurement.

PDS-062489 Rev 1.6 Page 74 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.12.4.2 Return Value
For each device targeted by this command, there is a select_statistics entry in the result if requested
bandwidth channels were selected successfully or a device error object if bandwidth selection is not supported.
{
"select_statistics" : [DeviceResponse, ...],
"error" : [DeviceError, ...]
}
Table 41: Netstat Select Device object members

Member name Since Type Description


DeviceResponse 3.0 Array of Array of objects containing a device_id related to the
DeviceResponse selected bandwidth channels.
DeviceError 3.0 Array of Array of DeviceError objects indicating devices for which
DeviceError command failed and reason for the failure.
A DeviceResponse has the following format:
{
"device_id" : String
}
Table 42: Netstat Select Device Response object members

Member name Since Type Description


device_id 3.0 String Device ID of device that accepted and applied the bandwidth selection.
A DeviceError has the following format:
{
"device_id" : String,
"reason" : String,
"message" : String
}
Table 43: Netstat Select Device Error object members

Member name Since Type Description


device_id 3.0 String Device ID of the device to which the error belongs
reason 3.0 String Specific error code. For example "DEVICE_TYPE"
message 3.0 String Error message, such as "Bandwidth selection not supported on this device".
4.12.4.3 Errors
ILLEGAL_ARGUMENT Returned if target argument is not a valid device ID or group name.
ILLEGAL_ARGUMENT Returned if the comma separated select list is not valid.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned when the device does not support network statistics.
DEVICE_TYPE Returned when the device does not support bandwidth selection.

PDS-062489 Rev 1.6 Page 75 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.12.4.4 Examples
POST /api/device/all HTTP/1.1
...
{
"op" : "netstat",
"option" : "select",
"select_list" : ["hdmi_stream_0","hdmi_stream_1","network_1g"]
}
HTTP/1.1 201 Created
Location: /api/request/15
{
"status" : "PROCESSING",
"request_id" : 15,
"result" : null,
"error" : null
}
GET /api/request/15 HTTP/1.1
HTTP/1.1 200 OK
...
{
"status" : "SUCCESS",
"request_id" : 15,
"result" : {
"select_statistics" : [
{
"device_id" : "d8803962e132"
},
{
"device_id" : "d8803962b3c3"
}
],
"error" : [
{
"device_id" : "001ec0f03668",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "001ec0f03cc1",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "d880396317ef",
"reason" : "DEVICE_TYPE",
"message" : "Bandwidth selection not supported on this
device"
},

PDS-062489 Rev 1.6 Page 76 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"device_id" : "d88039e7fa53",
"reason" : "DEVICE_TYPE",
"message" : "Statistics is not supported on this device"
},
{
"device_id" : "d88039e7a4ee",
"reason" : "DEVICE_TYPE",
"message" : "Bandwidth selection is not supported on this
device"
}
]
},
"error" : null
}

4.13 Command pair/unpair (Icron SUI)


The pair and unpair commands are used to manage pairings between an Icron Local Extender (LEX) and
Icron Remote Extenders (REX). When the Simutaneous User Interaction (SUI) feature is enabled for the Icron
modules up to seven REX can be paired to a single LEX.

4.13.1 Command pair


Note: The SDVoE Developers API Application Note Library section “Icron API Integration” provides details
and use cases for the Simultaneous User Interaction (SUI) feature.
POST /api/device/{target}
{
"op": "icron:pair",
"dest_device": "device_id"
}
4.13.1.1 Arguments
The target is the associated device ID of the transmitter (TX), receiver (RX) or transceiver (TR) endpoint device
whose Icron extender is to be paired.
• When the target is associated to a local extender (LEX) and SUI is enabled on the Icron extender, then
multiple pairings are allowed. Reminder, each pairing request requires a separate command.
• When the target is the endpoint device associated to a remote extender (REX) then only a single
pairing is allowed.
• Regarding the dest_device argument, when pairing extenders the device ID is the device of either a
local extender (LEX) or remote extender (REX) depending on the extender type of the target specified.
4.13.1.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

PDS-062489 Rev 1.6 Page 77 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.13.1.3 Errors
If a pairing request is sent and the endpoint device has previously reached its maximum allotted pairings, i.e.
seven pairs, the following error is generated:
ICRON EXTENDER: Icron device does not support more than 7 simultaneous
peer(s). Consider unpairing from previous peer(s).
TIP:
i. If the error “Device d88039e83991: (INVALID_STATE) Icron extender is not
reachable” is received add a two-second delay between pairing commands.
ii. The error message then received will then be, “Device d88039e83991: (INVALID_STATE)
The icron extender did not acknowledge the 'pairing' process”, indicating the
pairing request was unsuccessful.
4.13.1.4 Example
The following is an example illustrating a pair request to pair SUI-enabled Icron extenders, where the local
extender (LEX) is device ID d88039e83991 is being paried to the remote extender (REX) 0016c04c46d7:
POST /api/device/d88039e83991
{
"op": "icron:pair",
"dest_device": “0016c04c46d7”,
}

4.13.2 Command unpair


The API unpair command is used to unpair a remote extender (REX) from a local extender (LEX).
POST /api/device/{target}
{
"op": "icron:unpair",
"dest_device": "device_id"
}
4.13.2.1 Arguments
The target is the associated device ID of the endpoint device whose Icron extender is to be unpaired, it is a
transmitter (TX), receiver (RX) or transceiver (TR) device.
• When the target specified is associated to a local extender (LEX) and SUI is enabled on the Icron
extender, then multiple unpairings are allowed.
• If the target is device associated to a remote extender (REX) then only single unpairing is completed.
The dest_device argument is the device ID of the endpoint transmitter, receiver or transceiver that the local
extender (LEX) or remote extender (REX) is to be unpaired from.
• When the target specified associated to a local extender (LEX) and the dest_device is a remote
extender (REX) the current pairing of the specified pair is removed.
• If the target specified is associated to a local extender (LEX) and the dest_device is not specified
then all current existing pairings to remote extenders (REX) are removed.
• When the target is an endpoint device associated to a remote extender (REX) then the
dest_device is of the paired local extender (LEX) only this pairing is removed.
PDS-062489 Rev 1.6 Page 78 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.13.2.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.13.2.3 Errors
If a pairing request is sent and the endpoint device has previously reached its maximum allotted pairings, i.e.
seven pairs, the following error is generated:
ICRON EXTENDER: Icron device does not support more than 7 simultaneous
peer(s). Consider unpairing from previous peer(s).
Table 44: Supported Pairings for Icron Extenders

Extender Type Simutaneous User Interaction (SUI) Number of Supported Pairings


Remote (REX) Enabled 1
Remote (REX) Disabled 1
Local (LEX) Enabled 7
Local (LEX) Disabled 1
Warnings!
i. When a factory reset is issued to a device, all current pairings are removed for the device(s) as it is
reset to default settings.
ii. A stop request with the stream type set to ICRON will unpair all current Icron pairings.
Reminder: If a switch request is used to establish a pairing between a local extender (LEX) and remote
extender (REX), if a pairing currently exists it is removed and the new pairing established.
4.13.2.4 Example
The following is an example is an unpair request to removing the pairing of Icron extenders currently paired,
were the local extender (LEX) is device ID d88039e83991 and the remote extender (REX) 0016c04c46d7:
POST /api/device/d88039e83991
{
"op": "icron:unpair",
"dest_device": “0016c04c46d7”,
}

4.14 Command reboot


POST /api/device/{target}
{
"op" : "reboot"
}
Reminder: Causes target device(s) to restart. Device is unavailable for a short time while restart completes.

PDS-062489 Rev 1.6 Page 79 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.14.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The allowed
device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices

4.14.2 Return Value


For each device targeted by the reboot command, there is either an entry in the reboot array if the data
successfully sent or a device error object in the error array if the operation failed.
{
"reboot" : [RebootObject, ...],
"error" : [DeviceError, ...]
}
Table 45: reboot object array

Member name Since Type Description


reboot 3.0 Array of An array of objects that represent the devices for which the request
RebootObject succeeded.
error 3.0 Array of An array of DeviceError objects indicating the devices for which the
DeviceError command failed and the reason why it failed
The RebootObject object has the following structure:
{
"device_id" : String
}
Table 46: reboot object members

Member name Since Type Description


device_id 3.0 String Device ID
Refer to the Introduction to the SDVoE API User Guide for details on the device error object (DeviceError).
Comment: Prior to API 2.3, the return value for this command was null.

4.14.3 Errors
ILLEGAL_ARGUMENT If the target argument is not a valid device ID or group name.

4.14.4 Example
POST /api/device/001ec0f03668

{
"op" : "reboot"
}
HTTP/1.0 200 OK

PDS-062489 Rev 1.6 Page 80 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"reboot" : [
{
"device_id" : "001ec0f03668"
}
],
"error" : []
},
"error" : null
}

4.15 Command release


Refer to section 4.4 Commands claim and release for details on the release command.

4.16 Command request


GET /api/request/{request_id}
Query arguments:
reduced_settings_change=(on|off)
Notes:
i. This function retrieves either:
a. The return value of a background command. That is a command that responded with
PROCESSING status and a request ID;
b. Or, the data associated with an event.
ii. Request numbers expire 30 seconds or more after they are created.

4.16.1 Arguments
The request_id is a request identification number included in either:
1. A PROCESSING command response.
2. Alternatively, the associated event object.
The reduced_settings_change query argument specifies whether reduced SETTINGS_CHANGED
events are enabled (on) or disabled (off). This is only relevant for SETTINGS_CHANGED events and ignored
otherwise. Refer to section 4.16.15 Requests associated with event SETTINGS_CHANGED for details.

4.16.2 Return Value


The return value is dependent on the request type. Refer to each sub-section below for details.

4.16.3 Errors
ILLEGAL_ARGUMENT If specified request ID does not exist. This also includes calling the request
command with an expired request number.

4.16.4 Examples
For details, refer to examples provided in the following subsections.
PDS-062489 Rev 1.6 Page 81 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.16.5 Requests associated with background commands
Reminder: The REQUEST_COMPLETE event indicates the completion of a background command.
Once a request completes, the return type is as documented for a background command.
If the request is called before the request completes, without first checking for REQUEST_COMPLETE event
type, the request command responds with status PROCESSING and the same request ID as the one specified
when calling the request.
4.16.5.1 Example
The examples below illustrate how the request command is used to confirm successful execution of a stop
command that was sent to a specific device to stop the native HDMI video stream (stream 0).
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "stop",
"subscription_type" : "HDMI",
"index" : 0,
"free" : false
}
HTTP/1.1 201 Created
Location: /api/request/85521

{
"status" : "PROCESSING",
"request_id" : 85521,
"result" : null,
"error" : null
}
GET /api/event?lastseen=85528 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : null,
"event_id" : 85529,
"event_type" : "REQUEST_COMPLETE",
"timestamp" : 1462902262,
"request_id" : 85521
}
]
},
PDS-062489 Rev 1.6 Page 82 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"error" : null
}
GET /api/request/85521 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : 85521,
"result" : {
"devices" : [
{
"device_id" : "001ec0f03668",
...
}
],
"error" : []
},
"error" : null
}

4.16.6 Requests associated with event CEC_RECEIVED


Reminder: The CEC_RECEIVED event indicates that Consumer Electronics Control (CEC) data was received
by a specific device.
{
"cec" : [CECDataObject, ...]
}
Table 47: CEC object array

Member name Since Type Description


cec 3.0 Array of CECDataObject Array of CEC data objects, described below
The CECDataObject includes two strings:
1. One string representing the device that the CEC data was received from.
2. In addition, a second that contains the CEC data itself.
{
"device_id" : String,
"cec_data" : String
}
Table 48: CEC object members

Member name Since Type Description


device_id 3.0 String Device ID of the device from which the data was received
cec_data 3.0 String Hexadecimal string that represents the received CEC data.

PDS-062489 Rev 1.6 Page 83 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.16.6.1 Example
event 85750
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : "001ec0f04d9c",
"event_id" : 85752,
"event_type" : "CEC_RECEIVED",
"timestamp" : 1462903915,
"request_id" : 85744
}
]
},
"error" : null
}
request 85744
{
"status" : "SUCCESS",
"request_id" : 85744,
"result" : {
"cec" : [
{
"device_id" : "001ec0f04d9c",
"cec_data" : "4f36"
}
],
"error" : []
},
"error" : null
}

4.16.7 Requests associated with event DEVICE_CONNECTED


Reminder: The DEVICE_CONNECTED event indicates that a new device has joined the network.
Basic device information is returned. The format is identical to the output of the “get hello” command
called on the device associated with the DEVICE_CONNECTED event.

4.16.8 Requests associated with event DEVICE_DISCONNECTED


Reminder: The DEVICE_DISCONNECTED event indicates that a device has left the network.
Basic device information is returned. The format is identical to the output of the “get hello” command
called on the device associated with the DEVICE_ DISCONNECTED event.

PDS-062489 Rev 1.6 Page 84 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.16.9 Requests associated with event DEVICE_INFO_AVAILABLE
Reminder: The DEVICE_INFO_AVAILABLE event indicates that device information is available for a newly
discovered device.
Device information of a newly connected device is returned. The format is identical to the output of the “get
device” command called on a device associated with the DEVICE_INFO_AVAILABLE event.

4.16.10 Requests associated with event FIRMWARE_UPDATE_PROGRESS


Reminder: The FIRMWARE_UPDATE_PROGRESS event indicates that a firmware update is in progress.
Information associated with this event can be used to report progress information to the client software, for
example display a progress bar.
4.16.10.1 Return Value
{
"update_progress" : [UpdateProgressObject, ...]
}
Table 49: update progress object array

Member name Since Type Description


update_progress 3.0 Array of UpdateProgressObject Array of firmware update progress objects,
described below.
The UpdateProgressObject includes the following:
{
"device_id" : String,
"progress" : Integer,
"total" : Integer
}
Table 50: update progress object members

Member name Since Type Description


device_id 3.0 String Device ID of the device from which the data was received
Progress 3.0 Integer Number of progress units accomplished so far. These units arbitrary and
subject to change: they are only meaningful relative to value of total member.
Total 3.0 Integer The number of progress units for the whole operation
4.16.10.2 Example
event 22128
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : "001ec0f04d9c",
"event_id" : 22129,
"event_type" : "FIRMWARE_UPDATE_PROGRESS",
PDS-062489 Rev 1.6 Page 85 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"timestamp" : 1462471715,
"request_id" : 22150
}
]
},
"error" : null
}
request 22150
{
"status" : "SUCCESS",
"request_id" : 22150,
"result" : {
"update_progress" : [
{
"device_id" : "001ec0f04d9c",
"progress" : 3603552,
"total" : 8643204
}
],
"error" : []
},
"error" : null
}

4.16.11 Requests associated with event I2C


Reminder: The I2C event indicates that an I2C bus master, such as an external microcontroller, has
generated an event through the I2C interface.
4.16.11.1 Return Value
{
"i2c_event" : [I2CEventObject, ...]
}
Table 51: I2C data object array

Member name Since Type Description


i2c_event 3.0 Array of I2CEventObject Array of I2C event objects, described below.
The I2CDataObject includes two strings:
1. One string that represents the device that the I2C data was received from.
2. The second string contains the I2C data itself.
{
"device_id" : String,
"event_source" : Integer
}

PDS-062489 Rev 1.6 Page 86 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 52: I2C data object members

Member name Since Type Description


device_id 3.0 String Device ID of the device from which the data was received.
event_source 3.0 Integer Number of event source. This number specified by the I2C bus master
generating the event. Event sources 0 to 7 currently supported.
Recommended event source 0 be reserved for a feature that allows a
device to be identified.
For example, a user physically presses a button on a device that then
triggers it to be highlighted in the client interface. The semantics of other
event sources is product-specific.
Recommended practices:
• If product implements an “identify device” feature as described above,
use event source 0 for that purpose.
• If product does not implement an “identify device” feature, do not use
event source 0.
• Except for event source 0, software should not interpret I2C events
unless it is for a recognized device type, basing that decision on the
device’s vendor ID and product ID.
4.16.11.2 Example
event 1233
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : "001ec0f03668",
"event_id" : 1234,
"event_type" : "I2C",
"timestamp" : 1462903093,
"request_id" : 1300
}
]
},
"error" : null
}

request 1300
update progress object array
{
"status" : "SUCCESS",
"request_id" : 1300,
"result" : {
"i2c_event" : [
{
"device_id" : "001ec0f03668",
"event_source" : 4
PDS-062489 Rev 1.6 Page 87 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
],
"error" : []
},
"error" : null
}

4.16.12 Requests associated with event INFRARED_RECEIVED


Reminder: The INFRARED_RECEIVED event indicates Infrared data has been received by a specific device.
4.16.12.1 Return Value
{
"infrared" : [IRDataObject, ...]
}
Table 53:Infrared (IR) object array

Member name Since Type Description


Infrared 3.0 Array of IRDataObject Array of infrared data objects, described below
The IRDataObject includes two strings:
1. One string represents the device that the infrared (IR) data was received from.
2. The other contains the IR data itself.
{
"device_id" : String,
"infrared_data" : String
}
Table 54: Infrared (IR) object members

Member name Since Type Description


device_id 3.0 String Device ID of the device from which the data was received
infrared_data 3.0 String Hexadecimal string which represent the received Pronto code.
4.16.12.2 Example
event 85609
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : "001ec0f03668",
"event_id" : 85611,
"event_type" : "INFRARED_RECEIVED",
"timestamp" : 1462903093,
"request_id" : 85604
}
]
},

PDS-062489 Rev 1.6 Page 88 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"error" : null
}
request 85604
{
"status" : "SUCCESS",
"request_id" : 85604,
"result" : {
"infrared" : [
{
"device_id" : "001ec0f03668",
"infrared_data" :
"0000006d0000002700ac00a90016000f0016000f001500100015001
00014001100140037001500100014001100150010001500100015001
00015001000150010001500100014001100150010001400a90015003
60015003600140037001500100015003600150036001500100015003
6001500100016000f001500100016000f00150010001500100015003
60016000f001500360015003600150036001400370015017c"
}
],
"error" : []
},
"error" : null
}

4.16.13 Request associated with event MULTIVIEW_CHANGED


4.16.13.1 Return Value
The MVDataObject includes a string that represents the device that the MV data was received from and
details of the layout currently loaded. The tables provided below outline details of the data returned.
“devices” : [
{
“device_id” : String,
“status” : {
“active” : Boolean
},
“nodes” : [
{
“type” : “FRAME_BUFFER”,
“index” : 0,
“configuration” : {
“display_mode” : “MULTIVIEW”,
“multiview_layout” : MVLayoutObject
}
}
]
}
]

PDS-062489 Rev 1.6 Page 89 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 55: MVLayout Objects

Member name Since Type Description


name 3.0 String Layout name
Width 3.0 Integer Layout width
Height 3.0 Integer Layout height
read_only 3.0 Boolean If layout is read-only
Surfaces 3.0 Array of SurfaceObject Layout surfaces
Windows 3.0 Array of WindowObject Layout windows
Table 56: Surface Objects

Member name Since Type Description


Index 3.0 Integer Surface index
horizontal_position 3.0 Integer Surface horizontal position
vertical_position 3.0 Integer Surface vertical position
Width 3.0 Integer Surface width
Height 3.0 Integer Surface height
Table 57: Multiview Object Array

Member name Since Type Description


Index 3.0 Integer Window index
horizontal_position 3.0 Integer Window horizontal position
vertical_position 3.0 Integer Window vertical position
Width 3.0 Integer Window width
Height 3.0 Integer Window height
horizontal_offset 3.0 Integer Window horizontal offset
vertical_offset 3.0 Integer Window vertical offset
Content 3.0 String Type of content, example “VIDEO”
target_surface 3.0 Integer Window target surface index
4.16.13.2 Example
Example of the event generated for a MULTIVIEW_CHANGED event.
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : "d8deadbeef07",
"event_id" : 69053,
"event_type" : " MULTIVIEW_CHANGED",
"timestamp" : 1638995235,
"request_id" : 123}
]
},
"error" : null
}

PDS-062489 Rev 1.6 Page 90 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
An example of the return for the above MULTIVIEW_CHANGED event is available at the end of this document
in the section Appendix: Non Get Command Output Examples.

4.16.14 Requests associated with event RS232_RECEIVED


4.16.14.1 Return Value
{
"rs232" : [RS232DataObject, ...]
}
Table 58: RS-232 object array

Member name Since Type Description


rs232 3.0 Array of RS232DataObject Array of RS-232 data objects, described below
The RS232DataObject includes two strings:
1. One string represents the device that the RS-232 data was received from.
2. The other contains the RS-232 data itself.
{
"device_id" : String,
"rs232_data" : String,
"stream_idx" : Integer
}
Table 59: RS-232 object members

Member name Since Type Description


device_id 3.0 String Device ID of the device from which the data was received
rs232_data 3.0 String ASCII string representation of RS-232 data.
The binary data is escaped using the following rules:
\b replaces the ASCII backspace character (hex. 08)
\f replaces the ASCII form feed (hex. 0c)
\n replaces the ASCII line feed (hex. 0a)
\r replaces the ASCII carriage return (hex. 0d)
\t replaces the ASCII tab character (hex. 09)
\\ replaces a single backslash (\) character
\xnn, where nn is the hexadecimal value (two hexadecimal digits) of the
character, replaces:
• All ASCII control characters (hex. 1f and below) not already
handled above;
• The ASCII DEL character (hex. 7f); and
• All non-ASCII characters (hex. 80 and above).
This is in addition to JSON escaping rules. Relevant JSON rules are as follows:
\” replaces a double quote
\\ replaces a single backslash (\) character
A JSON parser will handle JSON escaping rules, leaving only the first set of rules
to be handled.
stream_idx 3.0 Integer RS-232 port number that the data was sent from.
This is also the RS232 stream/subscription index.

PDS-062489 Rev 1.6 Page 91 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.16.14.2 Example
event 85750
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"events" : [
{
"device_id" : "001ec0f04d9c",
"event_id" : 85752,
"event_type" : "RS232_RECEIVED",
"timestamp" : 1462903915,
"request_id" : 85744
}
]
},
"error" : null
}
request 85744
{
"status" : "SUCCESS",
"request_id" : 85744,
"result" : {
"rs232" : [
{
"device_id" : "001ec0f04d9c",
"rs232_data" : "Hello",
"stream_idx" : 0
}
],
"error" : []
},
"error" : null
}

4.16.15 Requests associated with event SETTINGS_CHANGED


4.16.15.1 Return Value
The return value depends on whether reduced SETTINGS_CHANGED events are enabled or disabled. If
reduced SETTINGS_CHANGED events are disabled, the new settings are returned with a format identical to
the return value of the get settings command. Refer to section 4.7 Command get for details.
If reduced SETTINGS_CHANGED events are enabled, the format is the same but only the specified subset(s)
of nodes, streams and/or subscriptions are included, thereby reducing the amount of data to be parsed. The
subset definitions are in the table below.
TIP: Refer to the Introduction to the SDVoE API User Guide for more information on event types, tracking
device states and event buffering.

PDS-062489 Rev 1.6 Page 92 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 60: Settings Subsets

Subset Name Since Description


AUDIO 3.0 Includes the following stream and subscription types:
STEREO_AUDIO
MULTICH_AUDIO
Includes the following node types:
STEREO_AUDIO_INPUT_OUTPUT
STEREO_AUDIO_INPUT
STEREO_AUDIO_OUTPUT
MULTICH_AUDIO_INPUT
MULTICH_AUDIO_OUTPUT
CONTROL_DATA 3.0 RS-232, infrared and CEC configuration and status.
Includes the following stream and subscription types:
CEC
INFRARED
RS232
Includes the following node types:
CEC
INFRARED_DECODER
INFRARED_ENCODER
UART
GENERAL 3.0 SETTINGS_CHANGED event raised for this subset if one or more of the
following change:
Members of the device's configuration member:
Device name
Locate mode
Secure A/V
Members of the device's status member:
Point-to-Point
Update in progress
Error code
A SETTINGS_CHANGED event always includes above data regardless whether it
has changed or not.
HDMI_AUDIO 3.0 HDMI audio.
Includes the following stream types:
HDMI
HDMI_AUDIO
Includes the following subscription types:
HDMI_AUDIO
A SETTINGS_CHANGED event is raised for this subset if one of more of the
following changes:
• The remove_audio member of the HDMI stream.
• The audio_details and audio_details_extended are
members of the status member of HDMI_ENCODER.

PDS-062489 Rev 1.6 Page 93 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Subset Name Since Description
NETWORK 3.0 Network configuration and status, notably IP address and mode (DHCP versus
Static IP address). Includes the following node types:
NETWORK_INTERFACE
NETWORK_PORT
NETWORK_SWITCH
USB 3.0 USB configuration.
Includes the following stream and subscription types:
USB_HID
USB_ICRON
Includes the following node types:
USB_HID
USB_ICRON
VIDEO 3.0 Base video configuration and status.
Includes the following stream and subscription type, HDMI.
Includes the following node types:
FRAME_BUFFER
FRAME_RATE_CONVERTER
HDMI_DECODER
HDMI_ENCODER
HDMI_MONITOR
SCALER
VIDEO_COMPRESSOR
VIDEO_DECOMPRESSOR
VIDEO_INPUT
A SETTINGS_CHANGED event is not raised if only elements that changed are
the ones covered by HDMI_AUDIO or VIDEO_DETAILS.
VIDEO_DETAILS 3.0 Video format details.
Includes the following nodes:
HDMI_DECODER
HDMI_ENCODER
SETTINGS_CHANGES event raised only when specified parts of following
nodes change:
• The video_details member of the status member of HDMI_DECODER.
• The video_details member of the status member of HDMI_ENCODER.
VIDEO_MISC 3.0 Includes the following stream types:
THUMBNAIL
Includes the following node types:
BITMAP_OVERLAY
COLOR_GENERATOR
THUMBNAIL_GENERATOR

PDS-062489 Rev 1.6 Page 94 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.17 Command send
The send command has a set of sub-commands used to send data to one or more devices. There are three
types of data that can be sent, Consumer Electronics Control (CEC), Infrared (IR) and RS-232.

4.17.1 Command send cec


POST /api/device/{target}
{
"op" : "send:cec",
"port_index" : Integer (optional),
"data_hex" : String
}
Reminder: CEC option used to send Consumer Electronics Control (CEC) data to one or more devices.
4.17.1.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
For transceiver (TR) devices, the port_index is set to 0 for an input and 1 for an output. When the device is a
transmitter or receiver, the port_index is set to 0. When the device is a transceiver configured in either
transmitter or receiver device mode, the port_index must also be set to 0. If port index is not specified, the
default value is 0.
The data_hex argument is a hexadecimal string that represents the CEC data.
4.17.1.2 Return Value
For each device targeted by the send cec command, there is either an entry in the send_cec array when
the data sent successfully or a device error object in the error array if the operation failed.
{
"send_cec" : [SendCECObject, ...],
"error" : [DeviceError, ...]
}
Table 61: CEC object array

Member name Since Type Description


send_cec 3.0 Array of Aarray of objects representing devices for which
SendInfraredObject request succeeded.
error 3.0 Array of DeviceError An array of DeviceError objects indicating devices for which
the command failed and the reason for failure
The SendCECObject object has the following structure:
{
"device_id" : String
}
PDS-062489 Rev 1.6 Page 95 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 62: CEC object members

Member name Since Type Description


device_id 3.0 String Device ID
Refer to the Introduction to the SDVoE API User Guide for details on the device error object (DeviceError).
4.17.1.3 Errors
ILLEGAL_ARGUMENT Returned if target argument is not a valid device ID or group name.
ILLEGAL_ARGUMENT Also returned if the data is not in the format described above.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned if the device does not support CEC.
4.17.1.4 Example
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "send:cec",
"data_hex" : "0f36"
}
HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"send_cec" : [
{
"device_id" : "001ec0f03668"
}
],
"error" : []
},
"error" : null
}

4.17.2 Command send infrared


POST /api/device/{target}
{
"op" : "send:infrared",
"data_hex" : String
}
Reminder: Send infrared remote-control data to one or more devices.

PDS-062489 Rev 1.6 Page 96 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.17.2.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The data_hex argument is a hexadecimal string representing the Pronto infrared code to be sent. The length
of this string must be a multiple of four bytes (example, eight hexadecimal characters) and at most 1032 bytes
(example, 2064 hexadecimal characters or 256 Pronto burst pairs).
Note: Depending on firmware version, some devices support a maximum code length of 512 bytes. Refer to
data_length_max member in section 6.8.16.2 Status to determine if this applies.
4.17.2.2 Return Value
For each device targeted by this command, there is either an entry in the send_infrared array if the data
sent successfully or a device error object in the error array if the operation failed.
{
"send_infrared" : [SendInfraredObject, ...],
"error" : [DeviceError, ...]
}
Table 63: Infrared (IR) object array

Member name Since Type Description


send_infrared 3.0 Array of Array of objects representing devices for which the
SendInfraredObject request succeeded.
Error 3.0 Array of DeviceError Array of DeviceError objects indicating devices the command
failed for and reason why it failed
The SendInfraredObject object has the following structure:
{
"device_id" : String
}
Table 64: Infrared (IR) object members

Member name Since Type Description


device_id 3.0 String Device ID
Refer to the Introduction to the SDVoE API User Guide for details on the device error object (DeviceError).
Note: Prior to API 2.2, the return value for this command was null.
4.17.2.3 Errors
ILLEGAL_ARGUMENT Returned if target argument is not a valid device ID or group name.
ILLEGAL_ARGUMENT Also returned if the data is not in the format described above.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned when a device does not have an infrared output.

PDS-062489 Rev 1.6 Page 97 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.17.2.4 Example
POST /api/device/010203040506 HTTP/1.1

{
"op" : "send:infrared",
"data_hex" :
"0000006d00220002015700ab00160015001600150016003f001600150016001
50016001500160015001600150016003f0016003f001600150016003f0016003
f0016003f0016003f0016003f0016003f0016003f00160015001600150016001
500160015001600150016001500160015001600150016003f0016003f0016003
f0016003f0016003f0016003f001605f30156005500160e4d"
}
HTTP/1.1 200 OK
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"send_infrared" : [
{
"device_id" : "001ec0f03668"
}
],
"error" : []
},
"error" : null
}

4.17.3 Command send rs232


POST /api/device/{target}
{
"op" : "send:rs232",
"port_index" : Integer (optional),
"data_string" : String
}
Reminder: Send RS-232 data to one or more devices.
4.17.3.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The optional port_index argument is the RS-232 port number. If omitted, the default value for port is 0. Not
all devices support multiple RS-232 ports.

PDS-062489 Rev 1.6 Page 98 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
The data_string argument is a printable ASCII text string.
Notes:
i. This string must be escaped if it contains ASCII control characters or non-ASCII byte values.
ii. Space characters must also be escaped.
iii. These escaping rules are in addition to the JSON escape requirements. JSON escape sequences are
typically generated automatically by the JSON Serializer and are transparent to the application.
The following escape sequences are recognized:
\0 null character
\n line feed
\r carriage return
\t horizontal tab
\xnn (where nn are two hexadecimal characters) hexadecimal representation of byte
\\ single backslash
\(space) space character
4.17.3.2 Return Value
For each device targeted by the send rs232 command, there is either an entry in the send_rs232 array if the
data was sent successfully or a device error object in the error array if the operation failed.
{
"send_rs232" : [SendRs232Object, ...],
"error" : [DeviceError, ...]
}
Table 65: send rs232 object array

Member name Since Type Description


send_rs232 3.0 Array of SendRS232Object Array of objects representing devices for which the
request succeeded.
Error 3.0 Array of DeviceError Array of objects indicating devices that returned an error
and the reason for the failure
The SendRs232Object object has the following structure:
{
"device_id" : String
}
Table 66: send rs232 object members

Member name Since Type Description


device_id 3.0 String Device ID
Refer to the Introduction to the SDVoE API User Guide for details on the device error object (DeviceError).

PDS-062489 Rev 1.6 Page 99 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.17.3.3 Errors
ILLEGAL_ARGUMENT Returned when target argument is not valid device ID or group name.
ILLEGAL_ARGUMENT Also returned if the data is not in the format described above.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned when device does not have a RS-232 port number specified.
4.17.3.4 Example
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "send:rs232",
"port_index" : 2,
"data_string" : "Hello\\ World!\\r\\n"
}
HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"send_rs232" : [
{
"device_id" : "001ec0f03668"
}
],
"error" : []
},
"error" : null
}

4.18 Command set


The set command provides a series of sub-commands to individually manage multiple options. This section
reviews each sub-command including their purpose, command syntax, arguments and examples.

4.18.1 Command set edid


POST /api/device/{target}
{
"op" : "set:edid",
"data_hex" : String
}
Reminder: set edid option used to set the EDID of one or more transmitter devices.

PDS-062489 Rev 1.6 Page 100 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.1.1 Arguments
The target argument must be either the device ID of a single transmitter or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
The data argument is a hexadecimal string representing the binary data to be set. It must be 512 hexadecimal
characters (example, length must be 256 bytes). Since data is representing an EDID, the string must start with
“00ffffffffffff00”, this is, bytes 00 ff ff ff ff ff ff 00, which represent the EDID header.
4.18.1.2 Return Value
The return value is the same as if the “get edid” command is called on the same target right after new
settings are applied. Refer to section 4.7 Command get for details.
4.18.1.3 Errors
ILLEGAL_ARGUMENT Returned when target argument is not a valid device ID or group name.
ILLEGAL_ARGUMENT In addition, returned if the data argument is not the proper length.
ILLEGAL_ARGUMENT Also, returned if data argument does not begin with valid EDID header.
4.18.1.4 Example
POST /api/device/001ec0f03668 HTTP/1.1
{
"op" : "set:edid",
"data_hex" :
"00ffffffffffff00410c2fc0c52d00000c140103802f1a782e3585a656489a241
250542f6f00714f8180818a9500950fb3000101d1c0023a801871382d40582c450
0dc0c1100001e000000ff0041553531303132303131373137000000fd00384c1e5
315000a202020202020000000fc005068696c69707320323231450a01b602031ef
04b100501020304061213141f230907078301000065030c001100023a801871382
d40582c4500dc0c1100001e8c0ad08a20e02d10103e9600dc0c11000018011d007
251d01e206e285500dc0c1100001e8c0ad090204031200c405500dc0c110000180
0000000000000000000000000000000000000000000000000ac"
}
HTTP/1.1 201 Created
Location: /api/request/57

{
"status" : "PROCESSING",
"request_id" : 57,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 101 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.2 Command set ip
For DHCP IP mode:
POST /api/device/{target}
{
"op" : "set:ip:dhcp"
}
For AUTO_IP mode:
POST /api/device/{target}
{
"op" : "set:ip:auto_ip"
}
For STATIC (MANUAL) IP mode:
POST /api/device/{target}
{
"op" : "set:ip:static",
"address" : String (conditional),
“icron_address" : String (optional),
"mask" : String (conditional),
"gateway" : String (conditional)
}
Reminder: set ip is used to set the Internet Protocol (IP) configuration of the primary network interface of
a target device, as well as the Icron network interface (when appropriate).
4.18.2.1 Arguments
The target argument must be the device ID of a single device.
In an API request the mode is implicit from the op argument:
DHCP set:ip:dhcp
Sets the device to DHCP/Auto-IP mode. If DHCP server is not present, then the Auto IP
mechanism is used to assign an address.
AUTO_IP set:ip:auto_ip
This is the Force Auto-IP mode, when selected Auto IP mechanism implements Automatic
IP assignment, whether a DHCP server is present or not. This is not the recommended
mode, should be implemented with caution. Not applied to the Icron IC, if present.
Note, also only supported for BlueRiver ASIC devices, not available for NT1000/NT2000.
MANUAL set:ip:static
Configure the IP settings manually.
If the mode is set to MANUAL, the address, mask and gateway arguments must be specified.
• The address argument is the IP address of the BlueRiver chipset.
• The icron_address argument is the IP address of the Icron module.
• The mask argument is the subnet mask.
• The gateway argument is the IP address of the default network gateway.

PDS-062489 Rev 1.6 Page 102 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Regarding the IP address arguments, if only the icron_address address is specified, since the BlueRiver
address is required an error is returned indicating the missing data. If both fields are specified but the
ICRON_USB node shows the chip_present as false, the icron_address is ignored.
If mode is set to either DHCP or AUTO_IP these arguments are not specified.
4.18.2.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.2.3 Errors
ILLEGAL_ARGUMENT Occurs if the specified target argument not valid device ID or group name.
ILLEGAL_ARGUMENT Occurs if the specified target argument does not support Auto_IP mode and
it was specified as the IP mode.
4.18.2.4 Examples
Example of setting a device to DHCP mode:
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "set:ip:dhcp"
}
HTTP/1.1 201 Created
Location: /api/request/58

{
"status" : "PROCESSING",
"request_id" : 58,
"result" : null,
"error" : null
}
Example of setting device manually, specifying a static IP address and associated network settings:
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "set:ip:static",
"address" : "10.1.1.5",
“icron_address" : “10.1.1.6”,
"mask" : "255.255.255.0",
"gateway" : "10.1.1.1"
}
HTTP/1.1 201 Created
Location: /api/request/59

PDS-062489 Rev 1.6 Page 103 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "PROCESSING",
"request_id" : 59,
"result" : null,
"error" : null
}

4.18.3 Command bitmap overlay


POST /api/device/{target}
{
"op" : "set:overlay:on",
"horiz_position" : Integer (conditional),
"vert_position" : Integer (conditional),
"scaling_factor" : Integer (optional),
"fg_color" : String (conditional),
"bg_color" : String (conditional),
"fg_transparency" : Integer (conditional),
"bg_transparency " : Integer (conditional),
"bmp_hex" : String (optional),
"invert" : Boolean (conditional)
}
POST /api/device/{target}

{
"op" : "set:overlay:off"
}
Two forms of the command are supported with the first being used to enable and configure the bitmap overlay
of a device and the second form disables the overlay. A bitmap overlay is supported on the scaler video stream
of a transmitter device, such as HDMI stream 1 and on the HDMI output of a receiver device.
TIP: For details on the use and configuration of the Bitmap Overlay feature, refer to the API Developers
Application Note Library, specifically the section “Bitmap Overlay” section.
Important to note that this command is only applicable to BlueRiver NT2000 endpoint devices and that include
the AV Processor.
Notes:
i. Refer to the following sources for information about the BMP file format:
Bitmaps: https://docs.microsoft.com/en-ca/windows/desktop/gdi/bitmaps
BMP file format: https://en.wikipedia.org/wiki/BMP_file_format
ii. If the overlay bitmap is generated “on-the-fly”, such as by by a text generator, instead of loading from
an actual BMP file, the BITMAPCOREHEADER variant of the file format is recommended, as it is the
simplest to implement.

PDS-062489 Rev 1.6 Page 104 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.3.1 Arguments:
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are the following:
ALL All devices
ALL_RX All receiver devices
ALL_TX All transmitter devices
WARNING! Many of the following arguments are optional and the corresponding parameters are left
unchanged if omitted. This allows disabling and re-enabling the overlay without having to
re-specify the full configuration.
However, a complete configuration must be set by specifying all arguments the first time the
overlay is enabled on a given device. The API does not report an error if this requirement is not
followed. Important to note, failing to initially apply a complete configuration will lead to
undefined behaviour.
The horiz_position and vert_position arguments respectively specify the horizontal and vertical
position of the overlay, in pixels. This is the position of the top-left corner of the overlay relative to the top-left
corner of the picture. If either of these arguments are specified, both must be. If these parameters are omitted,
then they are left unchanged from the previous call of this command on the target device.
The scaling_factor argument specifies the factor by which the overlay bitmap is to be scaled before being
overlaid. This argument can be 1 (no scaling), 2 or 4. Scaling is performed by simple pixel replication. If
omitted, the scaling factor remains unchanged.
The fg_color and bg_color arguments respectively specify the foreground and background colors. Each
must be a string with format RRGGBB where each of RR, GG and BB is a pair of hexadecimal digits, respectively
representing the 8-bit value of the red, green and blue components of the specified colour. If either are
specified, then both must be. If omitted, these parameters are left unchanged.
The fg_transparency and bg_transparency arguments respectively specify the level of transparency
of the foreground and background of the overlay. Each is an integer between 0 (completely opaque) and 100
(completely transparent). If either is specified, then both must be. If omitted, these parameters are unchanged.
The bmp_hex argument is a monochrome, that is a one-bit per pixel, bitmap file in BMP format encoded as a
hexadecimal string. The size of the overlay bitmap is implicit from this argument. This argument is optional. If
not specified the bitmap remains unchanged, which is useful for disabling/re-enabling or repositioning the
overlay without reloading the bitmap.
If the the invert Boolean argument is set to true, the colors are inverted when interpreting the source
bitmap file such that white becomes the background and black becomes the foreground. Otherwise, the default
is applied, that is black or the darkest colour is the background and white or lightest colour is the foreground.
Note: In an API request, the invert argument is specified when the bmp_hex argument is and is not
specified if the bmp_hex is not..
The picture size and the overlay position (horiz_position and vert_position arguments), bitmap size
and scaling factor (scaling_factor argument) must be such that the overlay is at least partially within the
picture. In this context, the picture size refers to either:
• The output resolution for a receiver device; or
• The scaler resolution (HDMI stream 1) for a transmitter device.
PDS-062489 Rev 1.6 Page 105 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.3.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.3.3 Errors
The command may fail for the following reasons:
ILLEGAL_ARGUMENT Occurs when any of the argument values entered are invalid.
ILLEGAL_ARGUMENT Occurs when the bmp_hex argument does not represent a valid
monochrome BMP bitmap file.
The command may also fail for individual devices for the following reasons:
DEVICE_TYPE Occurs if the device does not support a bitmap overlay.
DEVICE_TYPE Occurs if the device is a transmitter and does not have a scaler video stream.
INVALID_STATE Occurs if the device is a transmitter and its scaler resolution has not been set.
INVALID_STATE Occurs if the overlay is positioned outside the picture.
4.18.3.4 Examples
POST /api/device/d80102030405 HTTP/1.1

{
"op" : "set:overlay:on",
"horiz_position" : 320,
"vert_position" : 200,
"scaling_factor" : 2,
"fg_color" : "00695B",
"bg_color" : "000000",
"fg_transparency" : 0),
"bg_transparency" : 70,
"bmp_hex" : "424d6216000000000000820000…fffffff000000",
"invert" : false
}
HTTP/1.1 201 Created
Location: /api/request/123

{
"status" : "PROCESSING",
"request_id" : 123,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 106 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
POST /api/device/d80102030405 HTTP/1.1

{
"op" : "set:overlay:on"
}
HTTP/1.1 201 Created
Location: /api/request/124

{
"status" : "PROCESSING",
"request_id" : 124,
"result" : null,
"error" : null
}

POST /api/device/d80102030405 HTTP/1.1



{
"op" : "set:overlay:off"
}
HTTP/1.1 201 Created
Location: /api/request/125

{
"status" : "PROCESSING",
"request_id" : 125,
"result" : null,
"error" : null
}

4.18.4 Command set property


POST /api/device/{target}
{
"op" : "set:property",
"key" : “String”,
"value" : Varies
}
Reminder: The set property option is used to set a configuration property for one or more devices.
The table below lists the available configurable device, stream and nodes properties, as well as supplies a link to
the section containing details about the key and valuesettings.

PDS-062489 Rev 1.6 Page 107 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 67: List of Configurable Properties

Property Section
Device Configuration 7.1 Device Configuration
Stream Configuration 7.2 Stream Configuration
Configurable Nodes
Stereo Audio Input/Output 7.3 Stereo Audio Input/Output Node Configuration
Stereo Audio Output 7.4 Stereo Audio Output Node Configuration
CEC 7.5 CEC Node Configuration
Color Generator 7.6 Color Generator Node Configuration
Frame Buffer 7.7 Frame Buffer Node Configuration
HDMI Audio 7.8 HDMI Audio Node Configuration
HDMI Decoder 7.9 HDMI Decoder Node Configuration
HDMI Encoder 7.10 HDMI Encoder Node Configuration
Multi Channel Input 7.11 Multi Channel Audio Input Node Configuration
Multi Channel Output 7.12 Multi Channel Audio Output Node Configuration
Network Port 7.13 Network Port Node Configuration
Network Switch 7.14 Network Switch Node Configuration
Scaler 7.15 Scaler Node Configuration
UART 7.16 UART Node Configuration
Icron 7.17 Icron USB Extender Node Configuration
Video Compressor 7.18 Video Compressor Node Configuration
Video Decompressor 7.19 Video Decompressor Node Configuration
For more information on configuration properties and a list of configurable device properties, refer to section 7
Configurable Device Properties.
4.18.4.1 Arguments
The target argument varies depending on the specific property being configured, but it is always either the
device ID of a single device or the name of one of the following device groups:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
Refer to the specific property of interest for more details on the supported targets for the configurable property;
links are included in the table above.
The key argument identifies a configurable property of a device and the value argument is a value of a type
appropriate for that property.
The key argument is a path referring to an object member inside the device object, starting at the root of the
device object. Refer to section 6 Device Object Definition (DeviceObject) for more details on device objects.
There are some syntax rules that need to be considered for the key argument, they are as follows:
• The key starts with the name of one of the members of the device object.
• Object members are accessed by appending a period (.) followed by the member name.
• Array elements are accessed by appending an array selector between square brackets ([ and ]).

PDS-062489 Rev 1.6 Page 108 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
• An array selector is a name and an index separated by a colon. Example, [name:3].
o The array must be an array of objects, that is each element is an object.
o The matched element is one with a member named “type” or “name” (checked in that order)
matching the provided name and member named “index” that matches the provided index.
4.18.4.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.4.3 Errors
ILLEGAL_ARGUMENT If target argument entered is not a valid device ID or group name.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE Returned if the property being set or the chosen value for that property is
not supported by the device.
4.18.4.4 Example
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "set:property",
"key" :
"nodes[STEREO_AUDIO_OUTPUT:0].inputs[main:0].configuration.sourc
e.value",
"value" : 3
}
HTTP/1.1 201 Created
Location: /api/request/60

{
"status" : "PROCESSING",
"request_id" : 60,
"result" : null,
"error" : null
}
TIP: In regards to quotes, when the value is not a boolean or number, it must be double-quoted.

4.18.5 Command set scaler


POST /api/device/{target}
{
"op" : "set:scaler",
"width" : Integer,
"height" : Integer
}

PDS-062489 Rev 1.6 Page 109 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Reminders:
i. Used to set the scaler video resolution of one or more transmitter devices.
ii. This command was introduced in API version 3.0.
iii. To use this command, the scaler resolution must be set before starting a scaled video stream.
4.18.5.1 Arguments
The target argument must be either the device ID of a single transmitter device or the name of a
device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
The width and height arguments respectively specify the width and height of the scaled video, in pixels.
4.18.5.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.5.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid.
4.18.5.4 Example
POST /api/device/010203040506
{
"op" : "set:scaler",
"width" : 1920,
"height" : 1080
}
HTTP/1.1 201 Created
Location: /api/request/42

{
"status" : "PROCESSING",
"request_id" : 42,
"result" : null,
"error" : null
}

4.18.6 Command set secure_av


POST /api/device/{target}
{
"op" : "set:secure_av",
"default" : Boolean,
"key" : String (conditional)
}

PDS-062489 Rev 1.6 Page 110 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Reminder: The secure av key command is used to set a secure key for the specified device.
Note: The value entered for the secure av key is applied when the AES128 encryption is
applied to the HDMI video and HDMI audio streams during transmission.
4.18.6.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
If default argument true, the key reverts to its default. In this case, a key argument must not be specified.
If default argument is false, then key argument is required.
The key argument specifies a user defined key, it must be a string of exactly eight (8) non-control ASCII
characters (ASCII code range 32 to 126 inclusive).
4.18.6.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.6.3 Errors
ILLEGAL_ARGUMENT Occurs if the target argument entered is not a valid device ID (including if it
is a group name).
4.18.6.4 Example
The example shown sets a manual key that in turn is used to when the HDMI AV streams are encytped for
transmission between endpoint devices.
POST /api/device/d88039e7fa53 HTTP/1.1

{
"op" : "set:secure_av",
"default" : false,
"key" : "4A4nVbQK"
}
HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"secure_av" : [
{
"device_id" : "d88039e7fa53"
}
],
"error" : []
},

PDS-062489 Rev 1.6 Page 111 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"error" : null
}
POST /api/device/d88039e7fa53 HTTP/1.1

{
"op" : "set:secure_av",
"default" : true
}
HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"secure_av" : [
{
"device_id" : "d88039e7fa53"
}
],
"error" : []
},
"error" : null
}

4.18.7 Command set security_key


POST /api/device/{target}
{
"op": "set:security_key",
"module": "usb",
"key_type": "DEFAULT"
}

POST /api/device/{target}
{
"op": "set:security_key",
"module": "usb",
"key_type": "CUSTOM",
"key_phrase": "<custom encryption phrase key>"
}
Reminder: The security_key command is used to configure the encryption key for USB-HID IP
communication for the specified device(s). This API command is only applicable to endpoint
devices based on the BlueRiver ASIC series, not applicable to NT1000/NT2000 devices.

PDS-062489 Rev 1.6 Page 112 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.7.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The target argument varies depending on the specific property being configured, but it is always either the
device ID of a single device or the name of one of the following device groups:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
If DEFAULT argument default, encryption is activated using the default key. If this argument is custom,
then encryption is activated using custom (user defined) key.
The key_type argument sets the source of the encyption to be implemented by the endpoint device, it can be
either DEFAULT or CUSTOM, were:
DEFAULT USB-HID IP communication encryption uses default encryption key.
CUSTOM USB-HID IP communication encryption uses custom (user provided) encryption key. This
command must be followed by the custom key phrase (24 to 64 characters), no space
and no special characters. Using a random string is a good choice.
Refer to the SDVoE Control Server Administrators Guide for details on the API server configuration.
4.18.7.2 Return Value
The return value is the same as if the “get settings” command had been called on the same target right
after the new settings were applied. Refer to section 4.7 Command get for details.
4.18.7.3 Errors
ILLEGAL_ARGUMENT Occurs if the target argument entered is not a valid device ID (including if it
is a group name).
The request may fail for individual devices for the following reasons:
DEVICE_TYPE Occurs if the device does not support USB extension.
INVALID_STATE Occurs if the communication is not secured between the API and the device
CONFIGURATION Occurs if the default key is requested, but this key is not configured in the
API configuration file. Refer to the SDVoE Control Server Administrators
Guide for more information.
4.18.7.4 Example
POST /api/device/d88039e7fa53
{
"op": "set:security_key",
"module": "usb",
"key_type": "DEFAULT"
}
HTTP/1.1 200 OK

{
"status": "PROCESSING",
"request_id": 465,
PDS-062489 Rev 1.6 Page 113 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"result": null,
"error": null
}

POST /api/device/d88039e7fa53
{
"op": "set:security_key",
"module": "usb",
"key_type": "CUSTOM",
"key_phrase": "7fwdXVqxYypkkvpN8HCF63Nd"
}
{
"status": "PROCESSING",
"request_id": 466,
"result": null,
"error": null
}

4.18.8 Command set thumbnail


POST /api/device/{target}
{
"op" : "set:thumbnail",
"fps" : Real or String,
"ssrc" : Integer,
"udp" : Integer (optional)
}
Configure the thumbnail generator of a BlueRiver NT1000 or NT2000 endpoint device. This is necessary before
the THUMBNAIL stream can be started.
Reminder: Available only to NT1000/NT2000 endpoint devices, not applicable to the BlueRiver ASIC series.
IMPORTANT CUSTOMER NOTICE
It is your responsibility to comply with all laws, rules, and regulations applicable to the operation of this product,
including the processing and distribution of electronic content and, if you use Semtech’s thumbnail preview
feature, the display of such content in a thumbnail format viewable on a monitor.
You are responsible for entering into, performing, and obtaining any necessary authorizations with content
providers whose electronic content you opt to process, distribute or display. All interaction between you and
third parties providing electronic content or other third-party products or services is between you and the third
party. Semtech assumes no liability for any of your activities involving your use of this product for the
processing, distribution or display of third-party electronic content. IN NO EVENT SHALL SEMTECH BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR
ARISING OUT OF THE USE OF THIS PRODUCT REGARDLESS OF WHETHER SEMTECH WAS ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
Rev. 042019

PDS-062489 Rev 1.6 Page 114 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.8.1 Arguments
The target argument must be the device ID of a single transmitter device or the following device group name:
ALL_TX for all transmitter devices
The fps argument specifies the maximum frame rate of the thumbnail stream in frames per second.
The ssrc argument is a 32-bit integer (range 0..4294967295) that represents the RTP synchronization source
(SSRC) identifier. This value must be unique within an RTP session, refer to the RFC-3550, section 8 for details.
The port argument is the destination UDP port number. If this argument is omitted, the default port number
6972 is used.
4.18.8.2 Return Value
The return value is the same as if the “get settings” command had been called on the same target right
after the new settings were applied. Refer to section 4.7 Command get for details.
4.18.8.3 Errors
The command may fail for the following reasons:
ILLEGAL_ARGUMENT if any argument is invalid (type, range, etc.).
The command may also fail for individual devices for the following reasons:
DEVICE_TYPE if the device does not support a thumbnail stream.
4.18.8.4 Examples
POST /api/device/d88001020405 HTTP/1.1

{
"op" : "set:thumbnail",
"fps" : 0.5,
"ssrc" : 12236,
"udp" : 20000
}
HTTP/1.1 201 Created
Location: /api/request/13133

{
"status" : "PROCESSING",
"request_id" : 13133,
"result" : null,
"error" : null
}

POST /api/device/d88001020405 HTTP/1.1



{
"op" : "set:thumbnail",
"fps" : "60m",

PDS-062489 Rev 1.6 Page 115 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"ssrc" : 12236
}
HTTP/1.1 201 Created
Location: /api/request/13134

{
"status" : "PROCESSING",
"request_id" : 13134,
"result" : null,
"error" : null
}

4.18.9 Command set usb


POST /api/device/{target}
{
"op" : "set:usb",
"role" : String (optional)
"security” : {
"level" : “security_level_value” (optional)
}
}
Reminders:
i. set usb is used to configure a device(s) to serve as USB HID extender(s) and stop any active
USB_HID streams.
ii. Both arguments, role and security level are optional, possible to set one, the other or both
iii. Applicable to BlueRiver ASIC series.
iv. Only supported on a device if the device JSON object for that device reports a USB_HID node.
A set usb request is also used to configure the security settings regarding USB HID device IP communication.
If this security option is implemented it must be applied to appropriate endpoints, that is both the LOCAL and
REMOTE USB HID extenders.
Note: To enable USB HID encryption, this feature must have been enabled in the product configuration at
the time of production. Contact the hardware manufacturer to confirm if option selected in the
hardware configuration settings. For details on managing security of an SDVoE system, refer to the
SDVoE API Application Note Library.
4.18.9.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices

PDS-062489 Rev 1.6 Page 116 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
The role argument sets role of device when acting as a USB HID extender, can be one of the following:
DISABLED USB HID support is disabled.
OTG The device automatically detects the type of the connected USB HID device and set its
role to LOCAL or REMOTE accordingly.
LOCAL The device acts as USB device that connects to a USB host (e.g. a PC).
REMOTE The device acts as USB host to which USB HID devices connect (keyboard, mouse, etc.)
The security_level_value argument is used to enable or disable the USB HID security of the device when
acting as a USB extender. It can be one of the following:
DISABLED USB HID IP communication encryption is disabled.
ENABLED USB-HID IP communication encryption for all HID devices (keyboard, mouse, etc.).
4.18.9.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.9.3 Errors
The request may fail for individual devices for the following reason:
DEVICE_TYPE If the device does not support USB HID extension.
CONFIGURATION USB-HID Default Encryption key cannot be set by this API server because of
current configuration - must set 'usb_hid_encryption_default_key'
configuration file option.
INVALID_OPERATION Communication between API and the Device is not secured. See ‘auth’
command details for more information.
USB-HID security configurations are transmitted from the API server to an
endpoint device is encrypted, it is required that the API server and BlueRiver
ASIC devices be bound-authenticated to successfully transfer the security
key. If authentication hasn’t been enabled then the error message outlined
above is received. Refer to section 4.3 Commands auth and unauth for
details on implementing bound-authentication, as well as the SDVoE Control
Server Administrators Guide.
4.18.9.4 Examples
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:usb",
"role" : "DISABLED"
}
HTTP/1.1 201 Created
Location: /api/request/123

{
"status" : "PROCESSING",
"request_id" : 123,
PDS-062489 Rev 1.6 Page 117 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"result" : null,
"error" : null
}

POST /api/device/010203040506 HTTP/1.1



{
"op" : "set:usb",
"role" : "LOCAL"
}
HTTP/1.1 201 Created
Location: /api/request/124

{
"status" : "PROCESSING",
"request_id" : 124,
"result" : null,
"error" : null
}

POST /api/device/010203040506 HTTP/1.1



{
"op" : "set:usb",
"role" : "REMOTE"
}
HTTP/1.1 201 Created
Location: /api/request/125

{
"status" : "PROCESSING",
"request_id" : 125,
"result" : null,
"error" : null
}

To set the USB HID to autodetect if it should act as a LOCAL or REMOTE extender, enable the On-the-Go
(OTG) option:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:usb",
"role" : "OTG"
}

PDS-062489 Rev 1.6 Page 118 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
HTTP/1.1 201 Created
Location: /api/request/126

{
"status" : "PROCESSING",
"request_id" : 126,
"result" : null,
"error" : null
}
The following examples, show the syntax for API requests enabling and disabling USB HID encrytion, as well an
example setting the role and encryption through a single API request.
Reminder: It is required that this option be enabled by the hardware manufacturer in the product
configuration. Contact the manufacturer for more information.
POST /api/device/010203040506
{
"op" : "set:usb",
"security” :
"level" : “ENABLED”
}
}

POST /api/device/010203040506
{
"op" : "set:usb",
"security” :
"level" : “DISABLED”
}
}
Request below sets the extender role to REMOTE and enables USB HID security encryption for a specific device.
POST /api/device/010203040506
{
"op" : "set:usb",
"role" : REMOTE
"security” : {
"level" : “ENABLED”
}
}

PDS-062489 Rev 1.6 Page 119 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.10 Command set video
POST /api/device/{target}
{
"op" : "set:video",
"display_mode" : String,
"video" : VideoFormatArgument (conditional),
}
Reminders:
i. The set video command is used to manage the display mode and video output arguments of one or
more receiver devices.
ii. The set video command was introduced in the API version 3.0.
iii. For details on setting a device to the multiview video mode and applying a specific multiview layout,
refer to section 5 Multiview Command Reference.
4.18.10.1 Arguments
The target argument must be either the device ID of a single receiver device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_RX All receiver devices
The display_mode argument specifies the display mode. Refer to section 2.5.2 Video Display Mode
Argument for more information.
The video argument specifies the video format. Refer to section 2.5.3 Video Format Arguments, as well as the
Introduction to the SDVoE API User Guide for more information on video arguments. As mentioned, no video
arguments are needed or permitted for the genlock display mode.
Note: For details on managing multiview layouts, refer to section 5.2.9 Command set multiview.
TIP: For the wall processing mode, when the wall_name is being set using a TCI command it must be
last argument specified in the API request. Spaces are allowed, tailing space will be included in
wall_name. To clear the wall_name it is required to send the wall command without the
wall_name argument. Refer to the Wall section of the SDVoE Developers API Application Note
Library for details on creating and managing Video Walls.
4.18.10.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
4.18.10.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid

PDS-062489 Rev 1.6 Page 120 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.18.10.4 Examples
This first example places the receiver in genlock display mode:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "GENLOCKED"
}
HTTP/1.1 201 Created
Location: /api/request/62

{
"status" : "PROCESSING",
"request_id" : 62,
"result" : null,
"error" : null
}
This example applies the supported video format 1080p60 and frame rate in fast switch full screen
display mode:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "FAST_SWITCHED",
"video" : {
"width" : 1920,
"height" : 1080,
"fps" : 60
}
}
HTTP/1.1 201 Created
Location: /api/request/63

{
"status" : "PROCESSING",
"request_id" : 63,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 121 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Slightly different example here, supported video format 1080p60 but is specified by the Video Identification
Code (VIC) in fast switch full screen display mode:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "FAST_SWITCHED",
"video" : {
"vic" : 16
}
}
HTTP/1.1 201 Created
Location: /api/request/64

{
"status" : "PROCESSING",
"request_id" : 64,
"result" : null,
"error" : null
}
In this example, the supported video format applied is 3840x2160 (2160p) 59.94Hz (60Hz/1.001) in
stretched fast switch full screen display mode:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "FAST_SWITCHED_STRETCH",
"video" : {
"width" : 3840,
"height" : 2160,
"fps" : "60m"
}
}
HTTP/1.1 201 Created
Location: /api/request/65

{
"status" : "PROCESSING",
"request_id" : 65,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 122 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This example, fully specifies an 800x600 video format in fast switch full screen display mode:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "FAST_SWITCHED",
"video" : {
"width" : 800,
"height" : 600,
"fps" : 60.316541,
"total_height" : 1056,
"total_height" : 628,
"hsync_pulse" : 128,
"vsync_pulse" : 4,
"hsync_front_porch" : 40,
"vsync_front_porch" : 1,
"horiz_polarity" : "POSITIVE",
"vert_polarity" : "POSITIVE"
}
}
HTTP/1.1 201 Created
Location: /api/request/66

{
"status" : "PROCESSING",
"request_id" : 66,
"result" : null,
"error" : null
}
Genlock wall mode (synchronized wall display mode) with the a Source Independent Wall arguments for a
2x2 wall with aspect ratio set to KEEP and the bezel compensation to 24 pixels:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "WALL_GENLOCKED",
"video" : {
"width" : 1920,
"height" : 1080,
“fps” : 60,
"aspect_ratio_mode" : KEEP,
"grid_width" : 2,
"grid_height" : 2,
"grid_index_horiz" : 2,
"grid_index_vert" : 2,
"bezel_horiz" : 24,
"bezel_vert" : 24
PDS-062489 Rev 1.6 Page 123 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
}
HTTP/1.1 201 Created
Location: /api/request/67

{
"status" : "PROCESSING",
"request_id" : 67,
"result" : null,
"error" : null
}
This example simpler to above but the Fast Switch Wall mode is being applied with a 1080p 59.94Hz
output video format:
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:video",
"display_mode" : "WALL_FAST_SWITCHED",
"video" : {
"width" : 1920,
"height" : 1080,
"fps" : 59.94,
"aspect_ratio_mode" : KEEP,
"grid_width" : 2,
"grid_height" : 2,
"grid_index_horiz" : 2,
"grid_index_vert" : 2,
"bezel_horiz" : 24,
"bezel_vert" : 24
}
}
HTTP/1.1 201 Created
Location: /api/request/68

{
"status" : "PROCESSING",
"request_id" : 68,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 124 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.19 Command start
POST /api/device/{target}
{
"op" : "start",
"stream_type" : String,
"stream_index" : Integer,
"dest_address" : String (optional),
"hdcp_thumbnail" : Boolean (optional) (NT1000/NT2000 devices only),
}
Reminder: The start command is used to initiate/start one or more stream(s) on one or more devices.

4.19.1 Arguments
The target argument must be either the device ID of a single transmitter device or the name of a
device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
Exception: If the dest_address argument is specified the target must then be the device ID of a single
transmitter device.
Notes:
i. The stream_type argument specified must be a valid stream type.
ii. This command applies only to transmitter devices.
The following stream types are supported:
STEREO_AUDIO Start the Stereo audio stream, sometimes referred to as analog audio.
HDMI Start an HDMI video stream.
HDMI_AUDIO Start an HDMI audio streams.
MULTICH_AUDIO Start a Multichannel audio streams.
THUMBNAIL Use to start a video thumbnail stream.
For RS-232, Infrared and other non-AV stream types, use the switch command. For details refer to section
4.21 Command switch.
The stream_index argument must be the valid index of a stream of the specified type.
The dest_address argument, if present, specifies the destination IP address of the stream.
• Must be an available and unused multicast IP address within the allocation range configured in the
configuration file of the API Server. The default range is to [224.1.1.1, 224.1.3.255]).
The following are invalid for the dest_address argument:
• The “all TX” multicast IP address (specified in the configuration file, defaults to 224.1.1.253).
• The legacy “all TX” multicast IP address 224.1.1.253 (which may or may not be identical to the above
depending on API configuration file content).
• The “all RX” multicast IP address (specified in the configuration file, defaults to 224.1.1.254).

PDS-062489 Rev 1.6 Page 125 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
• The legacy “all RX” multicast IP address 224.1.1.254 (which might or might not be identical to the
above depending on configuration file content).
• Multicast IP address 225.225.225.225.
• Any multicast address in the following ranges defined in IETF RFC 3171:
o An address in the Local Network Control Block (224.0.0.0/24).
o An address in the Internetwork Control Block (224.0.1.0/24).
• Any of the following special use IPv4 addresses as defined in IETF RFC 5735:
o An address on the “This” network (0.0.0.0/8).
o A loopback address (127.0.0.0/8).
TIP: For more information on managing the default multicast range refer to the Control Server (API)
Administrators Guide.
If dest_address is not specified, the API Server uses either the address already assigned to each stream by a
previous invocation of the start command that has not yet been released by the stop command, if
applicable, or otherwise it allocates an unused multicast address. For a THUMBNAIL stream, destination can be
either an available multicast address or a unicast IP address.
The thumbnail argument is applicable only to NT1000/NT2000 endpoint devices. It specifies whether
thumbnail support is enabled for HDCP sources. If omitted, it defaults to false. This argument is only relevant
if the stream_type is THUMBNAIL, otherwise it is ignored. Refer to section 4.18.8 Command set thumbnail
and the SDVoE API Developers API Application Note Library for more information on this option.
Additional information:
When starting an HDMI stream 0, the HDMI_AUDIO stream 0 from the same transmitter is NOT implicitly
started, the audio streams are managed independently from the video stream.
An exception to the above does however exist. If a receiver is operating in Genlock mode and there is HDMI
audio present, it is carried automatically as part of the HDMI video. If a different audio source is desired then
separate join and start requests are required. For information on default audio behavior, refer to the
Introduction to the SDVoE API User Guide.
Reminders:
i. When the client directly manages the allocation of multicast IP addresses using the dest_address
argument, the multicast IP address of the HDMI and HDMI_AUDIO streams are specified independently
even if decoder (RX) is operating in Genlock mode.
ii. Some streams have preconditions that must be fulfilled before they can be successfully started.
Otherwise, the start command fails with error INVALID_STATE for the affected devices.
• Before the scaler video stream (HDMI stream 1) can be started, the video scaler must be
configured with the set scaler command. Refer to section 4.18.5 Command set scaler
for more information on managing the video scaler.
• Before a THUMBNAIL stream can be started, the thumbnail generator be configured with the
set thumbnail command, refer to section 4.18.8 Command set thumbnail for information
on configurating a NT1000 or NT2000 thumbnail stream.

PDS-062489 Rev 1.6 Page 126 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.19.2 Return Value
This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

4.19.3 Errors
ILLEGAL_ARGUMENT Returned if target argument is an invalid device ID or group name.
Also returned if the target argument is not a valid device ID and a multicast IP
address was specified.
ILLEGAL_ARGUMENT In addition, this error is reported if no stream type or index was specified but
a multicast IP address was specified.
ILLEGAL_ARGUMENT Also, is reported when a multicast IP address outside the configurable
allocation range is specified.
ILLEGAL_ARGUMENT Finally, is also reported if a reserved multicast IP address is specified.
The operation may also fail for individual devices. Errors returned include the following:
DEVICE_TYPE If the device does not have the specified stream type or index.
DEVICE_TYPE If the specified device is a receiver.
INVALID_STATE If the specified multicast IP address is currently in use by another stream.
INVALID_STATE If there are no more multicast IP addresses available.
INVALID_STATE If starting scaled stream (stream 1) but scaler resolution was not specified.
INVALID_STATE If starting a thumbnail stream but the thumbnail generator is not configured.

4.19.4 Examples
Below is an example of starting the HDMI video stream for an individual device.
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "start",
"stream_type" : "HDMI",
"stream_index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/61

{
"status" : "PROCESSING",
"request_id" : 61,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 127 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Below is the same example with a destination address specified.
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "start",
"stream_type" : "HDMI",
"stream_index" : 0,
"dest_address" : "239.1.2.3"
}
HTTP/1.1 201 Created
Location: /api/request/61

{
"status" : "PROCESSING",
"request_id" : 61,
"result" : null,
"error" : null
}

4.20 Command stop


POST /api/device/{target}
{
"op" : "stop",
"stream_type" : String (optional),
"stream_index" : Integer (optional),
"free" : Boolean
}
Reminder: Stops one or more stream(s) on one or more devices and optionally free the multicast address
associated with each stopped stream so it can be re-used for another stream.

4.20.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The stream_type argument entered for the stop command must be a valid stream type. The following
types are supported for all device types:
CEC For a CEC data stream.
INFRARED For an infrared data stream.
MULTICH_AUDIO For a multichannel audio stream.
RS232 For an RS-232 data stream.
USB_HID For a USB HID data stream.
USB_ICRON For USB 2.0 stream.
PDS-062489 Rev 1.6 Page 128 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Warning! Regarding the Icron SUI feature if this is being used and a stop command is issued for the
USB_ICRON stream type, all pairings are removed. Refer to the SDVoE Developers API
Application Note Library in the Icron integration section for details.
In addition, the following stream types are supported on transmitter devices only:
STEREO_AUDIO For a stereo audio stream.
HDMI For an HDMI video stream.
HDMI_AUDIO For an HDMI audio stream.
THUMBNAIL For a video thumbnail stream.
Note: For above stream types the target argument cannot be a receiver (RX) device or the ALL_RX
device group.
The stream_index argument must the valid index of a stream of the specified type.
If the stream_index argument is omitted, than all streams of the given type are stopped.
If the stream_type argument is omitted, than all streams of the following types are stopped:
HDMI For an HDMI video stream.
HDMI_AUDIO For an HDMI audio stream.
STEREO_AUDIO For a stereo audio stream.
MULTICH_AUDIO For a multichannel audio stream.
If stream_type is omitted, the target argument cannot be a receiver (RX) device or the ALL_RX group.
If the free argument is true then the multicast IP address associated with each target stream is
freed/unassigned.
For streams with a type of either RS232 or INFRARED where no multicast IP address is associated with the
stream, the free keyword is allowed but ignored. This also applies to a THUMBNAIL stream (NT1000/NT2000
devcies) when a unicast address is associated with the thumbnail stream instead of a multicast address.
Note: Refer to the Introduction to the SDVoE API User Guide for more information on audio routing.

4.20.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

4.20.3 Errors
ILLEGAL_ARGUMENT Occurs when the target argument is not a valid device ID or group name.
The operation may also fail for devices individually for the following reasons:
DEVICE_TYPE Occurs if device does not have the specified stream type or index.
DEVICE_TYPE Occurs if stream_type argument omitted and specified device a receiver.

PDS-062489 Rev 1.6 Page 129 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.20.4 Examples
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "stop",
"stream_type" : "HDMI",
"stream_index" : 0,
"free" : false
}
HTTP/1.1 201 Created
Location: /api/request/61

{
"status" : "PROCESSING",
"request_id" : 61,
"result" : null,
"error" : null
}

POST /api/device/001ec0f04d9c HTTP/1.1



{
"op" : "stop",
"stream_type" : "HDMI",
"stream_index" : 0,
"free" : true
}
HTTP/1.1 201 Created
Location: /api/request/62

{
"status" : "PROCESSING",
"request_id" : 62,
"result" : null,
"error" : null
}

POST /api/device/001ec0f04d9c HTTP/1.1



{
"op" : "stop",
"stream_type" : "HDMI",
"free" : false
}
PDS-062489 Rev 1.6 Page 130 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
HTTP/1.1 201 Created
Location: /api/request/63

{
"status" : "PROCESSING",
"request_id" : 63,
"result" : null,
"error" : null
}

POST /api/device/001ec0f04d9c HTTP/1.1



{
"op" : "stop",
"free" : false
}
HTTP/1.1 201 Created
Location: /api/request/64

{
"status" : "PROCESSING",
"request_id" : 64,
"result" : null,
"error" : null
}

4.21 Command switch


The destination is specified in one of three ways, therefore three forms of the command are available:
1. Using a device ID and a stream index (first form) when the destination is a device.
2. Using the keyword api (second form) when the destination is the API Server.
3. Using an IP address (third form). Supported for backwards compatibility with NT1000/NT2000
pre-3.4.0.0 firmware as it did not support the second form.
POST /api/device/{target}
{
"op" : "switch: device",
"stream_type" : String,
"stream_index" : Integer,
"dest_device" : String,
"subscription_type" : String (optional),
"subscription_index" : Integer
}

PDS-062489 Rev 1.6 Page 131 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
POST /api/device/{target}
{
"op" : "switch: api",
"stream_type" : String,
"stream_index" : Integer
}

POST /api/device/{target}
{
"op" : "switch:address",
"stream_type" : String,
"stream_index" : Integer,
"dest_address" : String
}

Reminders:
i. The switch command is used to set the stream destination for a device. It establishes a one-way
connection between the source and destination devices.
ii. To establish a two-way connection between any two devices, the command must be issued a second
time with the source and destination reversed.
Notes:
i. A device cannot send data to itself.
ii. The second form of the command with the api keyword requires firmware support for NT1000/NT2000
devices of 3.4.0.0 or later and for BlueRiver series device firmware 1.0.0.0 or higher.

4.21.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The stream_type argument entered must one of the following stream types:
CEC CEC data stream.
INFRARED Infrared (IR) data stream.
RS232 RS-232 data stream.
USB_HID USB HID data stream.
USB_ICRON For USB 2.0 stream.
Note: Issuing a switch command for USB_ICRON streams removes all current pairings, refer to section
4.13 Command pair/unpair (Icron SUI) for more information on pairing Icron modules using the
Simutaneous User Interaction (SUI) pairing feature.
Reminder: For audio and video stream types, refer to the start command, section 4.19.
The stream_index argument must the valid index of a stream of the specified type on the source device.

PDS-062489 Rev 1.6 Page 132 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
In the first form of the command, the dest_device argument must be either the device ID of a single device
or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The subscription_type argument is optional. If specified, it must be identical to the stream_type
argument.
Reminder: A stream can only be switched to a subscription of the same type.
The subscription_index argument must be the valid index of a subscription of the specified type on the
destination device.
In the third form of the command, the dest_address must be the IP address to of the API Server to which
the data is to be sent.

4.21.2 Return Value


This command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.

4.21.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid.
INVALID_STATE This occurs if the destination device is disconnected.
The request may also fail for individual devices for the following reasons:
INVALID_OPERATION Occurs when the device is being configured to send data to itself.
DEVICE_TYPE Occurs when second form of the command is used and the firmware is not
recent enough to support request.

4.21.4 Examples
Routing the third RS-232 port from a device to another:
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "switch:device",
"stream_type" : "RS232",
"stream_index" : 2,
"dest_device" : "001ec0f04d9c",
"subscription_index" : 2
}
HTTP/1.1 201 Created
Location: /api/request/61

PDS-062489 Rev 1.6 Page 133 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "PROCESSING",
"request_id" : 61,
"result" : null,
"error" : null
}
Routing the first RS-232 port from a device to the API server:
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "switch:api",
"stream_type" : "RS232",
"stream_index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/62

{
"status" : "PROCESSING",
"request_id" : 62,
"result" : null,
"error" : null
}
Routing the first RS-232 port from a device to the API server by IP address:
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "switch:address",
"stream_type" : "RS232",
"stream_index" : 0,
"dest_address" : "169.254.1.0"
}
HTTP/1.1 201 Created
Location: /api/request/63

{
"status" : "PROCESSING",
"request_id" : 63,
"result" : null,
"error" : null
}

PDS-062489 Rev 1.6 Page 134 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Routing infrared data between two devices:
POST /api/device/001ec0f03668 HTTP/1.1

{
"op" : "switch:device",
"stream_type" : "INFRARED",
"stream_index" : 0,
"dest_device" : "001ec0f04d9c",
"subscription_index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/64

{
"status" : "PROCESSING",
"request_id" : 64,
"result" : null,
"error" : null
}
Example shown below pairs two Icron USB extenders where device1 has a MAC address of 0016c035566f
and device2 has a MAC address of 0017c0355675. Reminder, two switch requests are required to pair the
extenders first in one direction and then a second to pair them in the other direction. For this example, the two
requests would be as follows:
POST /api/device/0016c035566f
{
"op" : "switch:device",
"stream_type" : "USB_ICRON",
"stream_index" : 0,
"dest_device" : "0017c0355675",
"subscription_index" : 0
}

POST /api/device/0017c0355675
{
"op" : "switch:device",
"stream_type" : "USB_ICRON",
"stream_index" : 0,
"dest_device" : "0016c035566f",
"subscription_index" : 0
}

PDS-062489 Rev 1.6 Page 135 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.22 Command update
POST /api/device/{target}
{
"op" : "update",
"file_name" : "file_name.apz"
}
Reminders:
i. This command updates the BlueRiver firmware of one or more devices.
Note: When an update is in progress, no other operations can be performed on a device.
ii. This command was introduced in API version 3.0.
iii. A reboot command must be issued to the device once the firmware update is complete for the changes
to take effect. The device is in an undefined state until that reboot.

4.22.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group.
The allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The file_name argument is the file name of a firmware file. The available firmware files can be listed with the
list firmware command, refer to section 4.11.1 Command list firmware.

4.22.2 Return Value


For each device targeted by the update command, there is either an entry in the update array if the device was
updated successfully or a device error object in the error array if the operation failed for some reason.
{
"update" : [UpdateResultObject, ...],
"error" : [DeviceError, ...]
}
Table 68: update object array

Member name Since Type Description


Update 3.0 Array of An array of objects representing the devices for which the
UpdateResultObject firmware update succeeded.
Error 3.0 Array of DeviceError An array of DeviceError objects indicating the devices for that
the command failed and the reason for the failure
The UpdateResultObject object has the following structure:
{
"device_id" : String
}

PDS-062489 Rev 1.6 Page 136 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 69: update object members

Member name Since Type Description


device_id 3.0 String Device ID
Refer to the Introduction to the SDVoE API User Guide for details on the device error object (DeviceError).

4.22.3 Errors
ILLEGAL_ARGUMENT Occurs when target argument entered is not valid device ID or group name.
IO_ERROR Occurs when the firmware file cannot be opened.
The request may also fail for individual devices for the following reasons:
IO_ERROR Occurs when the firmware file cannot be read.
RESOURCE_NOT_FOUND Specified firmware file does not contain a firmware valid for the device.

4.22.4 Examples
POST /api/device/001ec0f04d9c HTTP/1.1

{
"op" : "update",
"file_name" : "blueriver_rdk_2-0-0-0.apz"
}
HTTP/1.1 201 Created
Location: /api/request/32170

{
"status" : "PROCESSING",
"request_id" : 32223,
"result" : null,
"error" : null
}
GET /api/request/32223 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : 32223,
"result" : {
"update" : [
{
"device_id" : "001ec0f04d9c"
}
],
"error" : []
},
"error" : null
}

PDS-062489 Rev 1.6 Page 137 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.23 Command USB
4.23.1 USB Descriptors
BlueRiver ASIC devices support extension of USB devices such as keyboards and mice that follow the USB Human
Interface Device (HID) specification.
For more information on HID USB devices, refer to Device Class Definition for Human Interface Devices (HID):
https://www.usb.org/document-library/device-class-definition-hid-111
A device can act as a local or a remote extender. This role can be configured using the set usb command. For
more information on this command refer to section 4.18.9 Command set usb.
• When configured as a remote extender (REMOTE), the BlueRiver device acts as a USB hub to which
HID USB devices can be connected.
• When configured as a local extender (LOCAL), the BlueRiver device connects to a USB host and
emulates a USB hub.
• The USB devices connected to this hub as seen by the USB host are the ones connected to the remote
extender with which the local extender is communicating.
The usb command allows USB descriptors to be read or written. For more details on USB descriptors, refer to
the USB 2.0 Specification:
https://www.usb.org/document-library/usb-20-specification
This API manipulates all descriptors packed together as binary data with a well-defined format. When included
as part of an API command or its return value, this packed binary data is encoded as an hexadecimal string.
The binary representation of packed USB descriptors has the following four parts, in the same order as shown:
1. A header that contains sufficient information to locate the other parts.
2. USB descriptors, with the exclusion of string descriptors and report descriptors. Standard
descriptors as defined by the USB 2.0 Specification and class-specific HID descriptors as defined in the
Class Definition for HID are included here.
3. The string descriptors as defined by the USB 2.0 Specification (optional).
4. The report descriptors as defined in the Class Definition for HID.

Header
USB Descriptors
String Descriptors (optional)
Report Descriptors
These items are described in the following sub-sections.

PDS-062489 Rev 1.6 Page 138 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.23.1.1 Packed Descriptors Header
Table below outlines the format of the header.
Table 70: USB Descriptors header

Offset Size
Name Description
(Byte) (Bytes)
0 magic 1 Contains the hexadecimal value 5B.
1 version 1 Contains value 1, which identifies this version of header and descriptor packing.
2 size 2 The size, in bytes, of the packed binary data, including the header.
4 descsize 2 The size, in bytes, of the USB descriptors.
6 stroff 2 The offset of the string descriptors from the start of the packed binary data
(including the header). Undefined (i.e. can be set to any value) if the string
descriptors are omitted.
8 strsize 2 The size, in bytes, of the string descriptors. Must be set to zero (0) if the string
descriptors are omitted.
10 reportoff 2 The offset of the report descriptors from the start of the packed binary data
(including the header).
12 reportnum 2 The number of report descriptors.
14 checksum 2 A checksum computed on the whole packed binary data.
The checksum is computed as follow: the checksum field in the header is set to zero, then the value of all bytes,
including the header and everything that follows, are added together.
4.23.1.2 Standard USB and HID Descriptors
The descriptors start immediately after the header. All descriptors, with the exception of string descriptors and
class-specific report descriptors, are concatenated together without padding. Their total size is indicated by the
descsize field in the header.
Each descriptor is formatted as specified in the USB 2.0 Specification. Among other things, this means each
descriptor starts with a one-byte length, followed by a one-byte descriptor type. With this information, it is
possible to enumerate descriptors and identify their type.
4.23.1.3 String Descriptors
If present, the string descriptors start at the offset specified in the stroff field of the header. String
descriptors are concatenated together without padding. Their total size is indicated by the strsize field in
the header.
String descriptors are optional. If they are omitted, the strsize field is set to zero. In that case, the value of
stroff is undefined (i.e. it can have any value).
The string descriptors follow the format specified by the USB 2.0 Specification.
4.23.1.4 Report Descriptors
Report descriptors are class-specific descriptors specified by the Device Class Definition for Human Interface
Devices (HID). They differ from standard USB descriptors in that they are variable in size.
Report descriptors start at the offset specified in the reportoff field of the header. The number of report
descriptors is indicated by the reportnum field in the header.

PDS-062489 Rev 1.6 Page 139 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Each report descriptor must start on a 4-byte boundary, with padding added as needed to satisfy this constraint.
This implies that reportoff must be a multiple of four.
Each report descriptor is prepended with a header that has the format outlined in the table below.
Table 71: Report Descriptors heading

Offset Size
Name Description
(Byte) (Bytes)
0 size 2 The size of the report descriptor, excluding this header.
2 config 1 Index of the USB configuration to which this report descriptor applies.
3 interface 1 The index of the USB interface to which this report descriptor applies.
4.23.1.5 Other Constraints
The total length of the packed descriptors, cannot be more than 1024 bytes.

4.23.2 Command usb descriptor read


POST /api/device/{target}
{
"op" : "usb:descriptor:read",
"index" : Integer
}
This command is used to read the USB descriptors of a USB device.
An endpoint device that is configured to serve as a USB host (REMOTE role) has one or more USB HID devices
connected to it. This command reads the USB descriptors of one of these devices.
An endpoint device configured to serve as a USB device (LOCAL role) connects to a USB host (e.g. a PC) and is
seen by this host as a USB hub to which one or more USB devices are connected. This command allows the USB
descriptors of the USB device(s) to be read.
Notes:
i. Is only supported on a device if the device JSON object for that device reports a USB node.
ii. Reading descriptors from a device is only allowed if its role is configured as HOST or DEVICE that is not
DISABLED.
4.23.2.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The index argument identifies the USB device. The first USB device has index 0 and USB devices are indexed
sequentially. The number of devices is given by the number of elements in the usb_devices array member
of the status member of the JSON device object's USB_HID node.

PDS-062489 Rev 1.6 Page 140 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
4.23.2.2 Return Value
For each device targeted by this command, there is either an entry in the usb_descriptors array if the
descriptors were fetched successfully or a device error object in the error array if the information was not able
to be fetched.
{
"usb_descriptors" : [USBDescriptor, ...],
"error" : [DeviceError, ...]
}
Table 72: USB descriptor read object array

Member name Since Type Description


usb_descriptors 3.0 Array of An array of objects containing the requested descriptors.
USBDescriptor
Error 3.0 Array of DeviceError An array of DeviceError objects indicating the devices for
which the command failed and reason for failure.
A USBDescriptor object has the following format:
{
"device_id" : String,
"index" : Integer,
"descriptors" : String,
}
Table 73: USB descriptor read object members

Member name Since Type Description


device_id 3.0 String The device ID of the device to which these descriptors belong.
Index 3.0 Integer The index of the USB device to which these descriptors belong.
descriptors 3.0 String The packed descriptors encoded as a hexadecimal string.

4.23.2.3 Errors
The request may also fail for individual devices for the following reasons:
INVALID_STATE If the device is not configured in the correct role.
DEVICE_TYPE If the target device does not support USB extension.
DEVICE_TYPE If the USB device index is out of range.
4.23.2.4 Examples
POST /api/device/010203040506 HTTP/1.1

{
"op" : "usb:descriptor:read",
"index" : 0
}
HTTP/1.1 201 Created
Location: /api/request/61

PDS-062489 Rev 1.6 Page 141 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "PROCESSING",
"request_id" : 61,
"result" : null,
"error" : null
}

4.23.3 Command usb descriptor write


POST /api/device/{target}
{
"op" : "usb:descriptor:write",
"index" : Integer,
"data_hex" : String
}
This command is used to write the USB descriptors of a USB device.
A BlueRiver device configured to serve as a USB device (LOCAL role) connects to a USB host, such as a computer.
It is than seen by this host as a USB hub to which one or more USB HID devices are connected. This command
allows the USB descriptors of the USB device(s) to be written.
Notes:
i. Is only supported on a device if the device JSON object for that device reports a USB node.
ii. Writing descriptors to a device is only allowed if its role is configured as LOCAL.
4.23.3.1 Arguments
The target argument must be either the device ID of a single device or the name of a device group. The
allowed device groups are:
ALL All devices
ALL_TX All transmitter devices
ALL_RX All receiver devices
The index argument identifies the USB device. The first USB device has index 0 and USB devices are indexed
sequentially. The number of devices is given by the number of elements in the usb_devices array member
of the status member of the JSON device object's USB_HID node.
The data_hex argument is a string containing an hexadecimal encoding of the packed descriptors.
4.23.3.2 Return Value
For each device targeted by this command, there is either an entry in the descriptors_write array if the
descriptors written successfully or a device error object in the error array if descriptors were not written.
{
"descriptors_write" : [USBDescriptorWriteResult, ...],
"error" : [DeviceError, ...]
}

PDS-062489 Rev 1.6 Page 142 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 74: USB descriptor write object array

Member name Since Type Description


descriptors_write 3.0 Array of Array of objects containing results of
USBDescriptorWriteResult successful writes.
Error 3.0 Array of DeviceError Array of DeviceError objects indicating devices
command failed for and reason for failure.
A USBDescriptorWriteResult object has the following format:
{
"device_id" : String,
"index" : Integer
}
Table 75: USB descriptor write result object members

Member name Since Type Description


device_id 3.0 String Device ID of the device to which the descriptors were successfully written.
Index 3.0 Integer Index of the USB device to which the descriptors were successfully written.
4.23.3.3 Errors
The request may fail for individual devices for the following reasons:
INVALID_STATE If the device is not configured in the correct role (i.e. LOCAL).
DEVICE_TYPE If the target device does not support USB HID extension.
DEVICE_TYPE If the USB device index is out of range.
4.23.3.4 Examples
POST /api/device/010203040506

{
"op" : "usb:descriptor:write",
"index" : 0,
"data_hex" :
"5b01c00034004400440088000100261b12010002000000086d040ec00011010200
0109022200010100a03109040000010301020009211001000122340007058103040
00a0403090412034c006f006700690074006500630068002e035500530042002d00
500053002f00320020004f00700074006900630061006c0020004d006f007500730
065003400010005010902a1010901a1000509190129031500250195037501810295
017505810305010930093109381581257f750895038106c0c0"
}

PDS-062489 Rev 1.6 Page 143 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 144 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
5 Multiview Command Reference
Multiview is the ability to take multiple independent sources and composite them into a single output stream
that can then be displayed on a single display. This section describes the commands applicable to multiview.

5.1 Multiview Model


In multiview mode, the screen is divided in a grid of at most 16×16 rectangular tiles. Each tile displays video
from a rectangular area of the receiver device's frame buffer. Alternatively, a tile can also be black. A layout is
first created and configured and then applied to one or more receiver devices.
TIP: Refer to the API Developers API Application Note Library, “Multiview mode” section for information on
managing multiview layouts. The article includes terminology, bandwidth usage and API command
examples, as well as use cases and script examples.

5.1.1 Multiview mode Guidelines and Limitations


There is some guidelines and limitations that apply to multiview layouts.
They are as follows:
• The maximum number of windows supported is 32.
• The maximum number of distinct video sources (i.e. surfaces) is also 32.
• The number of tiles cannot exceed 15 in either the horizontal or vertical direction, and 16 in the other
direction (i.e. a grid of 15×16 or 16×15 tiles are both acceptable but 16×16 is not).
• Tile widths and horizontal read offsets (equivalently window widths, horizontal positions and horizontal
offsets) must be even.
• Tile width has a minimum width of 8-pixels.
• A tile width cannot be equal to the following values 1366, 1368, 2732, 2734, 4098 or 4100, in pixels.
• The total size of the frame buffer is 10880×4096.
• Surfaces must be horizontally aligned on a 32-pixel boundary.
• The total bandwidth sent by an individual transmitter and received by an individual receiver is
recommended to not exceed 9 Gbps.
• Source video must be progressive and fully Chroma sampled (RGB, YCbCr 4:4:4).

5.2 Multiview Commands


5.2.1 Summary of Multiview Commands
The layout command provides a series of sub-commands to create and modify multiview layouts.
Reminder: Multiview mode requires the AV Processing Engine, applicable only to endpoint devices that
include this feature.
The multiview mode is used to create multiview configuration setups that include various layouts, including:
• Picture-in-Picture (PiP)
• Picture-and-Picture (PaP)
• Matrix grid
• L-Shape
• Customized layouts

PDS-062489 Rev 1.6 Page 145 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
The table below lists the API commands that are relevant to the multiview mode, specifically the commands and
arguments used in the creation and management of multiview layouts, windows and surfaces.
Table 76: Multiview Layout Command Set

API command Description


list layout List of the currently existing layouts.
layout create Create a layout. If there is an existing layout with the same name it is overwritten.
layout describe Retrieves details of an existing layout including windows and their positions.
When the default layout surface configuration is not appropriate for a desired
layout surface
layout it is possible to modify it.
layout window Specify the content of a window/tile.
layout delete Delete an existing layout.
set multiview Set a receiver device(s) (RX) into multiview mode and load an existing layout.
set scaler Set scaler resolution of the source of an encoder device(s).
Join Join a source to the multiview layout destination.
start/stop Manage streams of the transmitters (TX) that are the sources for the layout.
The following subsections review the commands used to complete these functions.

5.2.2 Command list layout


The list layout command retrieves a list of layouts that currently exist from the API server.
GET /api/multiview/layout
5.2.2.1 Arguments
None
5.2.2.2 Return Value
An array of LayoutItem objects.
{
"layout" : [LayoutItem, ...]
}
Table 77: Layout Item Member

Member name Since Type Description


Layout 3.0 Array of LayoutItem Array of objects which each represent a multiview layout

Each item in the layout array (LayoutItemObject) has the following structure:
{
"name" : String
}
Table 78: Layout Item Object Member

Member name Since Type Description


Name 3.0 String The name of the layout.

PDS-062489 Rev 1.6 Page 146 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
5.2.2.3 Errors
None.
5.2.2.4 Example
GET /api/multiview/layout HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"layout" : [
{
"name" : "compatibility_4k_2x2"
},
{
"name" : "example_4k_single_source_2x2_1080p"
}
]
}
}

5.2.3 Command layout create


The layout create command is used to create a new multiview layout or reset an existing layout with the
specified name.
POST /api/multiview/layout/{name}
{
"op" : "create",
"width" : Integer,
"height" : Integer
}
5.2.3.1 Arguments
The name argument is the name of the multiview layout.
The width and height arguments respectively specify total width and height of the displayed video, in pixels.
Note: The width argument must be a multiple of 8.
5.2.3.2 Return Value
Description of the layout refer to section 5.2.5 Command layout describe.
HTTP status is:
201 -- Created when a new if a new layout was created.
200 -- OK if an existing layout with that name was overwritten.

PDS-062489 Rev 1.6 Page 147 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
5.2.3.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid.
MULTIVIEW_LAYOUT_STATE Occurs when the specified layout exists and is read-only.
5.2.3.4 Example
POST /api/multiview/layout/some_layout HTTP/1.1

{
"op" : "create",
"width" : 1920,
"height" : 1080
}
HTTP/1.1 201 Created

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"layout_description" : {
"name" : "some_layout",
"width" : 1920,
"height" : 1080,
"read_only" : false,
"surfaces" : [
{
"index" : 0,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 4096,
"height" : 2160
},
{
"index" : 1,
"horizontal_position" : 4160,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 2,
"horizontal_position" : 6240,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 3,
"horizontal_position" : 8320,

PDS-062489 Rev 1.6 Page 148 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 4,
"horizontal_position" : 4160,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 5,
"horizontal_position" : 6240,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 6,
"horizontal_position" : 8320,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 7,
"horizontal_position" : 0,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 8,
"horizontal_position" : 2080,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 9,
"horizontal_position" : 4160,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 10,
"horizontal_position" : 6240,
"vertical_position" : 2160,
"width" : 2048,

PDS-062489 Rev 1.6 Page 149 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"height" : 1080
},
{
"index" : 11,
"horizontal_position" : 8320,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 12,
"horizontal_position" : 0,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 13,
"horizontal_position" : 2080,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 14,
"horizontal_position" : 4160,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 15,
"horizontal_position" : 6240,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 16,
"horizontal_position" : 8320,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 17,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},

PDS-062489 Rev 1.6 Page 150 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"index" : 18,
"horizontal_position" : 2080,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 19,
"horizontal_position" : 0,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 20,
"horizontal_position" : 2080,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
}
],
"windows" : []
}
},
"error" : null
}

5.2.4 Command layout delete


The layout delete command is used to delete the multiview layout specified if it exists.
DELETE /api/multiview/layout/{name}
5.2.4.1 Arguments
The name argument is the name of the multiview layout to be deleted.
5.2.4.2 Return Value
None
5.2.4.3 Errors
ILLEGAL_ARGUMENT Occurs when if the arguments entered are invalid.
MULTIVIEW_LAYOUT_STATE Occurs if the specified layout is read-only.
5.2.4.4 Example
DELETE /api/multiview/layout/some_layout HTTP/1.1

HTTP/1.1 200 OK

PDS-062489 Rev 1.6 Page 151 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "SUCCESS",
"request_id" : null,
"result" : null,
"error" : null
}

5.2.5 Command layout describe


The layout describe command provides a complete description of the specified multiview layout.
GET /api/multiview/layout/{name}
5.2.5.1 Arguments
The name argument is the name of the multiview layout.
5.2.5.2 Return Value
{
"layout_description" : LayoutDescription
}
Table 79: layout describe object array

Member name Since Type Description


layout_description 3.0 LayoutDescription A layout description object, described below
A layout description object (LayoutDescription) has the following structure:
{
"name" : String
"width" : Integer,
"height" : Integer,
"read_only" : Boolean,
"surfaces" : [SurfaceDescription, ...],
"windows" : [WindowDescription, ...]
}
Table 80: layout describe object members

Member name Since Type Description


Name 3.0 String Name of the layout.
Width 3.0 Integer Display width in pixels.
Height 3.0 Integer Display height in pixels.
read_only 3.0 Boolean Layout protected against modifications.
Only predefined compatibility_4k_2x2
layout currently read-only.
Surfaces 3.0 Array of SurfaceDescription Description of all surfaces in this layout.
Windows 3.0 Array of WindowDescription Description of all windows in this surface.

PDS-062489 Rev 1.6 Page 152 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A surface description object (SurfaceDescription) has the following structure:
{
"index" : Integer,
"horizontal_position" : Integer,
"vertical_position" : Integer,
"width" : Integer,
"height" : Integer
}
Table 81: surface description object members

Member name Since Type Description


Index 3.0 Integer The surface index.
horizontal_position 3.0 Integer Horizontal start position of surface in pixels.
vertical position 3.0 Integer Vertical start position of surface in pixels.
width 3.0 Integer Surface width in pixels.
height 3.0 Integer Surface height in pixels.
A window description object (WindowDescription) has the following structure:
{
"index" : Integer,
"horizontal_position" : Integer,
"vertical_position" : Integer,
"width" : Integer,
"height" : Integer,
"horizontal_offset" : Integer,
"vertical_offset" : Integer,
"content" : String,
"target_surface" : Integer,
}
Table 82: window description object members

Member name Since Type Description


index 3.0 Integer The surface index.
horizontal_position 3.0 Integer Horizontal start position of window on screen, in pixels.
vertical_position 3.0 Integer Vertical start position of window on screen, in pixels.
width 3.0 Integer Window width, in pixels.
height 3.0 Integer Window height, in pixels.
horizontal_offset 3.0 Integer Horizontal offset from the start of the surface.
vertical_offset 3.0 Integer Vertical offset from the start of the surface.
content 3.0 String Type of content of the window, either VIDEO window has
video content or BLACK window is black
target_surface 3.0 Integer Index of surface that window referring to. Member is only
meaningful if the content member is VIDEO.
5.2.5.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid.
RESOURCE_NOT_FOUND Occurs when the specified layout does not exist.

PDS-062489 Rev 1.6 Page 153 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
5.2.5.4 Example
The following example are the return for the output of the command layout describe for the
compatibility_4k_2x2 layout.
GET /api/multiview/layout/compatibility_4k_2x2 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"layout_description" : {
"name" : "compatibility_4k_2x2",
"width" : 3840,
"height" : 2160,
"read_only" : true,
"surfaces" : [
{
"index" : 0,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 4096,
"height" : 2160
},
{
"index" : 1,
"horizontal_position" : 4160,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 2,
"horizontal_position" : 6240,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 3,
"horizontal_position" : 8320,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 4,
"horizontal_position" : 4160,
"vertical_position" : 1080,
PDS-062489 Rev 1.6 Page 154 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"width" : 2048,
"height" : 1080
},
{
"index" : 5,
"horizontal_position" : 6240,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 6,
"horizontal_position" : 8320,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 7,
"horizontal_position" : 0,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 8,
"horizontal_position" : 2080,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 9,
"horizontal_position" : 4160,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 10,
"horizontal_position" : 6240,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 11,
"horizontal_position" : 8320,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080

PDS-062489 Rev 1.6 Page 155 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
"index" : 12,
"horizontal_position" : 0,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 13,
"horizontal_position" : 2080,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 14,
"horizontal_position" : 4160,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 15,
"horizontal_position" : 6240,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 16,
"horizontal_position" : 8320,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 17,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 18,
"horizontal_position" : 2080,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{

PDS-062489 Rev 1.6 Page 156 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"index" : 19,
"horizontal_position" : 0,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 20,
"horizontal_position" : 2080,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
}
],
"windows" : [
{
"index" : 0,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 0
},
{
"index" : 1,
"horizontal_position" : 1920,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 1
},
{
"index" : 2,
"horizontal_position" : 0,
"vertical_position" : 1080,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 2
},
{
"index" : 3,
"horizontal_position" : 1920,

PDS-062489 Rev 1.6 Page 157 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"vertical_position" : 1080,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 3
}
]
}
},
"error" : null
}

5.2.6 Command layout surface


The layout surface command is used to create, modify or delete a surface in the specified layout.
TIP: Default surfaces are provided when a layout is created. Typically, the default surfaces are adequate for
most multiview applications. Refer to section 5.3 Default Surface Configuration.
POST /api/multiview/layout/{name}/surface/{index}
{
"op" : "create",
"horizontal_position" : Integer,
"vertical_position" : Integer,
"width" : Integer,
"height" : Integer
}

DELETE /api/multiview/layout/{name}/surface/{index}
5.2.6.1 Arguments
The name argument is the name of the multiview layout.
The index argument is the index of the surface, must be numerical number between 0 and 31.
The horizontal_position and vertical_position arguments are respectively the horizontal and
vertical start positions of the surface in the frame buffer, in pixels.
Note: The horiz_position argument cannot be less than 8-pixels and is applied in increments of two
pixels, so for example 8, 10, 12, etc.
The width and height arguments are respectively the width and height of the surface, in pixels.
Note: The width argument can also not be less than 8-pixels and is applied in increments of two pixels, so
for example 8, 10, 12, etc.
If the delete keyword is present, the surface is deleted if it exists.

PDS-062489 Rev 1.6 Page 158 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
5.2.6.2 Return Value
Description of the surface when creating. Refer to section 5.2.5 Command layout describe.
Return value is null when deleting a layout.
HTTP status is:
201 -- Created when a new surface was created (POST).
200 -- OK if an existing surface was overwritten (POST).
200 -- OK on successful delete (DELETE).
5.2.6.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid.
MULTIVIEW_LAYOUT_STATE Occurs when the specified layout exists but is read-only.
RESOURCE_NOT_FOUND Occurs when the specified layout does not exist.
5.2.6.4 Examples
This first example specifies the surface, position and size of surface 23 for the layout named some_layout.
POST /api/multiview/layout/some_layout/surface/23 HTTP/1.1

{
"op" : "create",
"horizontal_position" : 3872,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080
}
HTTP/1.1 201 Created

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"layout_surface" : {
"index" : 23,
"horizontal_position" : 3872,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080
}
},
"error" : null
}

PDS-062489 Rev 1.6 Page 159 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This second example deletes surface 23 from the layout named some_layout.
DELETE /api/multiview/layout/some_layout/surface/23 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : null,
"error" : null
}

5.2.7 Command layout window


The layout window command is used to create, modify or delete a window in the specified layout. There is
two modes of the command, where the first form of the command is used for creation and modification, while
the second form is used for deletion.
POST /api/multiview/layout/{name}/window/{index}
{
"op" : "create",
"horizontal_position" : Integer,
"vertical_position" : Integer,
"width" : Integer,
"height" : Integer,
"horizontal_offset" : Integer (optional),
"vertical_offset" : Integer (optional),
"target_surface" : Integer (optional)
}

DELETE /api/multiview/layout/{name}/window/{index}
5.2.7.1 Arguments
The name argument is the name of the multiview layout.
The index argument is the index of the window, which must be between 0 and 31.
The horizontal_position and vertical_position arguments are respectively the horizontal and
vertical start positions of the window on the screen, in pixels.
Note: The horizontal_position argument cannot be less than 8-pixels and is applied in increments of
two pixels, so for example 8, 10, 12, etc.
The width and height arguments are respectively the width and height of the window in pixels.
Note: The width argument also cannot be less than 8-pixels and is applied in increments of two pixels, so
for example 8, 10, 12, etc.

PDS-062489 Rev 1.6 Page 160 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
The horizontal_offset and vertical_offset arguments are respectively horizontal and vertical start
positions of a window relative to start of a target surface, in pixels. For simple use cases, these are typically zero.
Note: The horizontal_offset argument is also a minimum of 8-pixels and is applied in increments of
two pixels, so for example 8, 10, 12, etc.
The horizontal_offset and vertical_offset arguments can each be omitted, which is equivalent to
specifying zero.
The target_surface argument (optional) is the index of the surface to which the window refers. If this
target_surface argument is omitted or null, the window is black.
All arguments should be present when creating a window. There is two exceptions, the first is the offset
argument which can be assumed to be zero (horizontal and vertical) when a new window is created and the
second is the target_surface argument which is optional.
5.2.7.2 Return Value
Description of the window when creating refer to section 5.2.5 Command layout describe.
None when deleting.
HTTP status is:
201 -- Created when a new window was created (POST).
200 -- OK if an existing window was overwritten (POST).
200 -- OK on successful delete (DELETE).
5.2.7.3 Errors
ILLEGAL_ARGUMENT Occurs when the arguments entered are invalid.
MULTIVIEW_LAYOUT_STATE Occurs when the specified layout exists but is read-only.
RESOURCE_NOT_FOUND Occurs if the specified layout does not exist.
5.2.7.4 Examples
Create a window with video content:
POST /api/multiview/layout/some_layout/window/0 HTTP/1.1

{
"op" : "create",
"horizontal_position" : 480,
"vertical_position" : 270,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"target_surface " : 3
}
HTTP/1.1 201 Created

{
"status" : "SUCCESS",
"request_id" : null,
PDS-062489 Rev 1.6 Page 161 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"result" : {
"layout_window" : {
"index" : 0,
"horizontal_position" : 480,
"vertical_position" : 270,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 3
}
},
"error" : null
}
Modify an existing window and make it a black window (surface index omitted):
POST /api/multiview/layout/some_layout/window/0 HTTP/1.1

{
"op" : "create",
"horizontal_position" : 480,
"vertical_position" : 270,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0
}
HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"layout_window" : {
"index" : 0,
"horizontal_position" : 480,
"vertical_position" : 270,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "BLACK",
"target_surface" : 0
}
},
"error" : null
}

PDS-062489 Rev 1.6 Page 162 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Delete a window:
DELETE /api/multiview/layout/some_layout/window/0 HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : null,
"error" : null
}

5.2.8 Command list layout


The list command provides sub-commands to query lists from the API server. The command list layout
is described below. The list layout option lists all multiview layouts available on the API server.
Note: The list firmware and list multicast sub-commands were covered in section 4.11
Command list.
GET /api/multiview/layout
5.2.8.1 Return Value
{
"layout" : [LayoutItemObject, ...]
}
Table 83: list layout object array

Member name Since Type Description


layout 3.0 Array of LayoutItemObject Array of objects representing the multiview layout.
Each item in the layout array (LayoutItemObject) has the following structure:
{
"name" : String
}
Table 84: list layout object members

Member name Since Type Description


name 3.0 String Name of layout.
5.2.8.2 Example
GET /api/multiview/layout HTTP/1.1

HTTP/1.1 200 OK

{
"status" : "SUCCESS",
"request_id" : null,
"result" : {

PDS-062489 Rev 1.6 Page 163 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"layout" : [
{
"name" : "compatibility_4k_2x2"
},
{
"name" : "example_4k_single_source_2x2_1080p"
}
]
}
}

5.2.9 Command set multiview


The set multiview command is used to set one or more receivers in multiview mode and load a layout.
POST /api/device/{target}
{
"op" : "set:multiview",
"layout" : String,
"video" : VideoFormatArguments (conditional),
"subscriptions" : [SubscriptionObject,...] (optional)
}
Notes:
i. This command applies only to receiver devices.
ii. Legacy BlueRiver NT devices have limited multiview capabilities. Only the predefined
compatibility_4k_2x2 layout is supported by these devices.
5.2.9.1 Arguments
The target argument must be either the device ID of a single receiver or the name of a device group. The
allowed device groups are:
ALL All devices
ALL_RX All receiver devices
The layout argument specifies the multiview layout to be loaded.
The video argument specifies video format arguments, in regards to managing layouts this argument must be
implicitly specified as multiview. Refer to 2.5 Specifying a Video Output Format for more information on
video output formats.
The optional subscriptions argument specifies an array of HDMI SubscriptionObject to be apply to
the multiview layout.
Each item in the subscriptions array (SubscriptionObject) has the following structure:
{
"source_device" : String,
"stream_index" : Integer,
"subscription_index" : Integer
}

PDS-062489 Rev 1.6 Page 164 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Source_device The source (transmitter) device ID
Stream_index Index of the source HDMI stream
Subscription_index Index of the destination subscription
5.2.9.2 Return Value
This is command modifies device settings. Refer to section 4.2 Commands that Modify Device Settings for a
description of the return value.
5.2.9.3 Errors
ILLEGAL_ARGUMENT Occurs when target argument entered is not valid device ID or
group name.
ILLEGAL_ARGUMENT Also occurs in the following cases:
• There is no subscriptions in the subscription array (i.e. empty list)
• A subscription source is not a valid device ID
• A subscription source does not exist, is disconnected or is not a
transmitter device
• The source stream index is missing or is invalid
• The subscription index is missing or is invalid
• A source stream or a subscription index is duplicated
RESOURCE_NOT_FOUND Occurs when the specified layout does not exist.
MULTIVIEW_LAYOUT_STATE Occurs when the specified layout does not satisfy either the
hardware or API limitations. Refer to section 5.1.1 Multiview mode
Guidelines and Limitations for details.
The request may also fail for individual devices for the following reasons:
DEVICE_TYPE This error occurs if the specified device is not a receiver device.
DEVICE_TYPE Also occurs when the device does not support the full multiview capabilities,
such as a AVP1000-based device. In addition, this error is received if device
is a legacy BlueRiver NT device and the specified layout is not the
compatibility_4k_2x2 layout.
INVALID_STATE Indicates that the source stream of a subscription is stopped.
5.2.9.4 Example
POST /api/device/010203040506 HTTP/1.1

{
"op" : "set:multiview",
"layout" : "compatibility_4k_2x2",
"video" : {
"width" : 1920,
"height" : 1080,
"fps" : 60
}
}
HTTP/1.1 201 Created
Location: /api/request/100
PDS-062489 Rev 1.6 Page 165 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.

{
"status" : "PROCESSING",
"request_id" : 100,
"result" : null,
"error" : null
}

5.3 Default Surface Configuration


For a specific multiview layout, the allocation of surfaces in a device’s frame buffer can be customized with the
layout surface command.
However, when a layout is first created (or reset) using the layout create command, a default surface
configuration is applied. This default configuration , which is sufficient for most purposes, is as follows:
Surface 0 can receive video up to resolution of 4096 x 2160.
Surfaces 1 to 11 can receive video up to a resolution of 2048x1080.
Surfaces 12 to 16 can receive video up to resolution of 2048x856.
Surfaces 17 to 20 can receive video up to a resolution of 2048x1080.
• However, surfaces 17 to 20 use the same area of the frame buffer as surface 0.
• This means that surfaces 17 to 20 can be used instead of surface 0 if the multiview layout does
not contain a source with a resolution over 2048x1080 but they cannot be used at the same
time as surface 0.

5.4 Multiview Examples


Reminder: The command set multiview is applicable only to BlueRiver devices that support advanced
video processing modes.
TIP: For more information on the implementation of multiview commands including outline of managing
bandwidth and sample use cases, refer to the API Developers API Application Note Library.
Below is a couple of layout implementations, including creating the layout, configuring the windows size and
positions and assigning the targets. In addition, these examples include the starting and subscribing of streams.

5.4.1 Picture-in-Picture Example


The example provided shows the implementation of a picture-in-picture layout, the script provided stops and
starts all appropriate streams, sets the properties of the scaled stream of the appropriate transmitters, as well
as creates and loads the layout. The layout being created is named, “PiP_Sample“ and has a total output
resolution of 3840 x 2160.
The receiver has the device ID of 0016c04c46d7. The larger window is set to a size of 3840 x 2160 to match
the output resolution with a position of 0,0. Since we want the larger window to be behind the smaller window,
its index is set to 1 and the smaller window’s index is set to 0. This smaller window’s size is 960 x 540 and its
postion is 400 x 400. Reminder the size and position are specified in pixels.
multiview/layout/PiP_Sample
{"op" : "create", "width" : 3840, "height" : 2160}
device/d88039e83991
{"op" : "stop", "stream_type" : "HDMI", "stream_index" : 0, "free" : True}
PDS-062489 Rev 1.6 Page 166 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
device/d88039e83991
{"op" : "set:scaler", "width" : 3840, "height" : 2160}
device/d88039e83991
{"op" : "start", "stream_type" : "HDMI", "stream_index" : 1}
device/d88039e55d9a
{"op" : "stop", "stream_type" : "HDMI", "stream_index" : 0, "free" : True}
device/d88039e55d9a
{"op" : "set:scaler", "width" : 960, "height" : 540}
device/d88039e55d9a
{"op" : "start", "stream_type" : "HDMI", "stream_index" : 1}
multiview/layout/PiP_Sample/window/1
{"op" : "create", "horizontal_position" : 0, "vertical_position" : 0, "width" :
3840, "height" : 2160, "horizontal_offset" : 0, "vertical_offset" : 0,
"target_surface" : 0}
multiview/layout/PiP_Sample/window/0
{"op" : "create", "horizontal_position" : 400, "vertical_position" : 400,
"width" : 960, "height" : 540, "horizontal_offset" : 0, "vertical_offset" : 0,
"target_surface" : 1}
device/0016c04c46d7
{"op" : "set:multiview", "layout" : "PiP_Sample", "video" : {"width" : 3840,
"height" : 2160, "fps" : 30}, "subscriptions" : [{"source_device" :
"d88039e83991", "stream_index":1,"subscription_index":0},{"source_device" :
"d88039e55d9a", "stream_index":1,"subscription_index":1}]}

5.4.2 Quad Layout Example


In this second example, the implementation is of a layout containing four windows setup in a quad view. Again
the script provided stops and starts all appropriate streams, sets the scaled stream properties, as well as creates
and loads the layout. The layout is named, “Quad_Sample“ and has an output resolution of 3840 x 2160.
The receiver has the device ID of 0016c04c487e. Note that although each of the four windows is assigned the
same window size, each has a unique position and surface ID assigned.
multiview/layout/Quad_Sample
{"op" : "create", "width" : 3840, "height" : 2160}
device/d88039e4c0fb
{"op" : "stop", "stream_type" : "HDMI", "stream_index" : 0, "free" : True}
device/d88039e4c0fb
{"op" : "set:scaler", "width" : 1920, "height" : 1080}
device/d88039e4c0fb
{"op" : "start", "stream_type" : "HDMI", "stream_index" : 1}
device/d88039e4c0fb
{"op" : "set:property", "key" :
"nodes[SCALER:0].inputs[main:0].configuration.source.value", "value" : 1}
device/d88039e5a57b
{"op" : "stop", "stream_type" : "HDMI", "stream_index" : 0, "free" : True}
device/d88039e5a57b
{"op" : "set:scaler", "width" : 1920, "height" : 1080}
device/d88039e5a57b

PDS-062489 Rev 1.6 Page 167 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{"op" : "start", "stream_type" : "HDMI", "stream_index" : 1}
device/d88039e5a57b
{"op" : "set:property", "key" :
"nodes[SCALER:0].inputs[main:0].configuration.source.value", "value" : 1}
device/d88039e58621
{"op" : "stop", "stream_type" : "HDMI", "stream_index" : 0, "free" : True}
device/d88039e58621
{"op" : "set:scaler", "width" : 1920, "height" : 1080}
device/d88039e58621
{"op" : "start", "stream_type" : "HDMI", "stream_index" : 1}
device/d88039e58621
{"op" : "set:property", "key" :
"nodes[SCALER:0].inputs[main:0].configuration.source.value", "value" : 1}
device/d88039e83991
{"op" : "stop", "stream_type" : "HDMI", "stream_index" : 0, "free" : True}
device/d88039e83991
{"op" : "set:scaler", "width" : 1920, "height" : 1080}
device/d88039e83991
{"op" : "start", "stream_type" : "HDMI", "stream_index" : 1}
device/d88039e83991
{"op" : "set:property", "key" :
"nodes[SCALER:0].inputs[main:0].configuration.source.value", "value" : 1}
multiview/layout/Quad_Sample/window/0
{"op" : "create", "horizontal_position" : 0, "vertical_position" : 0, "width" :
1920, "height" : 1080, "horizontal_offset" : 0, "vertical_offset" : 0,
"target_surface" : 17}
multiview/layout/Quad_Sample/window/1
{"op" : "create", "horizontal_position" : 1920, "vertical_position" : 0,
"width" : 1920, "height" : 1080, "horizontal_offset" : 0, "vertical_offset" :
0, "target_surface" : 18}
multiview/layout/Quad_Sample/window/2
{"op" : "create", "horizontal_position" : 0, "vertical_position" : 1920,
"width" : 1920, "height" : 1080, "horizontal_offset" : 0, "vertical_offset" :
0, "target_surface" : 19}
multiview/layout/Quad_Sample/window/3
{"op" : "create", "horizontal_position" : 1920, "vertical_position" : 1080,
"width" : 1920, "height" : 1080, "horizontal_offset" : 0, "vertical_offset" :
0, "target_surface" : 20}
device/0016c04c46d7
{"op" : "set:multiview", "layout" : "Quad_Sample", "video" : {"width" : 3840,
"height" : 2160, "fps" : 30}, "subscriptions" : [{"source_device" :
"d88039e4c0fb", "stream_index":1,"subscription_index":17},{"source_device" :
"d88039e5a57b", "stream_index":1,"subscription_index":18},{"source_device" :
"d88039e58621", "stream_index":1,"subscription_index":19},{"source_device" :
"d88039e83991", "stream_index":1,"subscription_index":20}]}
device/0016c04c4cc0
{"op" : "set:multiview", "layout" : "Quad_Sample", "video" : {"width" : 3840,
"height" : 2160, "fps" : 30}, "subscriptions" : [{"source_device" :
"d88039e4c0fb", "stream_index":1,"subscription_index":17},{"source_device" :
PDS-062489 Rev 1.6 Page 168 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"d88039e5a57b", "stream_index":1,"subscription_index":18},{"source_device" :
"d88039e58621", "stream_index":1,"subscription_index":19},{"source_device" :
"d88039e83991", "stream_index":1,"subscription_index":20}]}
device/0016c04c3d9a
{"op" : "set:multiview", "layout" : "Quad_Sample", "video" : {"width" : 3840,
"height" : 2160, "fps" : 30}, "subscriptions" : [{"source_device" :
"d88039e4c0fb", "stream_index":1,"subscription_index":17},{"source_device" :
"d88039e5a57b", "stream_index":1,"subscription_index":18},{"source_device" :
"d88039e58621", "stream_index":1,"subscription_index":19},{"source_device" :
"d88039e83991", "stream_index":1,"subscription_index":20}]}
device/0016c04c487e
{"op" : "set:multiview", "layout" : "Quad_Sample", "video" : {"width" : 3840,
"height" : 2160, "fps" : 30}, "subscriptions" : [{"source_device" :
"d88039e4c0fb", "stream_index":1,"subscription_index":17},{"source_device" :
"d88039e5a57b", "stream_index":1,"subscription_index":18},{"source_device" :
"d88039e58621", "stream_index":1,"subscription_index":19},{"source_device" :
"d88039e83991", "stream_index":1,"subscription_index":20}]}

PDS-062489 Rev 1.6 Page 169 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 170 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6 Device Object Definition (DeviceObject)
A device object completely describes a device, including its configuration, state and supported features. A
subset of this object is returned as part of the response to the get command. For more information, refer to
the get command description in section 4.7 Command get.
{
"device_id" : String,
"identity" : DeviceIdentity,
"capabilities" : DeviceCapabilities,
"configuration" : DeviceConfig,
"status" : DeviceStatus
"streams" : [StreamObject, ...],
"subscriptions" : [SubscriptionObject, ...]
"nodes" : [Node, ...]
}
Table 85: List of supported device objects

Member name Since Type Included in Description


device_id 3.0 String (always) Device ID
Identity 3.0 DeviceIdentity get identity Provides information regarding the identity of
get settings the device.
Capabilities 3.0 DeviceCapabilities get device Provides information regarding the
get capabilities capabilities of the device.
Configuration 3.0 DeviceConfig get identity Provides information regarding the
get settings configurable settings of the device.
Status 3.0 DeviceStatus get settings Provides information regarding the current
status of the device.
streams 3.0 Array of get settings Describes details regarding the streams of
StreamObject data being sent on the network.
subscriptions 3.0 Array of get settings Describes details regarding the streams of
SubscriptionObject data being received from the network.
Nodes 3.0 Array of Node get settings Describes device’s hardware modules
get edid including their status and configuration.
get gpio • Included in response to get settings,
get edid and get gpio commands.
• However, in response to a get edid,
only following node types are included as
only nodes containing EDID data:
HDMI_DECODER
HDMI_MONITOR
• The response of a get gpio command,
only GPIO nodes are included. These
nodes are not included in the response of
a get settings command.

PDS-062489 Rev 1.6 Page 171 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.1 Generic Types
This section describes device objects that are generic JSON types that are re-used in various parts of a
device object.

6.1.1 Video Format Description (VideoFormat)


A video format object describes video format, including the resolution, bits per pixel, color space, frame
rate, height, scan mode and width.
{
"bits_per_pixel" : Integer,
"color_space" : String,
"frames_per_second" : Integer,
"height" : Integer,
"scan_mode" : String,
"width" : Integer
}
Table 86: Video format description object members

Member name Since Type Description


bits_per_pixel 3.0 Integer Number of bits per video component, one of:
8-bits
10-bits
12-bits
color_space 3.0 String Color space, which is one of the following:
RGB RGB graphics
YCBCR_444 YcbCr 4:4:4 video
YCBCR_422 YcbCr 4:2:2 video
YCBCR_420 YcbCr 4:2:0 video
frames_per_second 3.0 Integer Frame rate.
Note: The value of this member is always an integer. This means
for example, 59.94 fps is reported as 60. For more
precision, consider using the frame_rate member of
the VideoFormatDetails object instead.
height 3.0 Integer Video height
scan_mode 3.0 String Video scan mode, which is one of the following:
PROGRESSIVE Returned for progressive video
INTERLACED Returned for interlaced video
width 3.0 Integer Video width

PDS-062489 Rev 1.6 Page 172 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.1.2 Video Format Detailed Information (VideoFormatDetails)
The video format detail information object contains detailed information about the video format.
Some of the reported information is taken directly from the Auxiliary Video Information (AVI) InfoFrame. For
additional information regarding the meaning of reported members, refer to CEA-861-F in section 6.4 “Format
of Version 2 & 3 AVI InfoFrames”.
{
"frame_rate" : Real
"pixel_clock" : Integer,
"total_width" : Integer,
"total_height" : Integer,
"hsync_width" : Integer,
"hsync_front_porch" : Integer,
"hsync_negative" : Boolean,
"vsync_width" : Integer,
"vsync_front_porch" : Integer,
"vsync_negative" : Boolean,
"vic" : Integer,
"has_hdmi_vic" : Boolean,
"hdmi_vic" : Integer,
"picture_aspect" : String,
"has_active_format" : Boolean,
"active_format" : Integer,
"it_content_type" : String,
"scan_information" : String,
"colorimetry" : String,
"rgb_range" : String,
"ycc_range" : String,
"has_hdr" : Boolean,
"hdr" : String
}
Table 87: Video format detailed information object members

Member name Since Type Description


frame_rate 3.0 Real Frame rate, includes fractional values (e.g. 59.54).
pixel_clock 3.0 Integer Pixel clock, in hertz (Hz).
total_width 3.0 Integer Total horizontal resolution including blanking.
total_height 3.0 Integer Total vertical resolution including blanking.
hsync_width 3.0 Integer Horizontal sync pulse width in pixels.
hsync_front_porch 3.0 Integer Horizontal sync front porch in pixels.
hsync_negative 3.0 Boolean Indicates whether horizontal sync has negative polarity.
vsync_width 3.0 Integer Vertical sync pulse width, in pixels.
vsync_front_porch 3.0 Integer Vertical sync front porch, in pixels.
vsync_negative 3.0 Boolean Indicates whether vertical sync has negative polarity.
vic 3.0 Integer AVI InfoFrame Video Information Code (VIC).
has_hdmi_vic 3.0 Boolean Indicates whether there is an HDMI Vendor-Specific InfoFrame with
an HDMI_VIC.

PDS-062489 Rev 1.6 Page 173 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
hdmi_vic 3.0 Integer HDMI Vendor-Specific Infoframe HDMI_VIC.
Undefined if has_hdmi_vic is false.
picture_aspect 3.0 String AVI InfoFrame picture aspect ratio:
ASPECT_NO_DATA for No Data
ASPECT_4_3 for a 4:3 aspect ratio
ASPECT_16_9 for a 16:9 aspect ratio
has_active_format 3.0 Boolean Indicates if the AVI InfoFrame specifies active format information.
active_format 3.0 Integer AVI InfoFrame Active Format Description (AFD) code.
For more information refer to the CEA-861-F Annex H.
it_content_type 3.0 String AVI InfoFrame IT content type:
NO_DATA for No Data
GRAPHICS for Graphics type
PHOTO for Photo type
CINEMA for Cinema type
GAME for Game type
scan_information 3.0 String AVI InfoFrame scan information:
NO_DATA for No Data
OVERSCAN for overscan
UNDERSCAN for underscan
colorimetry 3.0 String AVI InfoFrame colorimetry:
NO_DATA for No Data
RGB for RGB
BT601 for SMPTE 170M/ITU-R BT.601
BT709 for ITU-R BT.709
XVYCC601 for xvYCC601
XVYCC709 for xvYCC709
SYCC601 for sYCC601
ADOBE_YCC601 for AdobeYCC601
ADOBE_RGB for AdobeRGB
BT2020_YCC_CONST for ITU-R BT.2020 Y'C'BC'RC
BT2020_YCC for ITU-R BT.2020 Y'C'BC'R
BT2020_RGB for ITU-R BT.2020 R'G'B'
This member combines information from the “RGB or YCBCR” (Y),
Colorimetry (C) and Extended Colorimetry (EC) fields of the AVI
InfoFrame. See CEA-861-F Table 13.
rgb_range 3.0 String AVI InfoFrame RGB quantization range:
DEFAULT
LIMITED
FULL
ycc_range 3.0 String AVI InfoFrame YCbCr quantization range:
LIMITED
FULL
has_hdr 3.0 Boolean Indicates if High-Dynamic Range video format information is
available from the device.

PDS-062489 Rev 1.6 Page 174 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
Note: Regarding BlueRiver ASIC devices, HDR format detection is
not available and has_hdr always returns false with
hdr always reporting SDR.
hdr 3.0 String High-Dynamic Range video format.
Can be one of the following:
SDR Standard dynamic range
DV_LLAT_RGB10_12 Dolby Vision Low Latency mode
10/12-bit RGB 4:4:4
DV_LLAT_YCBCR10_12_444 Dolby Vision Low Latency
mode 10/12-bit YCbCr 4:4:4
DV_LLAT_YCBCR12_422 Dolby Vision Low Latency
mode 12-bit YCbCr 4:2:2
DV_STD_RGB8 Dolby Vision Standard mode Tunnel 8-
bit RGB 4:4:4
DV_STD_YCBCR12 Dolby Vision Standard mode Native 12-
bit YCbCr 4:2:2
HDR10 HDR10 - SMPTE ST 2084
HLG Hybrid Log Gamma – ITU-R BT.2100-0
This member is undefined if has_hdr member reported false.
Reminder: Regarding BlueRiver ASIC devices, HDR format
detection is not available and has_hdr always
returns false with hdr always reporting SDR.

6.1.3 Audio Format Detailed Information (AudioFormatDetails)


The audio format detailed information object contains information concerning the audio format.
{
"sampling_frequency" : Integer,
"number_of_channels" : Integer
}
Table 88: Audio format detailed information object members

Member name Since Type Description


sampling_frequency 3.0 Integer The sampling frequency, in hertz (Hz).
number_of_channels 3.0 Integer The number of audio channels

6.1.4 Audio Format Extended Information (AudioFormatExtended)


The audio format extended information object contains information describing the audio format.
{
"channel_allocation" : Integer,
"sample_size" : Integer,
"level_shift_value" : Integer,
"lfe_playback_level" : Integer,
"audio_encoding_type" : String,
"is_downmix_inhibited" : Boolean
}

PDS-062489 Rev 1.6 Page 175 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 89: Video format extended information object members

Member name Since Type Description


channel_allocation 3.0 Integer Channel allocation as reported in CEA-861-F audio InfoFrame.
Note: Valid values and their meanings are defined in CEA-
861-F Table 31.
sample_size 3.0 Integer The size of each audio sample in bits. An integer value
between 16 and 24 inclusive or zero (0) if it is undefined.
level_shift_value 3.0 Integer Level Shift Value as reported in the CEA-861-F audio InfoFrame.
Provides information on the downmix coefficients attenuation.
Note: Valid values and their meanings are defined in CEA-
861-F Table 32.
lfe_playback_level 3.0 Integer The Low-Frequency Effect (LFE) playback level as reported in
the CEA-861-F audio InfoFrame.
Note: Refer to CEA-861-F Table 34 for valid values and their
meanings.
audio_encoding_type 3.0 String Specifies the type of audio encoding.
LPCM Linear PCM audio.
ENCODED_HBR High-Bitrate audio.
ENCODED_OTHER Other type of audio, such as compressed.
is_downmix_inhibited 3.0 Boolean Downmix inhibit as reported in CEA-861-F audio InfoFrame.
If true, audio output is prohibited from being downmixed;
otherwise downmixing permitted or no information available.

6.1.5 Source Reference Specification (SourceReference)


The source reference specification object is used in both streams and nodes to specify the origin
of the data.
{
"ref_class" : String,
"ref_type" : String,
"ref_index" : Integer
}
Table 90: Source reference specification object members

Member name Since Type Description


ref_class 3.0 String The reference class reported, is one of the following:
NODE The origin of the data is a node.
SUBSCRIPTION The origin of the data is a subscription.
In addition, the following value could be present in the configuration choices of
a node input:
AUTOMATIC Source is automatically selected. For example, when a
valid signal is present.
ref_type 3.0 String Reference type, matches type member of a node or subscription.
Undefined if reference class is AUTOMATIC.
ref_index 3.0 Integer Reference index, matches index member of a node or subscription.
Undefined if reference class is AUTOMATIC.

PDS-062489 Rev 1.6 Page 176 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.1.6 Source Selection (SourceSelection)
The source selection object type is used in both streams and nodes to specify the origin of the data.
{
"value" : Integer,
"choices" : [SourceSelectionChoice, ...]
}
Table 91: Source selection object members

Member name Since Type Description


value 3.0 Integer Selected source, must match the value member of one of the
enumerated choices.
choices 3.0 Array of Enumeration of the allowed source selections.
Note: This member is not included in the response of a get
SourceSelectionChoice
settings command.

6.1.7 Source Selection Choice (SourceSelectionChoice)


The source selection choice object type is used in streams and nodes to specify the origin of the data.
{
"value" : Integer,
"description" : String
"details" : SourceReference
}
Table 92: Source selection choice object members

Member name Since Type Description


value 3.0 Integer Value of this choice.
description 3.0 String Human-readable description of this choice.
details 3.0 SourceReference Source reference associated with this choice.

6.2 Device Identity (DeviceIdentity)


The device identity object type contains information applicable to device identification.
{
"chipset_type" : String,
"engine" : String,
"vendor_id" : Integer,
"product_id" : Integer,
"firmware_comment" : String,
"firmware_version" : String,
"firmware_rc" : String,
"is_receiver" : Boolean,
"is_transmitter" : Boolean,
"firmware_details" : [FirmwareDetails]
}

PDS-062489 Rev 1.6 Page 177 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 93: Device identity object members

Member name Since Type Included in Description


chipset type 3.0 String get identity Identifies the type of the device chipset.
get settings
engine 3.0 String get identity Identifies the type of processing engine the
get settings device uses:
PLETHORA for current BlueRiver devices.
BLUERIVER_NT reported for legacy
BlueRiver NT chipset.
vendor_id 3.0 Integer get identity Device vendor ID.
get settings This feature requires firmware support. If such
support is not available, the reserved value 0 is
reported.
product_id 3.0 Integer get identity Device product ID.
get settings This feature requires firmware support. If such
support is not available, the reserved value 0 is
reported.
firmware_comment 3.0 String get identity Comment string embedded in firmware file that
get settings was programmed in the device.
This comment typically contains a version string
but the exact format and content is device
manufacturer-specific. May contain an empty
string if no comment is set.
firmware_version 3.0 String get hello Device firmware version
get identity
get settings
firmware_rc 3.0 String get hello Device firmware release candidate
get identity Note: For Semtech AptoVision Product Group
get settings internal use only.
is_receiver 3.0 Boolean get hello True is the device is a receiver device
get identity
get settings
is_transmitter 3.0 Boolean get hello, True is the device is a transmitter device
get identity
get settings
firmware_details 3.0 Array of get identity Provide information regarding the various
FirmwareDetails get settings firmware images of the device.
A FirmwareDetails object has the following structure:
{
"type" : String,
"details_available" : Boolean,
"firmware_version" : String,
"firmware_rc" : String
}

PDS-062489 Rev 1.6 Page 178 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 94: Firmware details object members

Member name Since Type Description


type 3.0 String Type of firmware image being described.
One of the following:
PRIMARY for the primary firmware image.
GOLDEN for the golden firmware image.
details_available 3.0 Boolean Whether information is available for the firmware image.
firmware_version 3.0 String Version of the firmware image.
If the value of the details_available member is false, this
value is undefined.
firmware_rc 3.0 String Release candidate number of the firmware image.
If the value of the details_available member is false, this
value is undefined.
Note: BlueRiver support internal use only.

6.3 Device capabilities (DeviceCapabilities)


The device capabilities object type contains information applicable to device capabilities. There
are two types of capabilities. Boolean capabilities where true means “supported” and false means “not
supported”. Integer capabilities indicating the number of physical occurrences of a capability.
{
"color_generator_force" : Boolean,
"frame_rate_divider" : Boolean,
"hdmi_audio_downmix" : Boolean,
"hdmi_inputs" : Integer,
"hdmi_outputs" : Integer,
"hdmi_stream1_auto_stop" : Boolean,
"infrared_inputs" : Integer,
"infrared_outputs" : Integer,
"local_loopback" : Boolean,
"multich_audio_inputs" : Integer,
"multich_audio_outputs" : Integer,
"nbaset" : Boolean,
"net10gbe_dual_link" : Boolean,
"overlay" : Boolean,
"scaler" : Boolean,
"stereo_audio_inputs" : Integer,
"stereo_audio_input_outputs" : Integer,
"stereo_audio_outputs" : Integer,
"thumbnail" : Boolean,
"uarts" : Integer,
"usb_hid" : Boolean,
"usb_icron" : Boolean,
"video_processing" : Boolean
},

PDS-062489 Rev 1.6 Page 179 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 95: Device capabilities object members

Member name Since Type Description


color_generator_force 3.0 Boolean Whether receiver without video processing capability has the
ability to blank its video output.
Affects the following property:
• nodes[COLOR_GENERATOR:index].configurat
ion.force_output
frame_rate_divider 3.0 Boolean Whether device supports dividing frame rate by a factor of 2.
Applicable to the properties of stream 0 or stream 1, as follows:
Native stream (stream 0)
streams[HDMI:index].configuration.source.v
alue
Scaled stream (stream 0)
nodes[SCALER:0].inputs[main:0].configurati
on.source.value
hdmi_audio_downmix 3.0 Boolean Whether device produces a downmix of its HDMI audio.
Affects:
• Whether device can loop out the HDMI audio downmix to
one of its local audio outputs.
• Whether a receiver subscribed to this device's
HDMI_AUDIO stream can output the HDMI audio
downmix to one of its audio outputs.
Affects the following properties:
• nodes[HDMI_DECODER:0].inputs[main:0].co
nfiguration.source.value
• nodes[MULTICH_AUDIO_OUTPUT:0].inputs[ma
in:0].configuration.source.value
• nodes[STEREO_AUDIO_INPUT_OUTPUT:0].inpu
ts[main:0].configuration.source.value
• nodes[STEREO_AUDIO_OUTPUT:0].inputs[mai
n:0].configuration.source.value
hdmi_inputs 3.0 Integer Number of HDMI video inputs.
hdmi_outputs 3.0 Integer Number of HDMI video outputs.
hdmi_stream1_auto_stop 3.0 Boolean Whether device supports the HDMI stream 1 auto stop feature.
Affects the following property:
• streams[HDMI:1].configuration.auto_stop
infrared_inputs 3.0 Integer Number of infrared receiver connectors.
infrared_outputs 3.0 Integer Number of infrared emitter connectors.
local_loopback 3.0 Boolean Whether device supports subscribing to its own video and
audio streams.
Affects:
• join command when the source and destination devices
are the same.
multich_audio_inputs 3.0 Integer Number of multichannel audio inputs.
multich_audio_outputs 3.0 Integer Number of multichannel audio outputs.
nbaset 3.0 Boolean Whether NBase-T is supported by the device.
Affects the following properties:
• nodes[NETWORK_PORT:0].configuration.
speed
• nodes[NETWORK_PORT:1].configuration.
speed
net10gbe_dual_link 3.0 Boolean Whether this is a dual link 10GbE copper+fiber device.
PDS-062489 Rev 1.6 Page 180 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
overlay 3.0 Boolean Whether the monochrome bitmap overlay is supported.
Affects:
• The set overlay command.
scaler 3.0 Boolean Supports scaling the video from the HDMI input and sending the
scaled video on a separate stream (HDMI stream 1).
Affects:
• The set scaler command.
• The start command when stream type is HDMI and
stream index is 1.
stereo_audio_inputs 3.0 Integer Number of stereo audio inputs.
stereo_audio_input_out 3.0 Integer Number of stereo audio input/outputs.
puts
stereo_audio_outputs 3.0 Integer Number of stereo audio outputs.
thumbnail 3.0 Boolean Whether the device supports sending a thumbnail stream.
Affects:
• The set thumbnail command.
• The start command when the stream type is
THUMBNAIL.
uarts 3.0 Integer Number of enabled UARTs.
usb_hid 3.0 Boolean Whether USB HID is supported.
Affects:
• The usb command.
• The switch and stop command when stream type is
USB_HID.
usb_icron 3.0 Boolean Whether device has an Icron USB extender.
Affects:
• The icron command.
• The switch and stop command when stream type is
USB_ICRON.
video_processing 3.0 Boolean Whether the receiver supports video processing. This includes
support for video processing display modes, such as fast switch,
multiview and wall.
Affects:
• The set video command, specifically the ability to
specify a display mode other than genlock.
• The set multiview command.

6.4 Device configuration (DeviceConfig)


The device configuration object holds configurable device, such as the device name.
{
"device_name" : String,
"locate_mode" : Boolean,
"secure_av" : String,
"resume_streaming" : Boolean,
"claimed" : Boolean,
"authenticated" : Boolean
"device_mode" : String
}

PDS-062489 Rev 1.6 Page 181 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 96: Device configuration object members

Member name Since Type Included in Description


device_name 3.0 String get identity Name of the device
get settings
locate_mode 3.0 Boolean get settings Whether the device is in locate mode.
TIP: When in locate mode, all device LEDs flash so
it can be located easily.
secure_av 3.0 String get settings secure av “default” or “user_defined”.
resume_streaming 3.0 Boolean get settings Indicates whether a device is to automatically
restart streams and subscriptions after a reboot.
claimed 3.0 Boolean get settings Indicates if device has been exclusively claimed by a
API server.
authenticated 3.2 Boolean get settings TRUE indicates device is authenticated bound to an
API server. FALSE indicates the deivce is not. Refer
to the control server (API) administration guide for
more information on this option.
device_mode 3.1 String get settings Indicates whether the configured device mode is
TRANSMITTER, RECEIVER or TRANSCEIVER.

6.5 Device Status (DeviceStatus)


The device status object contains information about device states, such as if device is active on the
network and connection state.
{
"active" : Boolean,
"point_to_point" : Boolean,
"point_to_point_peer" : String,
"boot_status" : String,
"update_in_progress" : Boolean,
"igmp_reporting_mode" : String,
"error_status" : DeviceErrorStatus,
"temperature" : Integer
}
Table 97: Device status object members

Member name Since Type Description


active 3.0 Boolean Indicates if device is connected to the network.
point_to_point 3.0 Boolean Indicates if device is in point-to-point mode.
point_to_point_peer 3.0 String Device ID of the peer device.
Is set to NULL when point_to_point is false or
the peer device does not support this feature.
boot_status 3.0 String Firmware image device booted with.
One of the following:
PRIMARY for the primary image
GOLDEN for the golden (fallback) image
UNKNOWN if active firmware cannot be
determined because device firmware does not

PDS-062489 Rev 1.6 Page 182 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
support this feature.
If the value reported is GOLDEN, this indicates that
the primary firmware image is corrupted and device
may need to be re-programmed.
update_in_progress 3.0 Boolean Indicates if a firmware update (update command) is
running on the device.
Once the firmware update is complete, the device
must be rebooted, at which point the value of this
member is reset to false.
igmp_reporting_mode 3.1 String Indicates whether the IGMP reporting mode is
INTERVAL (sent unsolicited every minute) or
QUERY (sent as a response to the IGMP snooping
queries from the switch).
error_status 3.0 DeviceErrorStatus Indicates if the device is reporting error code.
temperature 3.0 Integer Current junction temperature of BlueRiver device,
reported in degrees Celsius.
Note: Only included in response to either a get
temperature or get device command.
A DeviceErrorStatus object has the following structure:
{
"has_error_code" : Boolean,
"error_code " : Integer
}
Table 98: Device error status object members

Member name Since Type Description


has_error_code 3.0 Boolean Indicates if the device is reporting an error code.
error_code 3.0 Integer If has_error_code member is true, this indicates that the member
contains an error code reported by the device. Otherwise, the value of
this member is undefined.
Reminder: Meaning of error code device-dependent.

6.6 Streams (StreamObject)


Each individual stream has a stream object. This object specifies the stream type, its configuration as well
as the stream’s origin.
{
"type" : String,
"index" : Integer,
"configuration" : StreamConfig,
"status" : StreamStatus,
"source" : SourceReference
}

PDS-062489 Rev 1.6 Page 183 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 99: Stream object members

Member name Since Type Description


type 3.0 String Type of data contained in the stream.
STEREO_AUDIO Stereo audio
CEC CEC data
HDMI HDMI video
HDMI_AUDIO HDMI audio
MULTICH_AUDIO Multichannel audio
INFRARED Infrared remote-control data
RS232 RS-232 data
THUMBNAIL Video Thumbnail
index 3.0 Integer Index of the stream of the given type (streams are indexed
individually by type, not necessarily contiguous)
configuration 3.0 StreamConfig Stream configuration
source 3.0 SourceReference Identifies the origin of the streamed data

6.6.1 Stream Configuration (StreamConfig)


The stream configuration object is a sub-object of the stream object and is located within the stream
object itself.
{
"address" : String,
"enable" : Boolean,
"auto_stop" : Boolean,
"remove_audio" : Boolean,
"source" : SourceSelection
}
Table 100: Stream configuration object members

Member name Since Type Description


address 3.0 String IP address that the data is to be sent to.
enable 3.0 Boolean Whether the stream is enabled or not.
auto_stop 3.0 Boolean When true, the stream stops automatically whenever the video
source is lost or a resolution change occurs.
Stream must then be started with start command.
Option useful in managing network bandwidth. A video resolution
change leads to change in bandwidth usage by the video. It could
be appropriate to take an action in response before restarting the
stream. For example, enable or disable compression.
Always false for streams other than scaled stream (HDMI:1).
remove_audio 3.0 Boolean When true, HDMI audio is not sent with the stream.
Reminder: Audio only present on native stream, HDMI 0.
source 3.0 SourceSelection Selection of the input source (optional).
This member is only present if the input source is configurable on
the specified stream.

PDS-062489 Rev 1.6 Page 184 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.6.2 Stream Status (StreamStatus)
The stream status is a sub-object within the stream object containing details of a stream’s status.
{
"state" : String,
}
Table 101: Stream status object members

Member name Since Type Description


state 3.0 String State of the subscription:
STREAMING Subscription is running
STOPPED Subscription is stopped
LINK_DOWN The 10-Gigabit network interface is down

6.7 Subscriptions (SubscriptionObject)


The subscription object contains information about stream subscriptions, that is which devices have
subscribed to receive which streams.
{
"type" : String,
"index" : Integer,
"configuration" : SubscriptionConfig
"status" : SubscriptionStatus
}
Table 102: Subscriptions object members

Member name Since Type Description


type 3.0 String Type of data, same values as for stream type.
STEREO_AUDIO Stereo audio
CEC CEC data
HDMI HDMI video
HDMI_AUDIO HDMI audio
MULTICH_AUDIO Multichannel audio
INFRARED Infrared remote-control data
RS232 RS-232 data
index 3.0 Integer Index of subscription of given type.
Note: Subscriptions indexed individually by type, therefore
not necessarily contiguous.
configuration 3.0 SubscriptionConfig Subscription configuration.
source 3.0 SubscriptionStatus Subscription status.

PDS-062489 Rev 1.6 Page 185 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.7.1 Subscription Configuration (SubscriptionConfig)
The subscription configuration object is a sub-object inside of the subscription object.
{
"address" : String,
"enable" : Boolean,
"mute_msec" : Integer,
}
Table 103: Subscription configuration object members

Member name Since Type Description


address 3.0 String IP address from which to receive the data.
enable 3.0 Boolean Whether the subscription is enabled or not
mute_msec 3.0 Integer Amount of milliseconds firmware mutes on a HDMI_AUDIO
subscription change.
Value must be between 0 and 5000 inclusively (present for HDMI_AUDIO
subscription only).

6.7.2 Subscription Status (SubscriptionStatus)


The subscription status object is also a sub-object inside of the subscription object.
{
"state" : String,
}
Table 104: Subscription status object members

Member name Since Type Description


state 3.0 String State of the subscription:
STREAMING Subscription is running.
STOPPED Subscription is stopped.
LINK_DOWN 10-Gigabit network interface is down.
Other values could occur, these are transient states that occur immediately
after a configuration change and should be ignored.

6.8 Nodes (Node)


The node object describes hardware modules present on the device along with their status and configuration.
{
"type" : String,
"index" : Integer,
"configuration" : Object,
"status" : Object,
"inputs" : [NodeInput, ...]
}

PDS-062489 Rev 1.6 Page 186 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 105: Node object members

Member name Since Type Description


type 3.0 String Type of node.
STEREO_AUDIO_INPUT
STEREO_AUDIO_INPUT_OUTPUT
STEREO_AUDIO_OUTPUT
CEC
COLOR_GENERATOR
FRAME_BUFFER
FRAME_RATE_CONVERTER
HDMI_DECODER
HDMI_ENCODER
HDMI_MONITOR
MULTICH_AUDIO_INPUT
MULTICH_AUDIO_OUTPUT
INFRARED_DECODER
INFRARED_ENCODER
NETWORK_INTERFACE
NETWORK_PORT
NETWORK_SWITCH
SCALER
UART
USB_HID
USB_ICRON
VIDEO_COMPRESSOR
VIDEO_DECOMPRESSOR
VIDEO_INPUT
index 3.0 Integer Index of the node of the given type.
Nodes are indexed independently for each type, not
necessarily contiguous.
configuration 3.0 Object Node configuration.
The structure of this object varies according to the node type.
Refer to the node type-specific sections below.
status 3.0 Object Node status.
The structure of this object varies according to the node type.
Refer to the node type-specific sections below.
inputs 3.0 Array of Array describing how the node is connected to upstream nodes
NodeInput and/or subscriptions.

6.8.1 Node Inputs (NodeInput)


The node input is a sub-object inside a node object describing how it is connected to other nodes.
{
"name" : String
"index" : Integer,
"configuration" : NodeInputConfig,
"status" : NodeInputStatus,
}

PDS-062489 Rev 1.6 Page 187 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 106: Node input object members

Member name Since Type Description


name 3.0 String Input name, allowable values depend on node type
index 3.0 Integer Index of the input with the given name.
Inputs are indexed independently for each name.
configuration 3.0 NodeInputConfig Input configuration
source 3.0 NodeInputStatus Input status
6.8.1.1 Node Input Configuration (NodeInputConfig)
The node input configuration member describes the node inputs.
{
"source" : SourceSelection
}
Table 107: Node input configuration object members

Member name Since Type Description


source 3.0 SourceSelection (Optional) Selection of the input source.
Only present if input source is configurable on specified input.
6.8.1.2 Node Input Status (NodeInputStatus)
The node input status member describes the node input status.
{
"source" : SourceReference
}
Table 108: Node input status object members

Member name Since Type Description


source 3.0 SourceReference Current input source.

6.8.2 Stereo Audio Input Node (Type STEREO_AUDIO_INPUT)


This section describes a Node object with type member set to STEREO_AUDIO_INPUT.
6.8.2.1 Configuration
None
6.8.2.2 Status
None
6.8.2.3 Inputs
None

PDS-062489 Rev 1.6 Page 188 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.2.4 Example
Example shows a stereo audio input node JSON object returned as part of the output of get device.
{
"type" : "STEREO_AUDIO_INPUT",
"index" : 0,
"configuration" : {},
"status" : {},
"inputs" : []
}
For more information on the get device command, refer to section 4.7 Command get for details.

6.8.3 Stereo Audio Input/Output Node (Type


STEREO_AUDIO_INPUT_OUTPUT)
This section describes a Node object with type member set to STEREO_AUDIO_INPUT_OUTPUT.
This node represents the stereo audio port, which can serve as either an input and an output port.
6.8.3.1 Configuration (StereoAudioInputOutputNodeConfig)
{
"direction" : String,
}
Table 109: Stereo audio input/output object members

Member name Since Type Description


direction 3.0 String Port direction, which is one of the following:
INPUT The port is set to be an audio input.
OUTPUT The port is set to be an audio output.
6.8.3.2 Status
None
6.8.3.3 Inputs
Table 110: Inputs supported for the audio input/output node

Input name Since Configurable Description


main 3.0 Yes Audio input source.
A transmitter may support none, some or all of the following:
2 -- Local HDMI audio (stereo downmix)
8-- Multichannel audio subscription (audio return channel)
9 -- Local Multichannel audio
13 -- Stereo audio subscription
15 -- HDMI audio subscription (stereo downmix)
A receiver may support none, some or all of the following:
2 -- HDMI audio subscription (stereo downmix)
3 -- Stereo audio subscription
8 -- Multichannel audio subscription
9 -- Local Multichannel audio
PDS-062489 Rev 1.6 Page 189 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Input name Since Configurable Description
Note: Not all audio types are available to all endpoint devices, supported
audio is based on the hardware design and device capabilities.
Refer to the API application note library for more information.
A transceiver device may support none, some or all of the following:
2 -- HDMI audio subscription (stereo downmix)
3 -- Stereo audio subscription
8 -- Multichannel audio subscription
9 -- Local Multichannel audio
12 -- Local HDMI audio (stereo downmix)
If device does not support any of above, then following is listed:
0 -- No audio source available
Attempting to set this last value as selected input using a set property
command results in ILLEGAL_ARGUMENT error.
6.8.3.4 Example
This example shows an stereo audio input/output node JSON object as returned as part of the output of the
get device command.
{
"type" : "STEREO_AUDIO_INPUT_OUTPUT",
"index" : 0,
"configuration" : {
"direction" : "INPUT"
},
"status" : {},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {},
"status" : {
"source" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.4 Stereo Audio Output Node (Type STEREO_AUDIO_OUTPUT)


This section describes a Node object with the type member set to STEREO_AUDIO_OUTPUT.
6.8.4.1 Configuration (Stereo_Audio_Output)
None
PDS-062489 Rev 1.6 Page 190 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.4.2 Status
None
6.8.4.3 Inputs
Table 111: Outputs supported for the audio output node

Input name Since Configurable Description


Main 3.0 Yes Audio source.
A transmitter may support none, some or all of the following:
2 -- Local HDMI audio (stereo downmix)
8 -- Multichannel audio subscription (audio return channel)
9 -- Local Multichannel audio
13 -- Stereo audio subscription
15 -- HDMI audio subscription (stereo downmix)
A receiver may support none, some or all of the following:
2 -- HDMI audio subscription (stereo downmix)
3 -- Stereo audio subscription
8-- Multichannel audio subscription
9 -- Local Multichannel audio
Note: Not all audio types are available to all endpoint devices,
supported audio is based on the hardware design and
device capabilities. Refer to the API application note
library for more information.
A transceiver device may support none, some or all of
the following:
2 -- HDMI audio subscription (stereo downmix)
3 -- Stereo audio subscription
8 -- Multichannel audio subscription
9 -- Local Multichannel audio
12 -- Local HDMI audio (stereo downmix)
6.8.4.4 Example
Example shows a stereo audio output node JSON object returned as part of the output of get device.
{
"type" : "STEREO_AUDIO_OUTPUT",
"index" : 0,
"configuration" : {},
"status" : {},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {
"source" : {
"value" : 3,
"choices" : [
{
PDS-062489 Rev 1.6 Page 191 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"value" : 2,
"description" : "HDMI Audio (Downmix)",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
},
{
"value" : 3,
"description" : "Stereo Audio",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "STEREO_AUDIO",
"ref_index" : 0
}
},
{
"value" : 8,
"description" : "Multi Channel Audio",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "MULTICH_AUDIO",
"ref_index" : 0
}
},
{
"value" : 9,
"description" : "Multi Channel Audio Local Loop
Out",
"details" : {
"ref_class" : "NODE",
"ref_type" : "MULTICH_AUDIO_INPUT",
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "STEREO_AUDIO",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 192 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.5 Bitmap Overlay Node (Type BITMAP_OVERLAY)
This section describes a Node object with the type member set to BitmapOverlayNodeConfig. This
node is only applicable to NT2000 endpoint devices.
6.8.5.1 Configuration (BitmapOverlayNodeConfig)
{
"enable" : Boolean,
"width" : Integer,
"height" : Integer,
"horiz_position" : Integer,
"vert_position" : Integer,
"scaling_factor" : Integer,
"foreground_color" : String,
"background_color" : String,
"foreground_transparency" : Integer,
"background_transparency" : Integer
}
Table 112: Bitmap Overlay node object members

Member name Since Type Description


enable 2.18 Boolean Whether bitmap overlay is enabled or disabled.
width 2.18 Integer Width of the overlay bitmap.
height 2.18 Integer Height of the overlay bitmap.
horiz_position 2.18 Integer Horizontal position, in pixels, of the overlay
vert_position 2.18 Integer Vertical position, in pixels, of the overlay
scaling_factor 2.18 Integer Scaling factor (1, 2 or 4)
foreground_color 2.18 String Foreground colour in format RRGGBB.
background_color 2.18 String Background colour in format RRGGBB.
foreground_transparency 2.18 Integer Foreground transparency level in percent.
background_transparency 2.18 Integer Background transparency level in percent.
6.8.5.2 Status
None
6.8.5.3 Inputs
None
6.8.5.4 Example
The example below shows a bitmap overlay node JSON object as returned as part of the output of a
get device request for an NT2000 endpoint device.
{
"type" : "BITMAP_OVERLAY",
"index" : 0,
"configuration" : {
"enable" : true,
"width" : 100,
"height" : 100,
"horiz_position" : 1720,
PDS-062489 Rev 1.6 Page 193 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"vert_position" : 880,
"scaling_factor" : 1,
"foreground_color" : "0000aa",
"background_color" : "ffffff",
"foreground_transparency" : 0,
"background_transparency" : 70
},
"status" : {},
"inputs" : []
}

6.8.6 CEC Node (Type CEC)


Below describes a Node object with type member set to CEC, represents an input source to CEC streams.
6.8.6.1 Configuration
{
“p2p_mode" : Sting
}
Table 113: CEC Node P2P Configuration

Member Since Type Description


p2p_mode 3.2 String If BlueRiver device is operating in Point-to-Point (p2p_mode) mode, CEC Node
can be configured to operate in API or Passthrough (default) mode.
When in API mode it allows CEC data to be injected from API to logical address
“14” (0x0E – Free use) and when operating in Passthrough mode, CEC data is
passed between paired devices.
6.8.6.2 Status
None
6.8.6.3 Inputs
None
6.8.6.4 Example
Example shows a null source node JSON object returned as part of the output of a “get device” command.
{
"type" : "CEC",
"index" : 0,
"configuration" : {
“p2p_mode” : “[API|PASSTHROUGH]”},
"status" : {},
"inputs" : []
}

PDS-062489 Rev 1.6 Page 194 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Note that for BlueRiver transceiver devices, there is two CEC nodes shown 0 and 1. The p2p_mode value of
this second CEC node, index:1 is always be the same as the CEC index:0 node.
{
"type" : "CEC",
"index" : 1,
"configuration" : {
"p2p_mode" : "api",
},
"status" : {},
"inputs" : []
}
For more information on the get device command refer to section 4.7 Command get for details.

6.8.7 Color Generator Node (Type COLOR_GENERATOR)


This section describes a Node object with type member set to COLOR_GENERATOR.
6.8.7.1 Configuration
{
"enable" : Boolean,
"color" : String,
"force_output" : Boolean
}
Table 114: Color generator node object members

Member name Since Type Description


enable 3.0 Boolean When true, blank video output with a uniform color, used to to
implement video mute functionality.
Note: Only supported for receivers (RX) operating in a display mode
other than genlock, therefore supported by AVP2000(T) devices
but not AVP1000.
color 3.0 String String representation of the color to use for blanking.
String format is RRGGBB, where RR, GG and BB are each a pair of
hexadecimal digits respectively representing the 8-bit value of the red,
green and blue components.
These 8-bit values must be interpreted in the context of the default
quantization range (full or limited) for the current output video format as
specified in standard CEA 861-F.
Note: Only supported when receiver (RX) operating in a display mode
other than genlock, therefore supported by AVP2000(T) devices
but not AVP1000.
force_output 3.0 Boolean When true, device outputs a blank video output with a uniform color.
Output also fixed format of 720p60.
Note: Only supported for receiver (RX) devices capable of operating in
genlock mode only (AVP1000) not available to devices that
support video display modes (AVP2000(T)).

PDS-062489 Rev 1.6 Page 195 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.7.2 Status
None
6.8.7.3 Inputs
None
6.8.7.4 Example
Example shows a color generator node JSON object returned as part of the output of “get device”.
{
"type" : "COLOR_GENERATOR",
"index" : 0,
"configuration" : {
"enable" : false,
"color" : "000000"
},
"status" : {},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.8 Frame Buffer Node (Type FRAME_BUFFER)


This section describes a Node object with type member set to FRAME_BUFFER.
6.8.8.1 Configuration (FrameBufferNodeConfig)
{
"display_mode" : String,
"width" : Integer,
"height" : Integer,
"horiz_offset" : Integer,
"vert_offset" : Integer,
"frames_per_second" : Integer,
"keep_width" : Integer,
"keep_height" : Integer,
"viewport_horiz" : Integer,
"viewport_vert" : Integer,
"viewport_width" : Integer,
"viewport_height" : Integer
"aspect_ratio_mode" : String,
"has_auto_wall_configurations" : Boolean,
"auto_wall_configurations" : {
"grid_width" : Integer,
"grid_height" : Integer,
"grid_index_horiz" : Integer,
"grid_index_vert" : Integer,
"bezel_horiz" : Integer,
"bezel_vert" : Integer,
“multiview_layout” : String
}

PDS-062489 Rev 1.6 Page 196 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 115: Frame buffer node object members

Member name Since Type Description


display_mode 3.0 String Processing display mode.
Will be one of the following:
FAST_SWITCHED Full screen fast switch
mode
GENLOCK_SCALING Full screen zero-frame
latency scaling mode
WALL_FAST_SWITCHED Fast switch display wall
mode
WALL_GENLOCKED Zero-frame latency
display wall mode
MULTIVIEW Multiview mode
width 3.0 Integer Video width
height 3.0 Integer Video height
horiz_offset 3.0 Integer Video horizontal offset
vert_offset 3.0 Integer Video vertical offset
frames_per_second 3.0 Integer Frame rate
keep_width 3.0 Integer Width of wall region of interest, in source pixels.
keep_height 3.0 Integer Height of wall region of interest, in source pixels.
viewport_horiz 3.0 Integer Viewport horizontal position. Only relevant in wall
display mode (fast switched or genlocked wall).
viewport_vert 3.0 Integer Viewport vertical position. Only relevant in wall display
mode (fast switched or genlocked wall).
viewport_width 3.0 Integer Viewport width. Only relevant in wall display mode
(fast switched or genlocked wall).
viewport_height 3.0 Integer Viewport width. Only relevant in wall display mode
(fast switched or genlocked wall).
aspect_ratio_mode 3.2 String The aspect ratio applied to the output. Options are
KEEP, CROP and STRETCH.
has_auto_wall_configurations 3.2 Boolean Indicates if the arguments for the Source Independent
(auto_wall) are currently applied. TRUE indicates this
feature enabled and FALSE that it is not.
grid_width 3.2 Integer Indicates the total number of columns that are
included in the wall grid.
grid_height 3.2 Integer Indicates the total number of rows that are included in
the wall grid.
grid_index_horiz 3.2 Integer The horizontal index of the display in the wall grid.
Example, if the wall grid is 3x2 and this is the second
display mounted horizontally the index would be 2.
grid_index_vert 3.2 Integer The vertical index of the display in the wall grid.
Example, if the wall grid is 3x2 and this is the first
display mounted vertically, the index would be 1.
bezel_horiz 3.2 Integer The horizontal bezel compensation applied, in pixels.
bezel_vert 3.2 Integer The vertical bezel compensation applied, in pixels.
PDS-062489 Rev 1.6 Page 197 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
multiview_layout 3.4 String When a device is operating in multiview mode and a
or layout has been loaded, this node provides details of
Integer the layout. This includes name, size, surfaces,
windows (position, size, index and surface assigned).
6.8.8.2 Status (FrameBufferNodeStatus)
{
"source_video" : VideoFormat
}
Table 116: Frame buffer node status object members

Member name Since Type Description


source_video 3.0 VideoFormat Format of video source (full screen and wall modes only)
6.8.8.3 Inputs
Table 117: Frame buffer node input object members

Input name Since Configurable Description


main 3.0 No Video input for full screen and wall modes. Source is a subscription.
multiview 3.0 No Video inputs for multiview. There are multiple inputs with this name,
however each has a unique assigned index. Each input is also connected
to a subscription.
6.8.8.4 Example
Below shows a frame buffer node JSON object returned as part of the output of a “get device“ command.
{
type: FRAME_BUFFER,
index: 0,
configuration: {
display_mode: FAST_SWITCHED,
width: 0,
height: 0,
horiz_offset: 0,
vert_offset: 0,
frames_per_second: 0,
keep_width: 0,
keep_height: 0,
viewport_horiz: 0,
viewport_vert: 0,
viewport_width: 0,
viewport_height: 0,
aspect_ratio_mode: NONE,
has_auto_wall_details: false
},
status: {
source_video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,

PDS-062489 Rev 1.6 Page 198 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
}
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}
},
{
name: multiview,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}
},
{
name: multiview,
index: 1,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 1
}
}
},
{
name: multiview,
index: 2,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 2
}
}
},

{
name: multiview,

PDS-062489 Rev 1.6 Page 199 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
index: 30,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 30
}
}
},
{
name: multiview,
index: 31,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 31
}
}
},
}
}
]
},
For more information on the get command, refer to section 4.7 Command get for details.

6.8.9 Frame Rate Converter Node (Type FRAME_RATE_CONVERTER)


This section describes a Node object with type member set to FRAME_RATE_CONVERTER.
6.8.9.1 Configuration Status (FrameRateConverterNodeConfig)
None
6.8.9.2 Status (FrameRateConverterNodeStatus)
{
"divide_factor" : Integer
}
Table 118: Frame rate converter node object members

Member name Since Type Description


divide_factor 3.0 Integer Factor by which the frame rate is divided
6.8.9.3 Inputs
Table 119: Frame rate converter node input object members

Input name Since Configurable Description


Main 3.0 No Main video input.

PDS-062489 Rev 1.6 Page 200 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.9.4 Example
Example shows a frame rate converter node JSON object returned as part of the output of “get device”.
{
"type" : "FRAME_RATE_CONVERTER",
"index" : 0,
"configuration" : {},
"status" : {
"divide_factor" : 2
},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {},
"status" : {
"source" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.10 HDMI Decoder Node (Type HDMI_DECODER)


This section describes a Node object with type member set to HDMI_DECODER.
Note: This node type is included in the response of a get edid command, as well as a get settings
response. However, in the response of a get edid command, the returned node only contains the
configuration member, which itself only contains the edid member.
6.8.10.1 Configuration (HdmiDecoderNodeConfig)
{
"edid" : String,
"hdcp_support_enable" : Boolean,
"hdcp_22_support_disable" : Boolean,
}
Table 120: HDMI decoder node object members

Member name Since Type Description


edid 3.0 String Configured EDID seen by connected HDMI sources.
Format of member is hexadecimal string with 512-
character length representing 256 bytes of data.
Note: Not included in response of a get settings
but is in response of get edid command.

PDS-062489 Rev 1.6 Page 201 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
hdcp_support_enable 3.0 Boolean Enable HDCP support.
When disabled, device reports to the HDMI source that is
does not support HDCP.
TIPS:
 Some laptops and other HDMI sources always encrypt
video with HDCP if the sink connected to it supports it,
even when not playing back HDCP-protected content.
 Can cause problems when trying to display video from
HDMI sources on monitors without HDCP support.
 Disabling HDCP support in the transmitter device
solves this issue.
hdcp_22_support_disable 3.0 Boolean Disable HDCP 2.2 support.
When set true, device reports to HDMI source it only
supports HDCP 1.4 (if hdcp_support_enable is also
true).
6.8.10.2 Status (HdmiDecoderNodeStatus)
{
"hdcp_protected" : Boolean,
"hdcp_version" : String,
"hdmi_2_0_support" : Boolean,
"source_stable" : Boolean,
"video" : VideoFormat,
"has_video_details" : Boolean,
"video_details" : VideoFormatDetails,
"has_audio_details" : Boolean,
"audio_details" : AudioFormatDetails,
"has_audio_details_extended" : Boolean,
"audio_details_extended" : AudioFormatExtended,
"audio_downmix_support" : Boolean
}
Table 121: HDMI decoder node status object members

Member name Since Type Description


hdcp_protected 3.0 Boolean Indicates if HDMI source is HDCP protected.
hdcp_version 3.0 String Version of HDCP content protection:
NONE Content is not HDCP-protected.
HDCP_1_4 Supports HDCP 2.1 and below
(including 1.4).
HDCP_2_2 HDCP 2.2.
hdmi_2_0_support 3.0 Boolean Indicates if HDMI decoder supports HDMI 2.0
resolutions, such as 4K60.
source_stable 3.0 Boolean Indicates if device is receiving video from a
connected source.
Video 3.0 VideoFormat Indicates format of video received from the
source, only valid if source stable is true.
Undefined if source_stable is false.

PDS-062489 Rev 1.6 Page 202 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
has_video_details 3.0 Boolean
Indicates if detailed video format and timing
information available from device.
video_details 3.0 VideoFormatDetails Detailed video format and timing information.
Undefined when source_stable or
has_video_details is false.
has_audio_details 3.0 Boolean Indicates whether audio format information
available from device.
audio_details 3.0 AudioFormatDetails Information regarding audio format.
Undefined if source_stable or
has_audio_details is false.
has_audio_details_extended 3.0 Boolean Indicates if extended audio format information
available from the device.
audio_details_extended 3.0 AudioFormatExtended Extended data regarding audio format.
Undefined if either source_stable or
has_audio_details_extended false.
audio_downmix_support 3.0 Boolean Indicates if HDMI decoder generates a downmix
version of the extracted HDMI audio.

6.8.10.3 Inputs
Table 122: HDMI decoder node input object members

Input name Since Configurable Description


Main 3.0 Yes* Main video input.
Video input connector can be selected on devices that have multiple
inputs available.
Modes can also be selected where device automatically selects an input
with a video source present.

 The HDMI decoder node input is only configurable on devices with multiple video inputs.
6.8.10.4 Example
example shows an HDMI decoder node JSON object returned as part of the output of “get device”.
{
"type" : "HDMI_DECODER",
"index" : 0,
"configuration" : {
"edid" :
"00ffffffffffff000614000156524c420816010380341d780a01c1a05747982712
4c4c21080081400101010101010101010101010101023a801871382d40582c46004
0846300001e08e80030f2705a80b0588a00ba892100001e000000fc004170746f56
6973696f6e20200a000000fd0018550e853c000a202020202020012002034073580
102030405111213141f2021220607905d5e5f6263646061230d0707830f00006d03
0c001000383c20406801020367d85dc401788003e40f0000c0011d00bc52d01e20b
828554040846300001e023a80d072382d40102c458040846300001e023a80187138
2d40582c450040846300001e000000000000000000f2",
"hdcp_support_enable" : true,
"hdcp_22_support_disable" : false

PDS-062489 Rev 1.6 Page 203 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
"status" : {
"video" : {
"width" : 0,
"height" : 0,
"frames_per_second" : 0,
"color_space" : "RGB",
"bits_per_pixel" : 10,
"scan_mode" : "PROGRESSIVE"
},
"has_video_details" : true,
"video_details" : {
"pixel_clock" : 0,
"total_width" : 0,
"total_height" : 0,
"hsync_width" : 0,
"hsync_front_porch" : 0,
"hsync_negative" : false,
"vsync_width" : 0,
"vsync_front_porch" : 0,
"vsync_negative" : false,
"vic" : 0,
"has_hdmi_vic" : false,
"hdmi_vic" : 0,
"picture_aspect" : "ASPECT_NO_DATA",
"has_active_format" : false,
"active_format" : 0,
"it_content_type" : "NO_DATA",
"scan_information" : "NO_DATA",
"colorimetry" : "RGB",
"rgb_range" : "DEFAULT",
"ycc_range" : "LIMITED"
},
"has_audio_details" : true,
"audio_details" : {
"sampling_frequency" : 48000,
"number_of_channels" : 8
},
"has_audio_details_extended" : true,
"audio_details_extended" : {
"channel_allocation" : 0,
"sample_size" : 24,
"level_shift_value" : 0,
"lfe_playback_level" : 0,
"audio_encoding_type" : "LPCM",
"is_downmix_inhibited" : false
},
"hdcp_protected" : false,
"hdcp_version" : "NONE",
"hdmi_2_0_support" : true,
"source_stable" : false,

PDS-062489 Rev 1.6 Page 204 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"audio_downmix_support" : true
},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {
"source" : {
"value" : 0,
"choices" : [
{
"value" : 0,
"description" : "HDMI Input 1",
"details" : {
"ref_class" : "NODE",
"ref_type" : "VIDEO_INPUT",
"ref_index" : 0
}
},
{
"value" : 1,
"description" : "Display Port Input 1",
"details" : {
"ref_class" : "NODE",
"ref_type" : "VIDEO_INPUT",
"ref_index" : 1
}
},
{
"value" : 32,
"description" : "Automatic Input Selection
(HDMI Input 1)",
"details" : {
"ref_class" : "AUTOMATIC",
"ref_type" : null,
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
"ref_class" : "NODE",
"ref_type" : "VIDEO_INPUT",
"ref_index" : 0
}
}
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 205 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.11 HDMI Encoder Node (Type HDMI_ENCODER)
This section describes a Node object with type member set to HDMI_ENCODER.
6.8.11.1 Configuration (HdmiEncoderNodeConfig)
{
"hdcp_output_mode" : String
“hdmi_tx_5v": String
}
Table 123: HDMI Encoder node status object members

Member name Since Type Description


hcdp_output_mode 3.0 String The following nodes supported for the HDCP Output mode:
UNSUPPORTED Feature is unsupported on this device
FOLLOW_SINK_1 Sets HDCP output level to the highest HDCP
capability of sink.
FOLLOW_SINK_2 Sets HDCP output level to HDCP 1.4 when
possible.
FOLLOW_SOURCE Sets HDCP output level to same as the source.
hdmi_tx_5v 3.5 String API control value of AUTO or LOW.
AUTO indicates device is currently set to operate in "normal" mode:
• In switch mode, the HDMI TX 5V output is always HIGH
• In loopback mode, it follows 5V loopback mode rules.
• In P2P mode, it follows 5V mirroring rules.
LOW indicates the argument is set to forced remain LOW, overriding
any other mode. Therefore, regardless of the operating mode (switch,
P2P or loopback), when the configuration is set to LOW the HDMI TX
5V is always LOW.
Refer to the SDVoE Developers Application Note Library section 8.8
BlueRiver Receiver (HDMI TX 5V) API Control for further information.

6.8.11.2 Status (HdmiEncoderNodeStatus)


{
"hdcp_protected" : Boolean,
"hdmi_2_0_support" : Boolean,
"source_stable" : Boolean,
"video" : VideoFormat,
"has_video_details" : Boolean,
"video_details" : VideoFormatDetails,
}
Table 124: HDMI Encoder node status object members

Member name Since Type Description


hdcp_protected 3.0 Boolean Indicates if HDCP protection is enabled.
Automatically enabled if source is HDCP protected.
hdmi_2_0_support 3.0 Boolean Indicates if the HDMI encoder supports HDMI 2.0

PDS-062489 Rev 1.6 Page 206 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member name Since Type Description
resolutions (e.g. 4K60).
source_stable 3.0 Boolean Indicates device is receiving video from the source.
Video 3.0 VideoFormat Format of video being output by the HDMI encoder.
Undefined if source_stable is false.
has_video_details 3.0 Boolean Indicates whether detailed video format and timing
information is available from this device.
video_details 3.0 VideoFormatDetails Detailed video format and timing information.
Undefined if source_stable or
has_video_details is false.
6.8.11.3 Inputs
Table 125: HDMI Encoder node input object members

Input name Since Configurable Description


main 3.0 No Main video input.
A device may support one or both of the following values:
0 -- Video from a video subscription (genlock mode)
1 -- Video from a frame buffer (frame buffer mode)
audio 3.0 Yes HDMI audio source.
A receiver and transceiver may support none, some or all of the
following values:
2 -- HDMI audio (original from video subscription in genlock mode)
3 -- Stereo audio subscription
6 -- HDMI audio subscription (stereo downmix)
7 -- HDMI audio subscription (all available channels)
8 – Multichannel audio subscription
9 – Local Multichannel audio
Note: Not all audio types are available to all endpoint devices,
supported audio is based on the hardware design and capabilties.
Refer to the API application note library for more information.
6.8.11.4 Example
Example shows an HDMI encoder node JSON object returned as part of the output of “get device”.
{
"type" : "HDMI_ENCODER",
"index" : 0,
"configuration" : {},
"status" : {
"video" : {
"width" : 1920,
"height" : 1080,
"frames_per_second" : 60,
"color_space" : "RGB",
"bits_per_pixel" : 8,
"scan_mode" : "PROGRESSIVE"
},
PDS-062489 Rev 1.6 Page 207 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"has_video_details" : true,
"video_details" : {
"pixel_clock" : 148500000,
"total_width" : 2200,
"total_height" : 1125,
"hsync_width" : 44,
"hsync_front_porch" : 88,
"hsync_negative" : false,
"vsync_width" : 5,
"vsync_front_porch" : 4,
"vsync_negative" : false,
"vic" : 16,
"has_hdmi_vic" : false,
"hdmi_vic" : 0,
"picture_aspect" : "ASPECT_16_9",
"has_active_format" : false,
"active_format" : 0,
"it_content_type" : "GRAPHICS",
"scan_information" : "NO_DATA",
"colorimetry" : "BT709",
"rgb_range" : "DEFAULT",
"ycc_range" : "LIMITED"
},
"hdcp_protected" : false,
"hdcp_version" : "NONE",
"hdmi_2_0_support" : true,
"source_stable" : false
},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {
"source" : {
"value" : 0,
"choices" : [
{
"value" : 0,
"description" : "Genlock Mode",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI",
"ref_index" : 0
}
},
{
"value" : 1,
"description" : "Frame Buffer Mode",
"details" : {
"ref_class" : "NODE",
"ref_type" : "FRAME_BUFFER",

PDS-062489 Rev 1.6 Page 208 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI",
"ref_index" : 0
}
}
},
{
"name" : "audio",
"index" : 0,
"configuration" : {
"source" : {
"value" : 2,
"choices" : [
{
"value" : 2,
"description" : "HDMI Audio (from HDMI Video in
Genlock Mode)",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
},
{
"value" : 3,
"description" : "Stereo Audio",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "STEREO_AUDIO",
"ref_index" : 0
}
},
{
"value" : 6,
"description" : "HDMI Audio (Stereo Downmix)",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
},
{
"value" : 7,

PDS-062489 Rev 1.6 Page 209 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"description" : "HDMI Audio (All Available
Channels)",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
},
{
"value" : 8,
"description" : "Multi channel Audio",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "MULTICH_AUDIO",
"ref_index" : 0
}
},
{
"value" : 9,
"description" : "Multi Channel Audio Local Loop
Out",
"details" : {
"ref_class" : "NODE",
"ref_type" : "MULTICH_AUDIO_INPUT",
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 210 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.12 HDMI Monitor Node (Type HDMI_MONITOR)
This section describes a Node object with type member set to HDMI_MONITOR.
Note: This node type is included in the response to a “get edid” command (in addition to
get settings). However, in the response to a get edid command, the returned node only
contains the status member.
6.8.12.1 Configuration (HdmiMonitorNodeConfig)
None
6.8.12.2 Status (HdmiMonitorNodeStatus)
{
"connected" : Boolean,
"edid" : String
}
Table 126: HDMI monitor node status object members

Member name Since Type Description


connected 3.0 Boolean Indicates if there is a connected monitor (HPD – Hot-Plug Detect).
Note: Included in response of both get edid and get settings commands.
edid 3.0 String EDID of the connected monitor.
Format of this member is a hexadecimal string with a length of 512 characters
(represents 256 bytes of data). If no monitor is connected (see connected
member), member contains an empty string.
Note: Not included in response of a get settings command but is
included in response of a get edid command.
6.8.12.3 Inputs
Table 127: HDMI monitor node input object members

Input name Since Configurable Description


main 3.0 No HDMI encoder which sends video to this monitor
6.8.12.4 Example
Example shows an HDMI monitor node JSON object returned as part of the output of “get device”.
{
"type" : "HDMI_MONITOR",
"index" : 0,
"configuration" : {},
"status" : {
"connected" : true,
"edid" :
"00ffffffffffff004c2d5706333244590a140103801009782aee91a3544c99260f
5054230800a9408180814081009500b30001010101023a801871382d40582c4500a
05a0000001e011d007251d01e206e285500a05a0000001e000000fd00323c1b5111
000a202020202020000000fc0053796e634d61737465720a2020013b02031cf3489
0041f0514130312230907078301000066030c00100080011d80d0721c1620102c25
80a05a0000009e011d8018711c1620582c2500a05a0000009e011d00bc52d01e20b

PDS-062489 Rev 1.6 Page 211 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
8285540a05a0000001e011d007251d01e206e285500a05a0000001e8c0ad0902040
31200c405500a05a0000001800000000000000000075"
},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {},
"status" : {
"source" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_ENCODER",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.13 Multichannel Audio Input Node (Type MULTICH_AUDIO_INPUT)


This section describes a Node object with type member set to MULTICH_AUDIO_INPUT.
6.8.13.1 Configuration
{
"sampling_frequency" : SamplingFrequencyConfig,
"number_of_channels" : ChannelsNumberConfig,
"channel_allocation" : ChannelAllocationConfig,
"audio_encoding_type" : AudioEncodingTypeConfig
}
Table 128: Multichannel audio input node object members

Member name Since Type Description


sampling_frequency 3.0 SamplingFrequencyConfig Audio sampling rate configuration
number_of_channels 3.0 ChannelsNumberConfig Number of audio channels configuration
channel_allocation 3.0 ChannelsAllocationConfig HDMI audio channel allocation as reported in
CEA-861-F audio infoframe, from range of 0
to 0x31.
audio_encoding_type 3.0 AudioEncodingTypeConfig Audio encoding type, can be set to LPCM,
ENCODED_HBR or ENCODED_OTHER
Sampling Frequency Configuration (SamplingFrequencyConfig)
{
"value" : Integer,
"choices" : [SamplingFrequencyChoice, ...]
}

PDS-062489 Rev 1.6 Page 212 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 129: Multichannel audio sampling frequency configuration object members

Member name Since Type Description


Value 3.0 Integer Sampling frequency selection.
This value is sampling frequency in Hertz and must match
value member of an option listed in the choices member.
Note: Not all sampling rates are supported by all devices.
The valid choices are listed in the choices member.
Choices 3.0 Array of Sampling rate choices.
SamplingFrequencyChoice Note: Member not included in a get settings
response, get device command is required.
Sampling Frequency Choice (SampleFrequencyChoice)
{
"value" : Integer,
"description" : String,
"details" : Undefined
}
Table 130: Multichannel audio sampling frequency choice node status object members

Member name Since Type Description


Value 3.0 Integer Sampling frequency in Hertz, following values are supported 22050,
24000, 32000, 44100, 48000, 88200, 96000, 176400, 192000 and768000.
Description 3.0 String Human-readable description of this choice.
Details 3.0 Undefined Undefined. Reserved for future use.
Number of Audio Channels Configuration (ChannelsNumberConfig)
{
"value" : Integer,
"choices" : [ChannelsNumberChoice, ...]
}
Table 131: Multichannel audio number of audio channels node status object members

Member name Since Type Description


value 3.0 Integer Number of channels selection.
Values from 2 to 8 represent the number of audio channels.
Other values are reserved for future use. This value must
match the value member of one of the choices listed in the
choices member.
Note: Not all number of channels are supported by all
devices. The valid choices are the ones listed in the
choices member.
choices 3.0 Array of Number of audio channels choices.
ChannelsNumberChoice Note: This member is not included in the response of a
get settings command, a get device
command is required.

PDS-062489 Rev 1.6 Page 213 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Channels Number Choice (ChannelNumberChoice)
{
"value" : Integer,
"description" : String,
"details" : Undefined
}
Table 132: Channels number choice node status object members

Member name Since Type Description


Value 3.0 Integer Value of this choice.
Values from 2 to 8 represent the number of audio channels.
Other values are reserved for future use.
Description 3.0 String Human-readable description of this choice.
Details 3.0 Undefined Undefined. Reserved for future use.
Channel Allocation Configuration (ChannelAllocationConfig)
{
"value" : Integer,
"choices" : [ChannelAllocationChoice, ...]
}
Table 133: Channel Allocation node object members

Member name Since Type Description


value 3.0 Integer Channel allocation selection.
Values from 0 to 0x31 represent the audio channel
allocation of the incoming multichannel audio.
The channel allocation value is as reported in the CEA-861-F
documentation. Other values are reserved for future use.
This value must match the value member of one of the
choices listed in the choices member.
Note: Not all channel allocations are supported by all
devices. The valid choices are listed in the
choices member.
choices 3.0 Array of Channel Allocation choices.
ChannelsAllocationChoice Note: This member is not included in the response of a
get settings command. A get device
command is required.

Channel Allocation Choice (ChannelAllocationChoice)


{
"value" : Integer,
"description" : String,
"details" : Undefined
}

PDS-062489 Rev 1.6 Page 214 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 134: Channel Allocation Choice object members

Member name Since Type Description


Value 3.0 Integer Value of this choice.
Values from 0 to 0x31 represent the audio channel allocation
configuration. Other values are reserved for future use.
Description 3.0 String Human-readable description of this choice.
Details 3.0 Undefined Undefined. Reserved for future use.
Audio Encoding Configuration (AudioEncodingConfig)
Table 135: Audio Encoding member

Member name Since Type Description


audio_encoding_type 3.0 String Audio encoding type. Is one of the following:
LPCM Linear PCM audio format.
ENCODED_HBR Compressed high-bit-rate audio format.
ENCODED_OTHER Compressed non-high-bit-rate audio format.
6.8.13.2 Status
None
6.8.13.3 Inputs
None
6.8.13.4 Example
Example shows a multichannel audio input node JSON object returned as part of the output of a
“get device” command.
Reminder: “choice members” are not included in the response of a get settings command. A get
device command is required.
{
"type" : "MULTICH_AUDIO_INPUT",
"index" : 0,
"configuration" : {
"sampling_frequency" : {
"value" : 48000,
"choices" : [
{
"value" : 22050,
"description" : "22.05kHz",
"details" : null
},
{
"value" : 24000,
"description" : "24kHz",
"details" : null
},
{
"value" : 32000,
"description" : "32kHz",
"details" : null
},

PDS-062489 Rev 1.6 Page 215 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"value" : 44100,
"description" : "44.1kHz",
"details" : null
},
{
"value" : 48000,
"description" : "48kHz",
"details" : null
},
{
"value" : 88200,
"description" : "88.2kHz",
"details" : null
},
{
"value" : 96000,
"description" : "96kHz",
"details" : null
},
{
"value" : 176400,
"description" : "176.4kHz",
"details" : null
},
{
"value" : 192000,
"description" : "192kHz",
"details" : null
},
{
"value" : 768000,
"description" : "768kHz",
"details" : null
}
]
},
"number_of_channels" : {
"value" : 8,
"choices" : [
{
"value" : 2,
"description" : "2 Channels",
"details" : null
},
{
"value" : 3,
"description" : "3 Channels",
"details" : null
},
{
"value" : 4,
"description" : "4 Channels",
"details" : null
},
{

PDS-062489 Rev 1.6 Page 216 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"value" : 5,
"description" : "5 Channels",
"details" : null
},
{
"value" : 6,
"description" : "6 Channels",
"details" : null
},
{
"value" : 7,
"description" : "7 Channels",
"details" : null
},
{
"value" : 8,
"description" : "8 Channels",
"details" : null
}
]
}
"channel_allocation" : {
"value" : 0,
"choices" : [
{
"value" : 0,
"description" : "2 Channels (FL-FR)",
"details" : null
},
{
"value" : 1,
"description" : "2.1 Channels (FL-FR-LFE)",
"details" : null
},
{
"value" : 2,
"description" : "3 Channels (FL-FR-X-FC)",
"details" : null
},
{
"value" : 3,
"description" : "3.1 Channels (FL-FR-LFE-FC)",
"details" : null
},
{
"value" : 4,
"description" : "3 Channels (FL-FR-X-X-RC)",
"details" : null
},
{
"value" : 5,
"description" : "3.1 Channels (FL-FR-LFE-X-RC)",
"details" : null
},
{
"value" : 6,

PDS-062489 Rev 1.6 Page 217 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"description" : "4 Channels (FL-FR-X-FC-RC)",
"details" : null
},
{
"value" : 7,
"description" : "4.1 Channels (FL-FR-LFE-FC-RC)",
"details" : null
},
{
"value" : 8,
"description" : "4 Channels (FL-FR-X-X-RL-RR)",
"details" : null
},
{
"value" : 9,
"description" : "4.1 Channels (FL-FR-LFE-X-RL-RR)",
"details" : null
},
{
"value" : 10,
"description" : "5 Channels (FL-FR-X-FC-RL-RR)",
"details" : null
},
{
"value" : 11,
"description" : "5.1 Channels (FL-FR-LFE-FC-RL-RR)",
"details" : null
},
{
"value" : 12,
"description" : "5 Channels (FL-FR-X-X-RL-RR-RC)",
"details" : null
},
{
"value" : 13,
"description" : "5.1 Channels (FL-FR-LFE-X-RL-RR-RC)",
"details" : null
},
{
"value" : 14,
"description" : "6 Channels (FL-FR-X-FC-RL-RR-RC)",
"details" : null
},
{
"value" : 15,
"description" : "6.1 Channels (FL-FR-LFE-FC-RL-RR-RC)",
"details" : null
},
{
"value" : 16,
"description" : "6 Channels (FL-FR-X-X-RL-RR-RLC-RRC)",
"details" : null
},
{
"value" : 17,
"description" : "6.1 Channels (FL-FR-LFE-X-RL-RR-RLC-RRC)",

PDS-062489 Rev 1.6 Page 218 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"details" : null
},
{
"value" : 18,
"description" : "7 Channels (FL-FR-X-FC-RL-RR-RLC-RRC)",
"details" : null
},
{
"value" : 19,
"description" : "7.1 Channels (FL-FR-LFE-FC-RL-RR-RLC-RRC)",
"details" : null
},
{
"value" : 20,
"description" : "4 Channels (FL-FR-X-X-X-X-FLC-FRC)",
"details" : null
},
{
"value" : 21,
"description" : "4.1 Channels (FL-FR-LFE-X-X-X-FLC-FRC)",
"details" : null
},
{
"value" : 22,
"description" : "5 Channels (FL-FR-X-FC-X-X-FLC-FRC)",
"details" : null
},
{
"value" : 23,
"description" : "5.1 Channels (FL-FR-LFE-FC-X-X-FLC-FRC)",
"details" : null
},
{
"value" : 24,
"description" : "5 Channels (FL-FR-X-X-RC-X-FLC-FRC)",
"details" : null
},
{
"value" : 25,
"description" : "5.1 Channels (FL-FR-LFE-X-RC-X-FLC-FRC)",
"details" : null
},
{
"value" : 26,
"description" : "6 Channels (FL-FR-X-FC-RC-X-FLC-FRC)",
"details" : null
},
{
"value" : 27,
"description" : "6.1 Channels (FL-FR-LFE-FC-RC-X-FLC-FRC)",
"details" : null
},
{
"value" : 28,
"description" : "6 Channels (FL-FR-X-X-RL-RR-FLC-FRC)",
"details" : null

PDS-062489 Rev 1.6 Page 219 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
"value" : 29,
"description" : "6.1 Channels (FL-FR-LFE-X-RL-RR-FLC-FRC)",
"details" : null
},
{
"value" : 30,
"description" : "7 Channels (FL-FR-X-FC-RL-RR-FLC-FRC)",
"details" : null
},
{
"value" : 31,
"description" : "7.1 Channels (FL-FR-LFE-FC-RL-RR-FLC-FRC)",
"details" : null
},
{
"value" : 32,
"description" : "6 Channels (X-FCH-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 33,
"description" : "6.1 Channels (X-FCH-RR-RL-FC-LFE-FR-FL)",
"details" : null
},
{
"value" : 34,
"description" : "6 Channels (TC-X-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 35,
"description" : "6.1 Channels (TC-X-RR-RL-FC-LFE-FR-FL)",
"details" : null
},
{
"value" : 36,
"description" : "6 Channels (FRH-FLH-RR-RL-X-X-FR-FL)",
"details" : null
},
{
"value" : 37,
"description" : "6.1 Channels (FRH-FLH-RR-RL-X-LFE-FR-FL)",
"details" : null
},
{
"value" : 38,
"description" : "6 Channels (FRW-FLW-RR-RL-X-X-FR-FL)",
"details" : null
},
{
"value" : 39,
"description" : "6.1 Channels (FRW-FLW-RR-RL-X-LFE-FR-FL)",
"details" : null
},

PDS-062489 Rev 1.6 Page 220 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"value" : 40,
"description" : "7 Channels (TC-RC-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 41,
"description" : "7.1 Channels (TC-RC-RR-RL-FC-LFE-FR-FL)",
"details" : null
},
{
"value" : 42,
"description" : "7 Channels (FCH-RC-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 43,
"description" : "7.1 Channels (FCH-RC-RR-RL-FC-LFE-FR-FL)",
"details" : null
},
{
"value" : 44,
"description" : "7 Channels (TC-FCH-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 45,
"description" : "7.1 Channels (TC-FCH-RR-RL-FC-LFE-FR-FL)",
"details" : null
},
{
"value" : 46,
"description" : "7 Channels (FRH-FLH-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 47,
"description" : "7.1 Channels (FRH-FLH-RR-RL-FC-LFE-FR-FL)",
"details" : null
},
{
"value" : 48,
"description" : "7 Channels (FRW-FLW-RR-RL-FC-X-FR-FL)",
"details" : null
},
{
"value" : 49,
"description" : "7.1 Channels (FRW-FLW-RR-RL-FC-LFE-FR-FL)",
"details" : null
}
]
},
"audio_encoding_type" : "LPCM",
},
"status" : {}, "inputs" : []
}

PDS-062489 Rev 1.6 Page 221 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
For more information on the get command, refer to section 4.7 Command get for details.

6.8.14 Multi Channel Audio Output Node (Type MULTICH_AUDIO_OUTPUT)


This section describes a Node object with type member set to MULTICH_AUDIO_OUTPUT.
6.8.14.1 Configuration (MULTICH_AUDIO_OUTPUT)
None
6.8.14.2 Status
None
6.8.14.3 Inputs
Table 136: Multichannel audio output node object members

Input name Since Configurable Description


main 3.0 Yes Audio source.
A transmitter may support none, some or all of the following:
3 -- Local Stereo audio
6 -- Local HDMI audio (stereo downmix)
7 -- Local HDMI audio
8 – Multichannel audio subscription (audio return channel)
13 -- Stereo audio subscription
14 -- HDMI audio subscription
15 -- HDMI audio subscription (stereo downmix)
A receiver may support none, some or all of the following:
3 -- Stereo audio subscription
6 -- HDMI audio subscription (stereo downmix)
7 -- HDMI audio subscription
8-- Multichannel audio subscription
10 -- Local Stereo audio
Note: Not all audio types are available to all endpoint devices, supported
audio is based on the hardware design and capabilities.
A transceiver may support none, some or all of the following:
3 -- Stereo audio subscription
6 -- HDMI audio subscription (stereo downmix)
7 -- HDMI audio subscription
8 -- Multichannel audio subscription
10 -- Local Stereo audio
11 -- Local HDMI audio
12 -- Local HDMI audio (stereo downmix)
If a device has a multichannel audio output but does not support any of the
choices above, then the following choice is listed:
0 -- No audio source available
Attempting to set this last value as the selected input using a set
property request will yield an ILLEGAL_ARGUMENT error.

PDS-062489 Rev 1.6 Page 222 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.14.4 Examples
Example shows a multichannel audio output node JSON object returned as part of the output of the
“get device” command called on a transmitter target device.
{
"type" : "MULTICH_AUDIO_OUTPUT",
"index" : 0,
"configuration" : {},
"status" : {},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {
"source" : {
"value" : 7,
"choices" : [
{
"value" : 3,
"description" : "Stereo Audio Local Loop Out",
"details" : {
"ref_class" : "NODE",
"ref_type" : "STEREO_AUDIO_INPUT_OUTPUT",
"ref_index" : 0
}
},
{
"value" : 6,
"description" : "HDMI Audio Local Loop Out
(Downmix)",
"details" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
},
{
"value" : 7,
"description" : "HDMI Audio Local Loop Out (All
Channels)",
"details" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
PDS-062489 Rev 1.6 Page 223 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
}
}
]
}
This second example shows an multichannel audio output node JSON object as returned as part of the output of
the “get device” command called on a receiver target device.
{
"type" : "MULTICH_AUDIO_OUTPUT",
"index" : 0,
"configuration" : {},
"status" : {},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {
"source" : {
"value" : 8,
"choices" : [
{
"value" : 3,
"description" : "Stereo Audio",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "STEREO_AUDIO",
"ref_index" : 0
}
},
{
"value" : 6,
"description" : "HDMI Audio (Stereo Downmix)",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
},
{
"value" : 7,
"description" : "HDMI Audio (All Available
Channels)",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "HDMI_AUDIO",
"ref_index" : 0
}
PDS-062489 Rev 1.6 Page 224 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
"value" : 8,
"description" : "Multi Channel Audio",
"details" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "MULTICH_AUDIO",
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "MULTICH_AUDIO",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.15 Infrared Decoder Node (Type INFRARED_DECODER)


This section describes a Node object with type member set to INFRARED_DECODER.
6.8.15.1 Configuration (INFRARED_DECODER)
None
6.8.15.2 Status
None
6.8.15.3 Inputs
None
6.8.15.4 Example
The example below shows an infrared decoder node JSON object as returned as part of the output of the
“get device” command.
{
"type" : "INFRARED_DECODER",
"index" : 0,
"configuration" : {},
"status" : {},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 225 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.16 Infrared Encoder Node (Type INFRARED_ENCODER)
This section describes a Node object with type member set to INFRARED_ENCODER.
6.8.16.1 Configuration (INFRARED_ENCODER)
None
6.8.16.2 Status
{
"data_length_max" : Integer
}
Table 137: Infrared encoder node object members

Member name Since Type Description


data_length_max 3.0 Integer Maximum length, in bytes, of the Pronto code that can be sent to the
infrared encoder.
6.8.16.3 Inputs
Table 138: Infrared encoder input node object members

Input name Since Configurable Description


Network 3.0 No Associated network subscription.
6.8.16.4 Example
This example shows an infrared encoder node JSON object as returned as part of the output of “get device”.
{
"type" : "INFRARED_ENCODER",
"index" : 0,
"configuration" : {},
"status" : {},
"inputs" : [{
"name" : "network",
"index" : 0,
"configuration" : {},
"status" : {
"source" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "INFRARED",
"ref_index" : 0
}
}
}]
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 226 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.17 Network Interface Node (Type NETWORK_INTERFACE)
This section describes a Node object with type member set to NETWORK_INTERFACE.
6.8.17.1 Configuration (NetworkInterfaceNodeConfig)
{
"hostname" : String,
"ip" : NetInterfaceIPConfig
}
Table 139: Network interface node object members

Member name Since Type Description


hostname 3.0 String Host name for the device on this interface
ip 3.0 NetInterfaceIPConfig Internet Protocol (IP) configuration
Network Interface IP Configuration (NetInterfaceIPConfig)
{
"address" : String,
"mode" : String,
"mask" : String,
"gateway" : String
}
Table 140: Network interface IP configuration node object members

Member name Since Type Description


address 3.0 String IP address.
mode 3.0 String One of the following:
MANUAL Internet Protocol configuration is fixed and configured manually.
DHCP Internet Protocol configuration is obtained from a DHCP server,
with fallback on auto-IP if no DHCP server is available.
AUTO_IP Internet Protocol configuration is obtained using Auto-IP,
regardless of whether an DHCP server is present or not.
mask 3.0 String IP subnet mask
gateway 3.0 String IP address of default gateway
6.8.17.2 Status (NetworkInterfaceNodeStatus)
{
"mac_address" : String,
"ip" : NetInterfaceIPStatus
}
Table 141: Network interface node status object members

Member name Since Type Description


mac_address 3.0 String MAC address for the interface.
Ip 3.0 NetInterfaceIPStatus Internet Protocol (IP) status.
Network Interface IP Status (NetInterfaceIPStatus)
{
PDS-062489 Rev 1.6 Page 227 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"address" : String
}
Table 142: Network interface IP status object members

Member name Since Type Description


Address 3.0 String IP address
6.8.17.3 Inputs
None
6.8.17.4 Example
Example shows network interface node JSON object returned as part of the output of “get device”.
{
"type" : "NETWORK_INTERFACE",
"index" : 0,
"configuration" : {
"hostname" : "PHILIPPE_TX68",
"ip" : {
"address" : "10.1.1.37",
"mode" : "DHCP",
"mask" : "255.255.255.0",
"gateway" : "10.1.1.1"
}
},
"status" : {
"mac_address" : "001ec0f03668",
"ip" : {
"address" : "10.1.1.37"
}
},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.18 Network Port Node (Type NETWORK_PORT)


This section describes a Node object with type member set to NETWORK_PORT which represents a physical
10GbE port (copper or fiber) on the device.
6.8.18.1 Configuration (NetworkPortNodeConfig)
{
"speed" : String
}
Table 143: Network port node object members

Member Since Type Description


Speed 3.0 String Speed configuration for the network port. Is one of the following:
SPEED_10G fixed 10Gbps speed
Note: Supported only if supports_speed_10g status member of node true.
PDS-062489 Rev 1.6 Page 228 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Member Since Type Description
SPEED_5G fixed 5Gbps speed
Note: Supported only if supports_speed_5g status member of node true.
SPEED_2_5G fixed 2.5Gbps speed
Note: Supported only if supports_speed_2_5g status member of node true.
AUTO_10G auto-negotiated up to 10Gbps speed
Note: Supported only if supports_auto_10g status member of node true.
AUTO_5G auto-negotiated up to 10Gbps speed
Note: Supported only if supports_auto_10g status member of node true.

6.8.18.2 Status (NetworkPortNodeStatus)


{
"active" : Boolean,
"speed" : Real,
"supports_speed_10g" : Boolean
"supports_speed_5g" : Boolean
"supports_speed_2_5g" : Boolean
"supports_auto_10g" : Boolean
"supports_auto_5g" : Boolean
}
Table 144: Network port node status object members

Member name Since Type Description


active 3.0 Boolean Indicates if the port currently selected as active.
On dual-10GbE port devices with automatic switchover, only one
port is active at a time.
Speed 3.0 Real The current speed of the port in Gbps.
supports_speed_10g 3.0 Boolean Indicates if SPEED_10G value supported for the speed
configuration member.
supports_speed_5g 3.0 Boolean Indicates if SPEED_5G value supported for the speed
configuration member.
supports_speed_2_5g 3.0 Boolean Indicates if SPEED_2_5G value supported for the speed
configuration member.
supports_auto_10g 3.0 Boolean Indicates if AUTO_10G value supported for the speed
configuration member.
supports_auto_5g 3.0 Boolean Indicates if AUTO_5G value supported for the speed
configuration member.
6.8.18.3 Inputs
None

PDS-062489 Rev 1.6 Page 229 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.18.4 Example
Example shows network switch node JSON object returned as part of the output of “get device” command.
{
"type" : "NETWORK_PORT",
"index" : 0,
"configuration" : {
"speed" : "AUTO_10G"
},
"status" : {
"active" : true,
"speed" : 5.0,
"supports_speed_10g" : true,
"supports_speed_5g" : true,
"supports_speed_2_5g" : true,
"supports_auto_10g" : true,
"supports_auto_5g" : true
},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.19 Network Switch Node (Type NETWORK_SWITCH)


This section describes a Node object with type member set to NETWORK_SWITCH.
6.8.19.1 Configuration (NetworkSwitchNodeConfig)
{
"gigabit_port_1_enable" : Boolean
}
Table 145: Network switch node object members

Member name Since Type Description


gigabit_port_1_enable 3.0 Boolean Enable the 1GbE port on the device.
6.8.19.2 Status
None
6.8.19.3 Inputs
None
6.8.19.4 Example
Example shows network switch node JSON object returned as part of the output of “get device” command.
{
"type" : "NETWORK_SWITCH",
"index" : 0,
"configuration" : {
"gigabit_port_1_enable" : false
},

PDS-062489 Rev 1.6 Page 230 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"status" : {},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.20 Scaler Node (Type Scaler)


This section describes a Node object with type member set to SCALER.
6.8.20.1 Configuration (ScalerNodeConfig)
{
"width" : Integer,
"height" : Integer
}
Table 146: Scaler node object members

Member name Since Type Description


width 3.0 Integer Scaled video width, in pixels
height 3.0 Integer Scaled video height, in pixels
6.8.20.2 Status (ScalerNodeStatus)
{
"video" : VideoFormat
}
Table 147: Scaler node status node object members

Member name Since Type Description


video 3.0 VideoFormat Output video format of the scaler.
6.8.20.3 Inputs
Table 148: scaler input node object members

Input name Since Configurable Description


main 3.0 Yes Main video input.
An HDMI decoder node or, for devices that support it, a frame rate
converter to select a different frame rate.
6.8.20.4 Example
Example shows a scaler node JSON object as returned as part of the output of the “get device” command.
{
"type" : "SCALER",
"index" : 0,
"configuration" : {
"width" : 0,
"height" : 0
},
"status" : {
"video" : {
"width" : 0,
PDS-062489 Rev 1.6 Page 231 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"height" : 0,
"frames_per_second" : 60,
"color_space" : "RGB",
"bits_per_pixel" : 8,
"scan_mode" : "PROGRESSIVE"
}
},
"inputs" : [
{
"name" : "main",
"index" : 0,
"configuration" : {
"source" : {
"value" : 0,
"choices" : [
{
"value" : 0,
"description" : "HDMI video input",
"details" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
},
{
"value" : 1,
"description" : "Frame rate converter",
"details" : {
"ref_class" : "NODE",
"ref_type" : "FRAME_RATE_CONVERTER",
"ref_index" : 0
}
}
]
}
},
"status" : {
"source" : {
"ref_class" : "NODE",
"ref_type" : "HDMI_DECODER",
"ref_index" : 0
}
}
}
]
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 232 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.21 Thumbnail Generator Node (Type THUMBNAIL_GENERATOR)
This section describes a Node object with type member set to THUMBNAIL_GENERATOR, applicable only the
NT1000 and NT2000 endpoint devices.
Refer to section 6.8 Nodes (Node) for details.
6.8.21.1 Configuration (ThumbnailGeneratorNodeConfig)
{
"frame_rate" : Real,
"hdcp" : Boolean,
"ssrc" : Integer,
"udp_port" : Integer
}
Table 149: Thumbnail Generator Node object members

Member name Since Type Description


frame_rate 3.0 Real The requested frame rate for the thumbnail stream.
hdcp 3.0 Boolean Whether thumbnails are produced when video input is HDCP protected.
ssrc 3.0 Integer RTP synchronization source (SSRC) identifier. This 32-bit value must be
unique for each thumbnail source. See RFC 3550 section 8 for detail.
udp_port 3.0 Integer Destination UDP port.
6.8.21.2 Status (ThumbnailGeneratorNodeStatus)
{
"width" : Integer,
"height" : Integer,
"frame_rate" : Real,
"bits_per_comp" : Integer,
"color_space" : String,
"colorimetry" : String
}
Table 150: Thumbnail Generator Node status members

Member name Since Type Description


width 3.0 Integer The width of each thumbnail
height 3.0 Integer The height of each thumbnail.
frame_rate 3.0 Real The actual frame rate for the thumbnail stream.
bits_per_comp 3.0 Integer The value 8 which indicates that there are 8 bits per colour component.
color_space 3.0 String The string YCBCR_422 which indicates the thumbnail stream is in the YCbCr
colour space with 4:2:2 chroma subsampling.
colorimetry 3.0 String The colorimetry of the thumbnail stream, is either BT709 for BT.709 or
BT601 for BT.601
6.8.21.3 Inputs
None

PDS-062489 Rev 1.6 Page 233 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.21.4 Example
The example shown below shows a thumbnail generator node JSON object as returned as part of the output of a
“get device” request for an NT2000 endpoint device.
{
"type" : "THUMBNAIL_GENERATOR",
"index" : 0,
"configuration" : {
"frame_rate" : 10.00,
"hdcp" : false,
"ssrc" : 1234,
"udp_port" : 6972
},
"status" : {
"width" : 320,
"height" : 180,
"frame_rate" : 10.00,
"bits_per_comp" : 8,
"color_space" : "YCBCR_422",
"colorimetry" : "BT601"
},
"inputs" : []
}

6.8.22 UART Node (Type UART)


This section describes a Node object with type member set to UART.
6.8.22.1 Configuration (UartNodeConfig)
{
"baud_rate" : Integer,
"data_bits" : Integer,
"stop_bits" : Integer,
"parity" : String
}
Table 151: UART node configuration object members

Member name Since Type Description


baud_rate 3.0 Integer Baud rate.
data_bits 3.0 Integer Number of data bits: 6, 7 or 8.
stop_bits 3.0 Integer Number of stop bits: 1 or 2.
parity 3.0 String Parity: NONE, ODD or EVEN.
6.8.22.2 Status
{
"usage" : String
}

PDS-062489 Rev 1.6 Page 234 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Table 152: UART node status object members

Member name Since Type Description


usage 3.0 String Indicates the UART port usage. Can have one of the following values:
EXPOSED Port with an external connector
RESERVED Port internally connected, for example to an external MCU.
6.8.22.3 Inputs
Table 153: UART node inputs object members

Input name Since Configurable Description


network 3.0 No Associated network subscription
6.8.22.4 Example
Example shows a UART node JSON object as returned as part of the output of a “get device” command.
{
"type" : "UART",
"index" : 0,
"configuration" : {
"baud_rate" : 57600,
"data_bits" : 8,
"stop_bits" : 1,
"parity" : "NONE"
},
"status" : {
"usage" : "RESERVED"
},
"inputs" : [{
"name" : "network",
"index" : 0,
"configuration" : {},
"status" : {
"source" : {
"ref_class" : "SUBSCRIPTION",
"ref_type" : "RS232",
"ref_index" : 0
}
}
}]
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 235 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.23 USB Human Interface Device (HID) Extender Node (USB_HID)
This section describes a Node object with type member set to USB_HID, represents a USB Human Interface
Device (HID) extender.
6.8.23.1 Configuration (UsbNodeConfig)
{
"role" : String
"security" : {
"level" : "security_level_value",
}
}
Table 154: USB HID node object members

Member name Since Type Description


role 3.0 String The role of the device as a USB extender:
DISABLED USB support is disabled.
LOCAL for a USB device that connects to a host (e.g. PC).
REMOTE for a USB host to which devices connect (keyboard,
mouse, etc.).
OTG (On-the-Go) the device automatically selects the role to be
applied, either REMOTE or LOCAL, according to connected device
type: USB device (REMOTE) or USB Host (LOCAL).
level 3.2 String Indicates USB HID device types to which encryption is to be applied.
DISABLED Encyption is not enabled.
ENABLED Encyption is added to IP communication for all USB
HID devices.
6.8.23.2 Status (UsbNodeStatus)
{
"usb_devices" : [USBDeviceStatus, …],
"usb_host" : USBHostStatus
}
Table 155: USB HID device node object members

Member name Since Type Description


usb_devices 3.0 Array of The status of USB devices.
USBDeviceStatus • If device configured as a USB host (REMOTE role), member
reports status of USB devices connected to it.
• If device configured as a USB device (LOCAL role), reports
status of USB devices on the device to which it is paired.
• If USB support disabled, content of this member unspecified.
usb_host 3.0 USBHostStatus Status of the USB host (e.g. PC) connected to this device.
Member to be ignored if device configured as other than a USB
device (i.e. USB host or disabled).

PDS-062489 Rev 1.6 Page 236 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
The USBDeviceStatus JSON object has the following members:
{
"status" : String
}
Table 156: USB HID device status node object members

Member name Since Type Description


status 3.0 String One of the following:
DISCONNECTED No USB device is connected.
CONFIGURING USB device being configured following device
connection. This is a transient state.
UNSUPPORTED Connected USB device not supported. Example, not a
USB HID device.
CONNECTED USB device connected, configured and ready to use.
The USBHostStatus JSON object has the following members:
{
"status" : String
}
Table 157: USB HID Host status node object members

Member name Since Type Description


status 3.0 String One of the following:
DISCONNECTED Device is disconnected from the host.
CONFIGURING Device being configured by the USB host following
connection. This is a transient state.
CONNECTED Device is connected to USB host and fully configured.
6.8.23.3 Inputs
None
6.8.23.4 USB Stream Status
If USB HID encryption has been enabled, the encryption pairing status is included in the stream status section of
the USB_HID stream type.
Below shows an example of the USB_HID stream node:
{
"type" : "USB_HID",
"index" : 0,
"configuration" : {
"address" : "225.225.225.225",
"enable" : true,
"auto_stop" : false
},
"status" : {
"state" : "STREAMING",
"security" : {
"status" : "ENCRYPTED"
}
PDS-062489 Rev 1.6 Page 237 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
"source" : {
"ref_class" : "NODE",
"ref_type" : "USB_HID",
"ref_index" : 0
}
}
6.8.23.5 Example
Example below is a USB HID extender node JSON object returned as part of a get device” request.
{
"type" : "USB_HID",
"index" : 0,
"configuration" : {
"role" : "HOST"
},
"status" : {
"usb_devices" : [
{
"status" : "CONNECTED"
},
{
"status" : "UNSUPPORTED",
},
{
"status" : "DISCONNECTED",
}
],
"usb_host" : {
"status" : "CONNECTED"
},
"role" : "REMOTE" },
"inputs" : {}
}
This example is of the USB HID extender node with IP communication security enabled:
{
"type" : "USB_HID",
"index" : 0,
"configuration" : {
"role" : "REMOTE",
"security" : {
"level" : "ENABLED",
"encryption_key_type" : "DEFAULT"
}
},
"status" : {
"usb_devices" : [
{
"status" : "CONNECTED"
},

PDS-062489 Rev 1.6 Page 238 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"status" : "UNSUPPORTED",
},
{
"status" : "DISCONNECTED",
}
],
"usb_host" : {
"status" : "CONNECTED"
}
"role" : "REMOTE",
}
},
"inputs" : {}
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.24 Icron USB Extender Node (USB_ICRON)


This section describes a Node object with type member set to USB_ICRON.
6.8.24.1 Configuration (UsbIcronChipNodeConfig)
{
"extender_type" : String,
"program_mode" : String,
"rs232_port" : Integer
}
Table 158: Icron USB extender node object members

Member name Since Type Description


extender_type 3.0 String The type of extender:
LOCAL for a local extender (LEX).
REMOTE for a remote extender (REX).
program_mode 3.0 String The enabled programming mode for the USB extender:
FIRMWARE for the extender’s firmware.
EEPROM for the extender’s non-volatile configuration memory.
NONE if programming is disabled
Note: Programming of the Icron module is managed by the
hardware manufacturer.
rs232_port 3.0 Integer The (zero-based) number of the RS-232 port through which
programming of the USB extender is enabled.
If value of the program_mode member is NONE, value is undefined.

PDS-062489 Rev 1.6 Page 239 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.24.2 Status (UsbIcronChipNodeStatus)
{
"chip_present" : Boolean,
"mac_address" : String,
"reachable" : Boolean,
"revision" : String,
"ip_mode" : String,
"ip_address" : String,
"peer_mac_address" : String,
"peer_device_id" : String,
"link_status_support" : Boolean,
"linked" : Boolean
}
Table 159: Icron local USB extender status node object members

Member name Since Type Description


chip_present 3.0 Boolean TRUE indicates that an Icron module is detected. Property is
FALSE if Icron USB enabled in the hardware configuration but
has not been populated.
mac_address 3.0 String MAC address of the Icron module. If the module has not been
detected, this field is blank ("").
reachable 3.2 Boolean Indicates that the USB extender network interface is reachable
(TRUE) or not (FALSE) with an IP address.
revision 3.3 String The revision level of the Icron firmware.
ip_mode 3.3 String The active IP mode, either DHCP or manual (static).
peer_mac_address 3.2 String If paired, provides MAC address of the peer extender. If the
extender is not paired or an Icron module has not been detected
then this field is blank ("").
peer_device_id 3.3 String If currently paired, the device ID of the paired BlueRiver device is
shown associated with the peer Icron device. If Icron extender is
not paired or an Icron module is not detected field is blank (“”).
link_status_support 3.3 Boolean Indicates whether the Icron supports the linked attribute.
linked 3.3 Boolean Indicates if bidirectional communication is currently established.
Devices need to negociate the link before they can successfully
link. TRUE indicates this negotiation successful.
If devices currently are not paired or this link is not successfully
established, the status is FALSE. The field is also FALSE if the
link_status_support field reports FALSE.
6.8.24.3 Inputs
None

PDS-062489 Rev 1.6 Page 240 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.24.4 Example
The example provided shows the Icron USB extender node JSON object returned as part of a get
device” request.
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"device_node" : [
{
"device_id" : "0016c035566e",

{
"type" : "USB_ICRON",
"index" : 0,
"configuration" : {
"extender_type" : "REMOTE",
"program_mode" : "NONE",
"rs232_port" : 0
},
"status" : {
"chip_present" : true,
"mac_address" : "0016c35571d",
"reachable" : true,
"revision" : "1.9.4",
"ip_mode" : "DHCP",
"ip_address" : "192.168.100.22",
"peer_mac_address" : "192.168.100.20",
"peer_device_id" : "d8803962e132",
"link_status_support" : true,
"linked" : true
},
"inputs" : []
}
},
{
"device_id" : "d8803962e132",
{
"type" : "USB_ICRON",
"index" : 0,
"configuration" : {
"extender_type" : "LOCAL",
"program_mode" : "NONE",
"rs232_port" : 0
},
"status" : {
"chip_present" : true,
"mac_address" : "0016c035566f",
"reachable" : true,
"revision" : "1.9.4",
"ip_mode" : "DHCP",
PDS-062489 Rev 1.6 Page 241 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
"ip_address" : "192.168.100.20",
"peer_mac_address" : "192.168.100.22",
"peer_device_id" : "0016c035566e",
"link_status_support" : true,
"linked" : true
},
"inputs" : []
}
}
],
"error" : []
},
"error" : null
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.25 Video Input Node (Type VIDEO_INPUT)


This section describes a Node object with type member set to VIDEO_INPUT. This node represents a
physical video input connector.
6.8.25.1 Configuration (VIDEO_INPUT)
None
6.8.25.2 Status
{
"connector_type" : String
}
Table 160: Video input node object members

Member name Since Type Description


connector_type 3.0 String Indicates type of video input connector, is one of the following:
HDMI for an HDMI connector.
DISPLAY_PORT for a DisplayPort connector.
6.8.25.3 Inputs
None
6.8.25.4 Example
The example below shows a video input node JSON object as returned as part of the output of the
“get device” command.
{
"type" : "VIDEO_INPUT",
"index" : 0,
"configuration" : {},
"status" : {
"connector_type" : "HDMI"
},
"inputs" : []

PDS-062489 Rev 1.6 Page 242 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.26 Video Compressor Node (Type VIDEO_COMPRESSOR)


This section describes a Node object with type member set to VIDEO_COMPRESSOR.
6.8.26.1 Configuration (VIDEO_COMPRESSOR)
{
"always_compress” : Boolean,
"version” : Integer
}
Table 161: Video compressor node object members

Member name Since Type Description


always_compress 3.0 Boolean When true, HDMI stream 0 is always compressed without regards to
the video format.
Otherwise, compressed only when it is necessary to keep the video
bandwidth under 9Gbit/s.
Note: HDMI stream 1 is never compressed.
version 3.0 Integer Video compression version to apply.
Two options available:
2 For improved video compression.
1 For backward compatibility with devices that only support
this version.
Refer to the version_support member in section 6.8.26.2 for the
maximum version supported by a device.
Note: All devices receiving compressed video, HDMI stream 0 with
compression enabled, must be configured to decompress
with same compression version. Refer to section 6.8.27.1 for
configuration of the decompressor.
6.8.26.2 Status
{
"version_support” : Integer
}
Table 162: Video compressor status node object members

Member name Since Type Description


version_support 3.0 Integer Maximum compression version supported by this device. Can be
either 1 or 2.
6.8.26.3 Inputs
None

PDS-062489 Rev 1.6 Page 243 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.26.4 Example
The example below shows a video compressor node JSON object as returned as part of the output of the
“get device” command.
{
"type" : "VIDEO_COMPRESSION",
"index" : 0,
"configuration" : {
“always_compress” : false,
“version” : 2},
"status" : {
“supported_version” : 2},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

6.8.27 Video Decompressor Node (Type VIDEO_DECOMPRESSOR)


This section describes a Node object with type member set to VIDEO_DECOMPRESSOR.
6.8.27.1 Configuration (VIDEO_DECOMPRESSOR)
{
"version” : Integer
}
Table 163: Video decompressor node object members

Member Since Type Description


version 3.0 Integer Video compression version to use for decompression.
Can be either:
2 Improved video compression.
1 Backwards compatibility with devices that only support this version.
Refer to the version_support member in section 6.8.27.2 for the maximum
version supported by a device.
Must be set to same version as device sending the compressed video, such
as HDMI stream 0 if compression enabled. Refer to section 6.8.26.1 for
configuration of compression version for sending device.
6.8.27.2 Status
{
"version_support” : Integer
}
Table 164: Video decompressor status node object members

Member name Since Type Description


version_support 3.0 Integer Maximum compression version supported by device.
Can be either 1 or 2. Refer to Table 163: Video decompressor node
object members for definitions.

PDS-062489 Rev 1.6 Page 244 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
6.8.27.3 Inputs
None
6.8.27.4 Example
Example shows a video decompressor node JSON object returned as part of the output of the “get device”.
{
"type" : "VIDEO_DECOMPRESSION",
"index" : 0,
"configuration" : {
“version” : 2},
"status" : {
“supported_version” : 2},
"inputs" : []
}
For more information on the get command, refer to section 4.7 Command get for details.

PDS-062489 Rev 1.6 Page 245 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 246 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7 Configurable Device Properties
Some device properties are configurable, this section reviews the device properties that can be managed using
the set property command. Important to note that not all properties are supported by all devices.
As specified in the argument descriptions of the set property command, the key is a path that refers to an object
member inside the device object, starting at the root of the device object. Refer to section 4.18 Command set
and section 6 Device Object Definition (DeviceObject) for more information.

7.1 Device Configuration


The following table lists the configurable properties in the device configuration section of the device object.
Refer to section 6.3 Device capabilities (DeviceCapabilities) for more information.
Table 165: Device configuration properties

Property key
configuration.device_name
Since 3.0
Type String
Description Device name, maximum 19 characters. All displayable characters in the ASCII character
set are allowed, meaning a to z, A to Z, 0 to 9, space, as well as symbols. Starting in API
3.5 the device name can be used in an API request instead of the device ID (MAC
address). As of the BlueRiver firmware 1.5 the device name is persistent following a
factory reset. Refer to the SDVoE Developers API Application Note Library for example
and details of using the device name.
Note: This property can only be set for a single device at a time.
Property key
configuration.resume_streaming
Since 3.0
Type Boolean
Description Specifies whether device streams are restarted automatically after a reboot.
To enable this option specify TRUE (default) and to disable it specify FALSE.
Notes:
i. Current subscriptions of the device being rebooted remain subscribed.
ii. If auto_stop is enabled for the scaled stream (stream 1), then stream 1 is
not restarted, refer to section 7.2 Stream Configuration for details on
this option.
Property key
configuration.device_mode
Since 3.1
Type String
Description This property used to modify the device mode of an BlueRiver device.
Availale options are:
TRANSMITTER | RECEIVER | TRANSCEIVER
Refer to
Table 166: Valid device mode changes for details and applying this setting to devices.

PDS-062489 Rev 1.6 Page 247 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Property key
configuration.locate_mode
Since 3.0
Type Boolean
Description When enabled LEDS flash for identification purposes. Allows the physical device to be
located when in a group, such as an equipment rack.
To enable this option specify TRUE and to disable it specify FALSE (default).
Table 166: Valid device mode changes

ASIC Hardware** TRANSMITTER RECEIVER TRANSCEIVER


AVP2000T Video in/out Transmitter Receiver Transceiver
Video in Transmitter Invalid, no change Invalid, no change
Video out Invalid, no change Receiver Invalid, no change
AVP2000/AVP1000 Video in/out Transmitter Receiver Invalid, no change
Video in Transmitter Invalid, no change Invalid, no change
Video out Invalid, no change Receiver Invalid, no change
** Important to note that hardware refers to the HDMI connectors present on the BlueRiver ASIC devices,
possible that device has only a Video In or Video Out for transmitter and receiver devices, respectively.

7.2 Stream Configuration


The following table lists the configurable properties in the stream configuration section of the device object.
Refer to section 6.6.1 Stream Configuration (StreamConfig) for details.
Table 167: Stream configuration properties

Property key
streams[stream_type:index].configuration.source.value
Since 3.0
Type Integer
Description Stream source.
Select between original and framerate converted versions of HDMI stream 0 on devices
supporting it. Since applicable to stream 0, the stream_type index is always 0.
TIP: Frame rate divider can also be applied to the scaled stream (stream 1), refer to
section 7.15 Scaler Node Configuration.
streams[stream_type:index].configuration.remove_audio
Since 3.0
Type Integer
Description AUX audio filtering.
Remove the aux audio from HDMI stream 0. 1 = enable | 0 = disable
streams[HDMI:index].configuration.auto_stop
Since 3.0
Type Integer
Description When, auto_stop is enabled, if video input becomes unstable the scaled stream
(stream 1) is stopped. Once the condition is resolved, the stream needs to be started.
1 = enable | 0 = disable
Applicable to scaled stream (stream 1) only, therefore the HDMI:index is always 1.

PDS-062489 Rev 1.6 Page 248 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.3 Stereo Audio Input/Output Node Configuration
The following table lists the configurable properties of a stereo audio input/output node of the device object.
Refer to section 6.8.3 Stereo Audio Input/Output Node (Type STEREO_AUDIO_INPUT_OUTPUT) for details.
Note: The STEREO_AUDIO_INPUT_OUTPUT:index is 0 and applicable only to encoder (TX) or
transceiver (TR) devices. Confirm a device’s capabilities using the get capabilities command.
Table 168: Stereo audio input/output node configuration properties

Property key
nodes[STEREO_AUDIO_INPUT_OUTPUT:index].configuration.direction
Since 3.0
Type String
Description Set the direction of the stereo audio port for a transmitter:
INPUT to set the port as an input
OUTPUT to set the port as an output
nodes[STEREO_AUDIO_INPUT_OUTPUT:index].inputs[main:0].configuration.source.value
Since 3.0
Type Integer
Description Audio input source. A transmitter device may support none, some or all of the
following values:
2 -- local HDMI audio (stereo downmix).
8 – Multichannel audio subscription (audio return channel).

7.4 Stereo Audio Output Node Configuration


The following table lists the configurable properties of a stereo audio output node of the device object. Refer to
section 6.8.4 Stereo Audio Output Node (Type STEREO_AUDIO_OUTPUT) for details.
Table 169: Stereo output node configuration properties

Property key
nodes[STEREO_AUDIO_OUTPUT:index].inputs[main:0].configuration.source.value
Since 3.0
Type Integer
Description Setting the stereo audio output source.
A device may support none, some or all of the following values:
2 -- HDMI audio (stereo downmix)
3 -- Stereo audio
8 – Multichannel audio subscription
Note: The index is 0 and applicable all device types, receivers (RX), transmitters
(TX) or transceivers (TR). Confirm a device’s capabilities using the get
capabilities command.

PDS-062489 Rev 1.6 Page 249 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.5 CEC Node Configuration
The following table lists the configurable properties of the CEC node of the device object. Refer to section 6.8.6
CEC Node (Type CEC) for details.
Table 170: CEC P2P node configuration property

Property key
nodes[CEC:index].configuration.p2p_mode.value
Since 3.2
Type String
Description Two options are available, API and PASSTHROUGH, where latter is the default.
When set to API, then CEC injection via a set property request is enabled for
BlueRiver ASIC devices that are operating in Point-to-Point mode. When API is
enabled then Passthrough of CEC data is disabled, similarly when set to
PASSTHROUGH the API mode is disabled.
Note: The index entered in the key string is 0 and applicable all ASIC devices,
regardless of if a receiver (RX), transmitter (TX) or transceiver (TR). Confirm a
device’s capabilities using the get capabilities command.

7.6 Color Generator Node Configuration


This section describes a Node Object with type member set to COLOR_GENERATOR. Refer to section 6.8.7 Color
Generator Node (Type COLOR_GENERATOR) for details.
Note: The COLOR_GENERATOR:index is always 0. Only supported for receivers (RX) operating in a
display mode other than GENLOCKED.
Table 171: Color Generator node configuration properties

Property key
nodes[COLOR_GENERATOR:index].configuration.enable
Since 3.0
Type Boolean
Description When doing a transition it is possible to enable the color generator to blank video
output with a uniform color. To enable specify TRUE, to disable specify FALSE.
nodes[COLOR_GENERATOR:index].configuration.color
Since 3.0
Type String
Description When enabling the video mute also necessary to specify the blanking color using the
RGB hexadecimal code, [RRGGBB].
nodes[COLOR_GENERATOR:index].configuration.force_output
Since 3.0
Type Boolean
Description When value set as TRUE, a black stream is output with a fixed resolution video signal
of 720P60. When set to FALSE device returns to default video mode, Genlock.

PDS-062489 Rev 1.6 Page 250 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.7 Frame Buffer Node Configuration
The following table lists the configurable properties of a frame buffer node of the device object. Refer to section
6.8.8 Frame Buffer Node (Type FRAME_BUFFER) for details.
Note: The index of each of the following nodes, is either 0 for stream 0 (native) or 1 for stream 1 (scaled),
applicable to receivers (RX) and transceiver (TR) devices supporting the AV processing engine. You can
confirm a device’s capabilities using the get capabilities command.
Table 172: Frame buffer node configuration properties

Property key
nodes[FRAME_BUFFER:index].configuration.width
Since 3.0
Type Integer
Description Set the video width, in pixels.
nodes[FRAME_BUFFER:index].configuration.height
Since 3.0
Type Integer
Description Set the video height, in pixels.
nodes[FRAME_BUFFER:index].configuration.horiz_offset
Since 3.0
Type Integer
Description Set the video horizontal offset, in pixels.
nodes[FRAME_BUFFER:index].configuration.vert_offset
Since 3.0
Type Integer
Description Set the Video vertical offset, in pixels.
nodes[FRAME_BUFFER:index].configuration.frames_per_second
Since 3.0
Type Integer
Description Set the frame rate (fps).

7.8 HDMI Audio Node Configuration


The following table lists the configurable properties of an HDMI audio of the device object. Refer to section
6.7.1 Subscription Configuration (SubscriptionConfig) for details.
Note: The HDMI_DECODER:index is always 0.
Table 173: HDMI Decoder node configuration properties

Property key
subscriptions[HDMI_AUDIO:0].configuration.mute_msec
Since 3.0
Type Integer
Description This property allows the duration to mute the HDMI audio during a source transition to
be modified. The acceptable range is between 0 and 5000 (0ms to 5 seconds).

PDS-062489 Rev 1.6 Page 251 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.9 HDMI Decoder Node Configuration
The following table lists the configurable properties of an HDMI decoder node of the device object. Refer to
section 6.8.10 HDMI Decoder Node (Type HDMI_DECODER) for details.
Note: The HDMI_DECODER:index is always 0.
Table 174: HDMI Decoder node configuration properties

Property key
nodes[HDMI_DECODER:index].inputs[main:0].configuration.source.value
Since 3.0
Type Integer
Description Video source among available video connectors. For the HDMI port this option is 0.
Applicable to the HDMI decoder node imbedded in a transmitter device.
nodes[HDMI_DECODER:index].configuration.hdcp_support_enable
Since 3.0
Type Boolean
Description Specifies whether to enable HDCP support, specify TRUE to enable (default) and
FALSE to disable. When disabled HDCP support is not supported.
nodes[HDMI_DECODER:index].configuration.hdcp_22_support_disable
Since 3.0
Type Boolean
Description Specifies whether to disable HDCP 2.2 and only support HDCP 1.4. Specify TRUE to
disable HDCP 2.2 support and FALSE to enable it.

7.10 HDMI Encoder Node Configuration


The following table lists the configurable properties of an HDMI encoder node of the device object. Refer to
section 6.8.11 HDMI Encoder Node (Type HDMI_ENCODER) for details.
Note: The HDMI_ENCODER:index is 0 and applicable only to encoder (TX) or transceiver (TR) devices.
Confirm a device’s capabilities using the get capabilities command.
Table 175: HDMI encoder node configuration properties

Property key
nodes[HDMI_ENCODER:index].configuration.hdcp_output_mode
Since 3.0
Type String
Description Specify HDCP output mode for receivers running in Fast Switch, Multiview or
Fast Switch Wall. mode. The supported options are:
UNSUPPORTED | FOLLOW_SINK_1 | | FOLLOW_SINK_2 |
FOLLOW_SOURCE
Refer to Table 123: HDMI Encoder node status object members for details.
TIP: More information on managing the HDCP Ouput Mode is included in the HDCP
Encyption section of the API Developers API Application Note Library.

PDS-062489 Rev 1.6 Page 252 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Property key
nodes[HDMI_ENCODER:index].inputs[audio:0].configuration.source.value
Since 3.0
Type Integer
Description HDMI audio source.
An encoder node may support none, some or all of the following values:
2 -- HDMI audio (original audio from video subscription in genlock mode)
3 -- Stereo audio
6 -- HDMI audio (stereo downmix)
7 -- HDMI audio (all available channels)
8 – Multichannel audio subscription
9 – Multichannel audio local loop out
Property key
nodes[HDMI_ENCODER:0].configuration.hdmi_tx_5v
Since 3.5v
Type String
Description API Control Value is either AUTO or LOW.
AUTO sets the HDMI encoder to operate in "normal" mode:
• In switch mode, the HDMI TX 5V output is always HIGH
• In loopback mode, it follows 5V loopback mode rules.
• In P2P mode, it follows 5V mirroring rules.
LOW sets HDMI encoder to remain LOW, overriding any other mode, regardless of the
operating mode (switch, P2P or loopback).
Refer to the SDVoE Developers Application Note Library section 8.8 BlueRiver Receiver
(HDMI TX 5V) API Control for further information.

7.11 Multi Channel Audio Input Node Configuration


The following table lists the configurable properties of a multichannel audio input node of the device object.
Refer to section 6.8.13 Multichannel Audio Input Node (Type MULTICH_AUDIO_INPUT) for details.
Note: The MULTICH_AUDIO_INPUT:index is 0. Confirm a device’s capabilities using the get
capabilities command.
Table 176: Multichannel audio input node configuration properties

Property key
nodes[MULTICH_AUDIO_INPUT:index].configuration.sampling_frequency.value
Since 3.0
Type Integer
Description Set the audio sampling frequency.
Supported values are following values are supported 22050, 24000, 32000, 44100,
48000, 88200, 96000, 176400, 192000 and 768000.
nodes[MULTICH_AUDIO_INPUT:index].configuration.number_of_channels.value
Since 3.0
Type Integer

PDS-062489 Rev 1.6 Page 253 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Property key
Description Specify the number of audio channels.
Enter the appropriate value from 2 to 8, represents the number of audio channels.
nodes[MULTICH_AUDIO_INPUT:index].configuration.channel_allocation.value
Since 3.0
Type Integer
Description Specifiy the audio channel allocation.
Enter appropriate value, between 0 and 0x31 to represent the audio channel
allocation of the incoming multichannel audio.
Reminder: Not all channel allocations supported by all devices. Valid choices are
listed in the choices member. Refer to section Channel Allocation
Configuration (ChannelAllocationConfig) for details.
nodes[MULTICH_AUDIO_INPUT:index].configuration.audio_encoding_type
Since 3.0
Type String
Description Specify audio encoding type. Options supported are LPCM, ENCODED_HBR and
ENCODED_OTHER. Refer to Audio Encoding Configuration (AudioEncodingConfig) for
more information.

7.12 Multi Channel Audio Output Node Configuration


The following table lists the configurable properties of a multichannel audio output node of the device object.
Refer to section 6.8.14 Multi Channel Audio Output Node (Type MULTICH_AUDIO_OUTPUT) for details.
Table 177: Multichannel audio output node configuration properties

Property key
nodes[MULTICH_AUDIO_OUTPUT:index].inputs[main:0].configuration.source.value
Since 3.0
Type Integer
Description Audio source.
A transmitter device may support none, some or all of following values:
3 -- Stereo audio local loop out
6 -- HDMI audio (stereo downmix) local loop out
7 -- HDMI audio (all channels) local loop out
8 – Multichannel audio subscription (audio return channel)
A receiver device may support none, some or all of the following values:
3 -- Stereo audio
6 -- HDMI audio (stereo downmix)
7 -- HDMI audio (all channels)
8 – Multichannel audio subscription
The MULTICH_AUDIO_OUTPUT:index is 0. Confirm a device’s capabilities using
the get capabilities command.

PDS-062489 Rev 1.6 Page 254 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.13 Network Port Node Configuration
The following table lists the configurable properties of a network port node of the device object. Refer to
section 6.8.18 Network Port Node (Type NETWORK_PORT) for details.
Table 178: Network port node configuration properties

Property key
nodes[NETWORK_PORT:index].configuration.speed
Since 3.0
Type String
Description Specify the speed configuration for the network port. For list of available options,
refer to Table 143: Network port node object members.
NETWORK_PORT:index is normally 0, unless an NT1000/NT2000 device using an
Aquantia 10G Dual PHY.

7.14 Network Switch Node Configuration


The following table lists the configurable properties of a network switch node of the device object. Refer to
section 7.13 Network Port Node Configuration for details.
Table 179:Network switch node configuration properties

Property key
nodes[NETWORK_SWITCH:index].configuration.gigabit_port_1_enable
Since 3.0
Type Boolean
Description Enable/disable the 1GbE port on the device.
Reminder: If the hardware design includes a 1GbE interface, the port can be disabled
on the device through the API. To enable 1GbE port enter TRUE and to
disable it enter FALSE. Confirm a device’s capabilities using the get
capabilities command.
There is only one 1GbE PHY supported, therefore the NETWORK_PORT:index is 0.

7.15 Scaler Node Configuration


The following table lists the configurable properties of a scaler node of the device object. Refer to section 6.8.20
Scaler Node (Type Scaler) for details.
Table 180: Scaler node configuration properties

Property key
nodes[SCALER:index].inputs[main:0].configuration.source.value
Since 3.0
Type Integer
Description Specify if the frame rate divider to be active:
0 to enable
1 to disable
There is only one scaler node supported, therefore the SCALER:index is 0.
Note: Frame rate divider can be enabled on the native stream (stream 0) as well, refer
to section 7.2 Stream Configuration.
PDS-062489 Rev 1.6 Page 255 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.16 UART Node Configuration
The following table lists the configurable properties of a UART node of the device object.
Note: The UART:index option will be between 0-3. Hardware can support up to four UART ports, each is
managed independently. Confirm a device’s capabilities using the get capabilities command.
Table 181: UART node configuration properties

Property key
nodes[UART:index].configuration.baud_rate
Since 3.0
Type Integer
Description Baud rate
nodes[UART:index].configuration.data_bits
Since 3.0
Type Integer
Description Number of data bits: 6, 7 or 8
nodes[UART:index].configuration.stop_bits
Since 3.0
Type Integer
Description Number of stop bits: 1 or 2
nodes[UART:index].configuration.parity
Since 3.0
Type String
Description Parity: NONE, ODD or EVEN

7.17 Icron USB Extender Node Configuration


The following table lists the configurable properties of an Icron USB extender node of the device object. Refer
to section 6.8.24 Icron USB Extender Node (USB_ICRON) for details.
Table 182: Icron USB extender node configuration properties

Property key
nodes[USB_ICRON:index].configuration.extender_type
Since 3.0
Type String
Description Extender type:
LOCAL for a local extender (LEX)
REMOTE for a remote extender (REX)
Note: The USB_ICRON:index option will be 0. Confirm a device’s
capabilities using the get capabilities command.

PDS-062489 Rev 1.6 Page 256 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
7.18 Video Compressor Node Configuration
The following table lists the configurable properties of video compressor node of the transmitter device object.
Refer to 6.8.26 Video Compressor Node (Type VIDEO_COMPRESSOR) for details.
Note: The VIDEO_COMPRESSOR:index is always 0.
Table 183: Video compressor node configuration properties

Property key
nodes[VIDEO_COMPRESSOR:index].configuration.always_compress
Since 3.0
Type Boolean
Description When true, video on the HDMI stream 0 is always compressed without regard to the
video format. Otherwise, it is compressed only when it is necessary to keep the video
bandwidth under 9 Gbps.
nodes[VIDEO_COMPRESSOR:index].configuration.version
Since 3.0
Type Integer
Description Video compression version used when compressing. Can be either 1 or 2.
Refer to Table 161: Video compressor node object membersl for more information on
the supported compression versions.

7.19 Video Decompressor Node Configuration


The following table lists the configurable properties of video decompressor node of the receiver device object.
Refer to 6.8.27 Video Decompressor Node (Type VIDEO_DECOMPRESSOR) for details.
Note: The VIDEO_DECOMPRESSOR:index is always 0.
Table 184: Video decompressor node configuration properties

Property key
nodes[VIDEO_DECOMPRESSOR:index].configuration.version
Since 3.0
Type Integer
Description Video compression version to use when decompressing, version either 1 or 2.

PDS-062489 Rev 1.6 Page 257 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 258 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Appendix: Get Command Output Examples
The following sections provide example outputs for the get command.
For details on the get command, refer to section 4.7 Command get.

A.1 Command “get device” for Transceiver Device


The example provided below is the output for the command get device called for an transceiver device with
the ID of 0016c04c3d9a.
{
status: SUCCESS,
request_id: 57301,
result: {
devices: [
{
device_id: 0016c04c3d9a,
identity: {
chipset_type: AVP2000T,
engine: PLETHORA,
vendor_id: 1,
product_id: 77,
firmware_comment: BlueRiver_RDK_2-0-0-0_evaluation,
firmware_version: 1.2.1.0,
firmware_rc: 0,
is_receiver: true,
is_transmitter: true,
firmware_details: [
{
type: PRIMARY,
details_available: true,
firmware_version: 1.2.1.0,
firmware_rc: 0
},
{
type: GOLDEN,
details_available: true,
firmware_version: 1.0.0.0,
firmware_rc: 0
}
],
chip_id: null
},
capabilities: {
color_generator_force: false,
frame_rate_divider: false,
hdmi_audio_downmix: true,
hdmi_inputs: 1,
hdmi_outputs: 1,
hdmi_stream1_auto_stop: true,
infrared_inputs: 1,
infrared_outputs: 1,
local_loopback: true,
multich_audio_inputs: 1,

PDS-062489 Rev 1.6 Page 259 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
multich_audio_outputs: 1,
nbaset: false,
net10gbe_dual_link: false,
overlay: false,
scaler: true,
stereo_audio_inputs: 0,
stereo_audio_input_outputs: 1,
stereo_audio_outputs: 0,
thumbnail: false,
uarts: 4,
usb_hid: true,
usb_icron: true,
video_processing: true
},
configuration: {
device_name: 0016C04C3D9A,
locate_mode: false,
secure_av: default,
resume_streaming: true,
claimed: false,
authenticated: false,
device_mode: TRANSCEIVER
},
status: {
active: true,
point_to_point: false,
point_to_point_peer: ,
boot_status: PRIMARY,
update_in_progress: false,
igmp_reporting_mode: QUERY,
error_status: {
has_error_code: false,
error_code: 0
},
temperature: 56
},
streams: [
{
type: HDMI,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false,
remove_audio: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
},
{

PDS-062489 Rev 1.6 Page 260 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
type: HDMI,
index: 1,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false,
remove_audio: true
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: SCALER,
ref_index: 0
}
},
{
type: HDMI_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
},
{
type: MULTICH_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: MULTICH_AUDIO_INPUT,
ref_index: 0
}
},
{
type: STEREO_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,

PDS-062489 Rev 1.6 Page 261 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: STEREO_AUDIO_INPUT,
ref_index: 0
}
},
{
type: RS232,
index: 0,
configuration: {
address: 0.0.0.0,
dest_index: 0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 0
}
},
{
type: RS232,
index: 1,
configuration: {
address: 0.0.0.0,
dest_index: 1,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 1
}
},
{
type: RS232,
index: 2,
configuration: {
address: 0.0.0.0,
dest_index: 2,
enable: false,
auto_stop: false

PDS-062489 Rev 1.6 Page 262 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 2
}
},
{
type: RS232,
index: 3,
configuration: {
address: 0.0.0.0,
dest_index: 3,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 3
}
},
{
type: INFRARED,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: INFRARED_DECODER,
ref_index: 0
}
},
{
type: CEC,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},

PDS-062489 Rev 1.6 Page 263 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
source: {
ref_class: NODE,
ref_type: CEC,
ref_index: 0
}
},
{
type: CEC,
index: 1,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: CEC,
ref_index: 1
}
},
{
type: USB_HID,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: USB_HID,
ref_index: 0
}
}
],
subscriptions: [
{
type: HDMI,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 1,

PDS-062489 Rev 1.6 Page 264 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 2,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 3,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 4,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 5,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 6,
configuration: {

PDS-062489 Rev 1.6 Page 265 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 7,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 8,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 9,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 10,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 11,
configuration: {
address: 0.0.0.0,

PDS-062489 Rev 1.6 Page 266 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 12,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 13,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 14,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 15,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 16,
configuration: {
address: 0.0.0.0,
enable: false

PDS-062489 Rev 1.6 Page 267 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 17,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 18,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 19,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 20,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 21,
configuration: {
address: 0.0.0.0,
enable: false
},

PDS-062489 Rev 1.6 Page 268 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 22,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 23,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 24,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 25,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 26,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {

PDS-062489 Rev 1.6 Page 269 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
state: STOPPED
}
},
{
type: HDMI,
index: 27,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 28,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 29,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 30,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 31,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED

PDS-062489 Rev 1.6 Page 270 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
},
{
type: HDMI_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
mute_msec: 1500
},
status: {
state: STOPPED
}
},
{
type: STEREO_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: MULTICH_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: RS232,
index: 0,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: RS232,
index: 1,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING

PDS-062489 Rev 1.6 Page 271 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
},
{
type: RS232,
index: 2,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: RS232,
index: 3,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: INFRARED,
index: 0,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: USB_HID,
index: 0,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
}
],
nodes: [
{
type: STEREO_AUDIO_INPUT_OUTPUT,
index: 0,
configuration: {
direction: INPUT
},
status: {},
inputs: [

PDS-062489 Rev 1.6 Page 272 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
name: main,
index: 0,
configuration: {
source: {
value: 2,
choices: [
{
value: 2,
description: Network HDMI Downmix
Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
},
{
value: 3,
description: Network Stereo Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: STEREO_AUDIO,
ref_index: 0
}
},
{
value: 8,
description: Network Multi Channel
Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: MULTICH_AUDIO,
ref_index: 0
}
},
{
value: 9,
description: Local Multi Channel
Audio,
details: {
ref_class: NODE,
ref_type: MULTICH_AUDIO_INPUT,
ref_index: 0
}
},
{
value: 12,
description: Local HDMI Downmix
Audio,
details: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
}

PDS-062489 Rev 1.6 Page 273 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
]
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
}
}
]
},
{
type: CEC,
index: 0,
configuration: {
p2p_mode: PASSTHROUGH
},
status: {},
inputs: []
},
{
type: CEC,
index: 1,
configuration: {
p2p_mode: PASSTHROUGH
},
status: {},
inputs: []
},
{
type: COLOR_GENERATOR,
index: 0,
configuration: {
enable: false,
color: 000000,
force_output: false
},
status: {},
inputs: []
},
{
type: FRAME_BUFFER,
index: 0,
configuration: {
display_mode: FAST_SWITCHED,
width: 0,
height: 0,
horiz_offset: 0,
vert_offset: 0,
frames_per_second: 0,
keep_width: 0,
keep_height: 0,
viewport_horiz: 0,
viewport_vert: 0,

PDS-062489 Rev 1.6 Page 274 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
viewport_width: 0,
viewport_height: 0,
aspect_ratio_mode: NONE,
has_auto_wall_details: false
},
status: {
source_video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
}
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}
},
{
name: multiview,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}
},
{
name: multiview,
index: 1,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 1
}
}
},
{
name: multiview,
index: 2,
configuration: {},

PDS-062489 Rev 1.6 Page 275 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 2
}
}
},
{
name: multiview,
index: 3,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 3
}
}
},
{
name: multiview,
index: 4,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 4
}
}
},
{
name: multiview,
index: 5,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 5
}
}
},
{
name: multiview,
index: 6,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 6
}
}
},

PDS-062489 Rev 1.6 Page 276 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
name: multiview,
index: 7,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 7
}
}
},
{
name: multiview,
index: 8,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 8
}
}
},
{
name: multiview,
index: 9,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 9
}
}
},
{
name: multiview,
index: 10,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 10
}
}
},
{
name: multiview,
index: 11,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,

PDS-062489 Rev 1.6 Page 277 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ref_index: 11
}
}
},
{
name: multiview,
index: 12,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 12
}
}
},
{
name: multiview,
index: 13,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 13
}
}
},
{
name: multiview,
index: 14,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 14
}
}
},
{
name: multiview,
index: 15,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 15
}
}
},
{
name: multiview,
index: 16,
configuration: {},

PDS-062489 Rev 1.6 Page 278 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 16
}
}
},
{
name: multiview,
index: 17,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 17
}
}
},
{
name: multiview,
index: 18,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 18
}
}
},
{
name: multiview,
index: 19,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 19
}
}
},
{
name: multiview,
index: 20,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 20
}
}
},

PDS-062489 Rev 1.6 Page 279 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
name: multiview,
index: 21,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 21
}
}
},
{
name: multiview,
index: 22,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 22
}
}
},
{
name: multiview,
index: 23,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 23
}
}
},
{
name: multiview,
index: 24,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 24
}
}
},
{
name: multiview,
index: 25,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,

PDS-062489 Rev 1.6 Page 280 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ref_index: 25
}
}
},
{
name: multiview,
index: 26,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 26
}
}
},
{
name: multiview,
index: 27,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 27
}
}
},
{
name: multiview,
index: 28,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 28
}
}
},
{
name: multiview,
index: 29,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 29
}
}
},
{
name: multiview,
index: 30,
configuration: {},

PDS-062489 Rev 1.6 Page 281 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 30
}
}
},
{
name: multiview,
index: 31,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 31
}
}
}
]
},
{
type: GPIO,
index: 0,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 1,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 2,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},

PDS-062489 Rev 1.6 Page 282 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
inputs: []
},
{
type: GPIO,
index: 3,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 4,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 5,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 6,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 7,
configuration: {
tristate: 1,
cfg_val: 0

PDS-062489 Rev 1.6 Page 283 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 8,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 9,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 10,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: GPIO,
index: 11,
configuration: {
tristate: 1,
cfg_val: 0
},
status: {
stat_val: 0
},
inputs: []
},
{
type: HDMI_DECODER,

PDS-062489 Rev 1.6 Page 284 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
index: 0,
configuration: {
edid:
00ffffffffffff000614000156524c420816010380341d780a01c1a057479827124c4c2108008140010
1010101010101010101010101023a801871382d40582c460040846300001e08e80030f2705a80b0588a
00ba892100001e000000fc00426c756552697665720a202020000000fd0018550e853c000a202020202
020017c02034373580102030405111213141f2021220607905d5e5f6263646061230d0707830f00006d
030c001000383c20406801020367d85dc401788003e40f0000c0e200cf011d00bc52d01e20b82855404
0846300001e023a80d072382d40102c458040846300001e023a801871382d40582c450040846300001e
0000000000003e,
hdcp_support_enable: true,
hdcp_22_support_disable: false
},
status: {
video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
},
has_video_details: true,
video_details: {
frame_rate: 0,
pixel_clock: 0,
total_width: 0,
total_height: 0,
hsync_width: 0,
hsync_front_porch: 0,
hsync_negative: false,
vsync_width: 0,
vsync_front_porch: 0,
vsync_negative: false,
vic: 0,
has_hdmi_vic: false,
hdmi_vic: 0,
picture_aspect: ASPECT_NO_DATA,
has_active_format: false,
active_format: 0,
it_content_type: NO_DATA,
scan_information: NO_DATA,
colorimetry: RGB,
rgb_range: DEFAULT,
ycc_range: LIMITED,
has_hdr: false,
hdr: SDR
},
has_audio_details: true,
audio_details: {
sampling_frequency: 44100,
number_of_channels: 2
},
has_audio_details_extended: true,
audio_details_extended: {
channel_allocation: 0,

PDS-062489 Rev 1.6 Page 285 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
sample_size: 0,
level_shift_value: 0,
lfe_playback_level: 0,
audio_encoding_type: LPCM,
is_downmix_inhibited: false
},
hdcp_protected: false,
hdcp_version: NONE,
hdmi_2_0_support: true,
source_stable: false,
audio_downmix_support: true
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: NODE,
ref_type: VIDEO_INPUT,
ref_index: 0
}
}
}
]
},
{
type: HDMI_ENCODER,
index: 0,
configuration: {
hdcp_output_mode: FOLLOW_SINK_1
hdmi_tx_5v: AUTO
},
status: {
video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
},
has_video_details: true,
video_details: {
frame_rate: 0,
pixel_clock: 0,
total_width: 0,
total_height: 0,
hsync_width: 0,
hsync_front_porch: 0,
hsync_negative: false,
vsync_width: 0,
vsync_front_porch: 0,
vsync_negative: false,
vic: 0,

PDS-062489 Rev 1.6 Page 286 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
has_hdmi_vic: false,
hdmi_vic: 0,
picture_aspect: ASPECT_NO_DATA,
has_active_format: false,
active_format: 0,
it_content_type: NO_DATA,
scan_information: NO_DATA,
colorimetry: RGB,
rgb_range: DEFAULT,
ycc_range: LIMITED,
has_hdr: false,
hdr: SDR
},
has_audio_details: false,
audio_details: {},
has_audio_details_extended: false,
audio_details_extended: {},
hdcp_protected: false,
hdcp_version: NONE,
hdmi_2_0_support: true,
source_stable: false
},
inputs: [
{
name: main,
index: 0,
configuration: {
source: {
value: 0,
choices: [
{
value: 0,
description: Genlock Mode,
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
},
{
value: 1,
description: Frame Buffer Mode,
details: {
ref_class: NODE,
ref_type: FRAME_BUFFER,
ref_index: 0
}
}
]
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0

PDS-062489 Rev 1.6 Page 287 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
}
},
{
name: audio,
index: 0,
configuration: {
source: {
value: 2,
choices: [
{
value: 2,
description: Network HDMI Audio Aux
(Video Genlock),
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
},
{
value: 3,
description: Network Stereo Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: STEREO_AUDIO,
ref_index: 0
}
},
{
value: 6,
description: Network HDMI Downmix
Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
},
{
value: 7,
description: Network HDMI Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
},
{
value: 8,
description: Network Multi Channel
Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: MULTICH_AUDIO,
ref_index: 0

PDS-062489 Rev 1.6 Page 288 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
},
{
value: 9,
description: Local Multi Channel
Audio,
details: {
ref_class: NODE,
ref_type: MULTICH_AUDIO_INPUT,
ref_index: 0
}
}
]
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
}
}
]
},
{
type: HDMI_MONITOR,
index: 0,
configuration: {},
status: {
connected: true,
edid:
00ffffffffffff001e6d067771920700011d0103803c2278ea3e31ae5047ac270c50542108007140818
081c0a9c0d1c081000101010108e80030f2705a80b0588a0058542100001e04740030f2705a80b0588a
0058542100001a000000fd00383d1e873c000a202020202020000000fc004c472048445220344b0a202
02001d6020338714d9022201f1203040161605d5e5f230907076d030c002000b83c20006001020367d8
5dc401788003e30f0003e305c000e3060501023a801871382d40582c450058542100001e565e00a0a0a
029503020350058542100001a000000ff003930314e545451454c3234310a0000000000000000000000
000000000000be
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: NODE,
ref_type: HDMI_ENCODER,
ref_index: 0
}
}
}
]
},
{

PDS-062489 Rev 1.6 Page 289 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
type: MULTICH_AUDIO_INPUT,
index: 0,
configuration: {
sampling_frequency: {
value: 48000,
choices: [
{
value: 22050,
description: 22.05kHz,
details: null
},
{
value: 24000,
description: 24kHz,
details: null
},
{
value: 32000,
description: 32kHz,
details: null
},
{
value: 44100,
description: 44.1kHz,
details: null
},
{
value: 48000,
description: 48kHz,
details: null
},
{
value: 88200,
description: 88.2kHz,
details: null
},
{
value: 96000,
description: 96kHz,
details: null
},
{
value: 176400,
description: 176.4kHz,
details: null
},
{
value: 192000,
description: 192kHz,
details: null
},
{
value: 768000,
description: 768kHz,
details: null
}

PDS-062489 Rev 1.6 Page 290 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
]
},
number_of_channels: {
value: 8,
choices: [
{
value: 2,
description: 2 Channels,
details: null
},
{
value: 3,
description: 3 Channels,
details: null
},
{
value: 4,
description: 4 Channels,
details: null
},
{
value: 5,
description: 5 Channels,
details: null
},
{
value: 6,
description: 6 Channels,
details: null
},
{
value: 7,
description: 7 Channels,
details: null
},
{
value: 8,
description: 8 Channels,
details: null
}
]
},
channel_allocation: {
value: 0,
choices: [
{
value: 0,
description: 2 Channels (FL-FR),
details: null
},
{
value: 1,
description: 2.1 Channels (FL-FR-LFE),
details: null
},
{

PDS-062489 Rev 1.6 Page 291 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
value: 2,
description: 3 Channels (FL-FR-X-FC),
details: null
},
{
value: 3,
description: 3.1 Channels (FL-FR-LFE-FC),
details: null
},
{
value: 4,
description: 3 Channels (FL-FR-X-X-RC),
details: null
},
{
value: 5,
description: 3.1 Channels (FL-FR-LFE-X-RC),
details: null
},
{
value: 6,
description: 4 Channels (FL-FR-X-FC-RC),
details: null
},
{
value: 7,
description: 4.1 Channels (FL-FR-LFE-FC-
RC),
details: null
},
{
value: 8,
description: 4 Channels (FL-FR-X-X-RL-RR),
details: null
},
{
value: 9,
description: 4.1 Channels (FL-FR-LFE-X-RL-
RR),
details: null
},
{
value: 10,
description: 5 Channels (FL-FR-X-FC-RL-RR),
details: null
},
{
value: 11,
description: 5.1 Channels (FL-FR-LFE-FC-RL-
RR),
details: null
},
{
value: 12,
description: 5 Channels (FL-FR-X-X-RL-RR-
RC),

PDS-062489 Rev 1.6 Page 292 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
details: null
},
{
value: 13,
description: 5.1 Channels (FL-FR-LFE-X-RL-
RR-RC),
details: null
},
{
value: 14,
description: 6 Channels (FL-FR-X-FC-RL-RR-
RC),
details: null
},
{
value: 15,
description: 6.1 Channels (FL-FR-LFE-FC-RL-
RR-RC),
details: null
},
{
value: 16,
description: 6 Channels (FL-FR-X-X-RL-RR-
RLC-RRC),
details: null
},
{
value: 17,
description: 6.1 Channels (FL-FR-LFE-X-RL-
RR-RLC-RRC),
details: null
},
{
value: 18,
description: 7 Channels (FL-FR-X-FC-RL-RR-
RLC-RRC),
details: null
},
{
value: 19,
description: 7.1 Channels (FL-FR-LFE-FC-RL-
RR-RLC-RRC),
details: null
},
{
value: 20,
description: 4 Channels (FL-FR-X-X-X-X-FLC-
FRC),
details: null
},
{
value: 21,
description: 4.1 Channels (FL-FR-LFE-X-X-X-
FLC-FRC),
details: null
},

PDS-062489 Rev 1.6 Page 293 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
value: 22,
description: 5 Channels (FL-FR-X-FC-X-X-
FLC-FRC),
details: null
},
{
value: 23,
description: 5.1 Channels (FL-FR-LFE-FC-X-
X-FLC-FRC),
details: null
},
{
value: 24,
description: 5 Channels (FL-FR-X-X-RC-X-
FLC-FRC),
details: null
},
{
value: 25,
description: 5.1 Channels (FL-FR-LFE-X-RC-
X-FLC-FRC),
details: null
},
{
value: 26,
description: 6 Channels (FL-FR-X-FC-RC-X-
FLC-FRC),
details: null
},
{
value: 27,
description: 6.1 Channels (FL-FR-LFE-FC-RC-
X-FLC-FRC),
details: null
},
{
value: 28,
description: 6 Channels (FL-FR-X-X-RL-RR-
FLC-FRC),
details: null
},
{
value: 29,
description: 6.1 Channels (FL-FR-LFE-X-RL-
RR-FLC-FRC),
details: null
},
{
value: 30,
description: 7 Channels (FL-FR-X-FC-RL-RR-
FLC-FRC),
details: null
},
{
value: 31,

PDS-062489 Rev 1.6 Page 294 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
description: 7.1 Channels (FL-FR-LFE-FC-RL-
RR-FLC-FRC),
details: null
},
{
value: 32,
description: 6 Channels (X-FCH-RR-RL-FC-X-
FR-FL),
details: null
},
{
value: 33,
description: 6.1 Channels (X-FCH-RR-RL-FC-
LFE-FR-FL),
details: null
},
{
value: 34,
description: 6 Channels (TC-X-RR-RL-FC-X-
FR-FL),
details: null
},
{
value: 35,
description: 6.1 Channels (TC-X-RR-RL-FC-
LFE-FR-FL),
details: null
},
{
value: 36,
description: 6 Channels (FRH-FLH-RR-RL-X-X-
FR-FL),
details: null
},
{
value: 37,
description: 6.1 Channels (FRH-FLH-RR-RL-X-
LFE-FR-FL),
details: null
},
{
value: 38,
description: 6 Channels (FRW-FLW-RR-RL-X-X-
FR-FL),
details: null
},
{
value: 39,
description: 6.1 Channels (FRW-FLW-RR-RL-X-
LFE-FR-FL),
details: null
},
{
value: 40,
description: 7 Channels (TC-RC-RR-RL-FC-X-
FR-FL),

PDS-062489 Rev 1.6 Page 295 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
details: null
},
{
value: 41,
description: 7.1 Channels (TC-RC-RR-RL-FC-
LFE-FR-FL),
details: null
},
{
value: 42,
description: 7 Channels (FCH-RC-RR-RL-FC-X-
FR-FL),
details: null
},
{
value: 43,
description: 7.1 Channels (FCH-RC-RR-RL-FC-
LFE-FR-FL),
details: null
},
{
value: 44,
description: 7 Channels (TC-FCH-RR-RL-FC-X-
FR-FL),
details: null
},
{
value: 45,
description: 7.1 Channels (TC-FCH-RR-RL-FC-
LFE-FR-FL),
details: null
},
{
value: 46,
description: 7 Channels (FRH-FLH-RR-RL-FC-
X-FR-FL),
details: null
},
{
value: 47,
description: 7.1 Channels (FRH-FLH-RR-RL-
FC-LFE-FR-FL),
details: null
},
{
value: 48,
description: 7 Channels (FRW-FLW-RR-RL-FC-
X-FR-FL),
details: null
},
{
value: 49,
description: 7.1 Channels (FRW-FLW-RR-RL-
FC-LFE-FR-FL),
details: null
}

PDS-062489 Rev 1.6 Page 296 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
]
},
audio_encoding_type: LPCM,
mute_audio: false
},
status: {
data_lanes: 4,
sampling_frequency: 0
},
inputs: []
},
{
type: MULTICH_AUDIO_OUTPUT,
index: 0,
configuration: {},
status: {
data_lanes: 4
},
inputs: [
{
name: main,
index: 0,
configuration: {
source: {
value: 8,
choices: [
{
value: 3,
description: Network Stereo Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: STEREO_AUDIO,
ref_index: 0
}
},
{
value: 6,
description: Network HDMI Downmix
Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
},
{
value: 7,
description: Network HDMI Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
},
{
value: 8,

PDS-062489 Rev 1.6 Page 297 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
description: Network Multi Channel
Audio,
details: {
ref_class: SUBSCRIPTION,
ref_type: MULTICH_AUDIO,
ref_index: 0
}
},
{
value: 10,
description: Local Stereo Audio,
details: {
ref_class: NODE,
ref_type:
STEREO_AUDIO_INPUT_OUTPUT,
ref_index: 0
}
},
{
value: 12,
description: Local HDMI Downmix
Audio,
details: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
},
{
value: 11,
description: Local HDMI Audio,
details: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
}
]
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: MULTICH_AUDIO,
ref_index: 0
}
}
}
]
},
{
type: INFRARED_ENCODER,
index: 0,
configuration: {},
status: {
data_length_max: 1032

PDS-062489 Rev 1.6 Page 298 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
inputs: [
{
name: network,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: INFRARED,
ref_index: 0
}
}
}
]
},
{
type: INFRARED_DECODER,
index: 0,
configuration: {},
status: {},
inputs: []
},
{
type: LED,
index: 0,
configuration: {
function: {
value: 0,
choices: [
{
value: 0,
description: (Unknown),
details: UNKNOWN
},
{
value: 1,
description: Blink LED,
details: BLINK
},
{
value: 8,
description: Default functionality,
details: DEFAULT
}
]
}
},
status: {},
inputs: []
},
{
type: NETWORK_INTERFACE,
index: 0,
configuration: {
hostname: 0016C04C3D9A,

PDS-062489 Rev 1.6 Page 299 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ip: {
address: 10.17.252.104,
mode: DHCP,
mask: 255.255.255.0,
gateway: 10.17.252.254
}
},
status: {
mac_address: 0016c04c3d9a,
ip: {
address: 10.17.252.104
}
},
inputs: []
},
{
type: NETWORK_PORT,
index: 0,
configuration: {
speed: SPEED_10G
},
status: {
active: true,
speed: 10,
supports_speed_10g: true,
supports_speed_5g: false,
supports_speed_2_5g: false,
supports_auto_10g: false,
supports_auto_5g: false
},
inputs: []
},
{
type: NETWORK_SWITCH,
index: 0,
configuration: {
gigabit_port_1_enable: true
},
status: {},
inputs: []
},
{
type: SCALER,
index: 0,
configuration: {
width: 0,
height: 0
},
status: {
video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE

PDS-062489 Rev 1.6 Page 300 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
}
}
]
},
{
type: UART,
index: 0,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{
name: network,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 0
}
}
}
]
},
{
type: UART,
index: 1,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},

PDS-062489 Rev 1.6 Page 301 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
inputs: [
{
name: network,
index: 1,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 1
}
}
}
]
},
{
type: UART,
index: 2,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{
name: network,
index: 2,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 2
}
}
}
]
},
{
type: UART,
index: 3,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{

PDS-062489 Rev 1.6 Page 302 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
name: network,
index: 3,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 3
}
}
}
]
},
{
type: USB_HID,
index: 0,
configuration: {
role: OTG
},
status: {
usb_devices: [
{
status: DISCONNECTED
},
{
status: DISCONNECTED
},
{
status: DISCONNECTED
}
],
usb_host: {
status: DISCONNECTED
},
role: DISCONNECTED
},
inputs: []
},
{
type: USB_ICRON,
index: 0,
configuration: {
extender_type: LOCAL,
program_mode: NONE,
rs232_port: 0
},
status: {
chip_present: true,
mac_address: 0016c03556e8,
reachable: true,
revision: 1.9.4,
ip_mode: DHCP,
ip_address: 10.17.252.109,
peer_mac_address: ””,
peer_mac_id: ””,
link_status_support: true,

PDS-062489 Rev 1.6 Page 303 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
linked: false
},
inputs: []
},
{
type: VIDEO_COMPRESSOR,
index: 0,
configuration: {
always_compress: false,
version: 1
},
status: {
version_support: 2
},
inputs: []
},
{
type: VIDEO_DECOMPRESSOR,
index: 0,
configuration: {
version: 1
},
status: {
version_support: 2
},
inputs: []
},
{
type: VIDEO_INPUT,
index: 0,
configuration: {},
status: {},
inputs: []
}
]
}
],
error: []
},
error: null
}

PDS-062489 Rev 1.6 Page 304 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.2 Command “get edid” for Transmitter Device
The following is an example output for the command get edid called with a transmitter device
target argument.
Refer to section 4.7 Command get for details.
{
"status" : "SUCCESS",
"request_id" : 265,
"result" : {
"devices" : [
{
"device_id" : "d8803962e132",
"status" : {
"active" : true
},
"nodes" : [
{
"type" : "HDMI_DECODER",
"index" : 0,
"configuration" : {
"edid" :
"00ffffffffffff0010ac82d0425152302219010380351e78ea2195a756529c26105054a54b00714
f8180a9c0d1c00101010101010101023a801871382d40582c45000f282100001e000000ff0035324
d543935384a305251420a000000fc0044454c4c20534532343136480a000000fd00384c1e5311000
a2020202020200140020317b14c9005040302071601141f121365030c001000023a801871382d405
82c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000
f282100001e8c0ad08a20e02d10103e96000f2821000018000000000000000000000000000000000
00000000000000000000000000000003d"
},
"status" : {}
}
]
}
],
"error" : []
},
"error" : null
}

PDS-062489 Rev 1.6 Page 305 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.3 Command “get edid” for Receiver Device
The following is an example output for the command get edid called with a receiver device target argument.
Refer to section 4.7 Command get for details.
{
"status" : "SUCCESS",
"request_id" : 284,
"result" : {
"devices" : [
{
"device_id" : "d88039631d77",
"status" : {
"active" : true
},
"nodes" : [
{
"type" : "HDMI_MONITOR",
"index" : 0,
"configuration" : {},
"status" : {
"connected" : true,
"edid" :
"00ffffffffffff0009d11e8045540000031a0103803c22782efcd0a6544a9d240e5054a56b80d1c
081c081008180a9c0b300010101014dd000a0f0703e8030203500544f2100001a000000ff004b314
73030343934534c300a20000000fd001e4c1ea03c000a202020202020000000fc0042656e51204c4
3440a2020202001c402033af253101f0102030405060711121314151620615e5f230907078301000
06c030c0020003878200040010267d85dc40178c000e40f0000014dd000a0f0703e8030203500544
f2100001e565e00a0a0a0295030203500544f2100001e00000000000000000000000000000000000
0000000000000000000000000000000cf"
}
}
]
}
],
"error" : []
},
"error" : null
}

PDS-062489 Rev 1.6 Page 306 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.4 Command “get hello”
The following is an example output for the command get hello for the device ID 0016c04c3d9a.
Refer to section 4.7 Command get for details.
{
status: SUCCESS,
request_id: null,
result: {
devices: [
{
device_id: 0016c04c3d9a,
identity: {
firmware_version: 1.2.1.0,
firmware_rc: 0,
is_receiver: true,
is_transmitter: true,
chip_id: null
},
status: {
active: true
},
nodes: [
{
type: NETWORK_INTERFACE,
index: 0,
configuration: {},
status: {
mac_address: 0016c04c3d9a,
ip: {
address: 10.17.252.104
}
}
}
]
}
],
error: []
},
error: null
}

PDS-062489 Rev 1.6 Page 307 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.5 Command “get identity”
The following is an example output for the command get identity.
Refer to section 4.7 Command get for details.
{
status: SUCCESS,
request_id: null,
result: {
devices: [
{
device_id: 0016c04c3d9a,
identity: {
chipset_type: AVP2000T,
engine: PLETHORA,
vendor_id: 1,
product_id: 77,
firmware_comment: BlueRiver_RDK_2-0-0-0_evaluation,
firmware_version: 1.2.1.0,
firmware_rc: 0,
is_receiver: true,
is_transmitter: true,
firmware_details: [
{
type: PRIMARY,
details_available: true,
firmware_version: 1.2.1.0,
firmware_rc: 0
},
{
type: GOLDEN,
details_available: true,
firmware_version: 1.0.0.0,
firmware_rc: 0
}
],
chip_id: null
},
configuration: {
device_name: 0016C04C3D9A
},
status: {
active: true
},
nodes: [
{
type: NETWORK_INTERFACE,
index: 0,
configuration: {},
status: {
mac_address: 0016c04c3d9a,
ip: {
address: 10.17.252.104
}
}
}
PDS-062489 Rev 1.6 Page 308 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
]
}
],
error: []
},
error: null
}

A.6 } Command “get list”


The following is an example output for the command get list, with the target of all. This command is
typically called with all as a target argument as below in order to list all devices.
Refer to section 4.7 Command get for details.
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"devices" : [
{
"device_id" : "001ec0f03668",
"status" : {
"active" : true
}
},
{
"device_id" : "d88039631d77",
"status" : {
"active" : true
}
},
],
"error" : [
{
"device_id" : "d88039634e85",
"reason" : "DEVICE_DISCONNECTED",
"message" : "Device is disconnected from the network"
},
{
"device_id" : "d8803962ffa4",
"reason" : "DEVICE_DISCONNECTED",
"message" : "Device is disconnected from the network"
}
]
},
"error" : null
}

PDS-062489 Rev 1.6 Page 309 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.7 Command “get settings” for Transceiver Device
The following is an example output for the command get settings called with a transceiver device.
Refer to section 4.7 Command get for details.
{
status: SUCCESS,
request_id: null,
result: {
devices: [
{
device_id: 0016c04c3d9a,
identity: {
chipset_type: AVP2000T,
engine: PLETHORA,
vendor_id: 1,
product_id: 77,
firmware_comment: BlueRiver_RDK_2-0-0-0_evaluation,
firmware_version: 1.2.1.0,
firmware_rc: 0,
is_receiver: true,
is_transmitter: true,
firmware_details: [
{
type: PRIMARY,
details_available: true,
firmware_version: 1.2.1.0,
firmware_rc: 0
},
{
type: GOLDEN,
details_available: true,
firmware_version: 1.0.0.0,
firmware_rc: 0
}
],
chip_id: null
},
capabilities: {},
configuration: {
device_name: 0016C04C3D9A,
locate_mode: false,
secure_av: default,
resume_streaming: true,
claimed: false,
authenticated: false,
device_mode: TRANSCEIVER
},
status: {
active: true,
point_to_point: false,
point_to_point_peer: ,
boot_status: PRIMARY,
update_in_progress: false,
igmp_reporting_mode: QUERY,
error_status: {
PDS-062489 Rev 1.6 Page 310 of 352
SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
has_error_code: false,
error_code: 0
}
},
streams: [
{
type: HDMI,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false,
remove_audio: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
},
{
type: HDMI,
index: 1,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false,
remove_audio: true
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: SCALER,
ref_index: 0
}
},
{
type: HDMI_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0

PDS-062489 Rev 1.6 Page 311 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
},
{
type: MULTICH_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: MULTICH_AUDIO_INPUT,
ref_index: 0
}
},
{
type: STEREO_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: STEREO_AUDIO_INPUT,
ref_index: 0
}
},
{
type: RS232,
index: 0,
configuration: {
address: 0.0.0.0,
dest_index: 0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 0
}
},
{
type: RS232,

PDS-062489 Rev 1.6 Page 312 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
index: 1,
configuration: {
address: 0.0.0.0,
dest_index: 1,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 1
}
},
{
type: RS232,
index: 2,
configuration: {
address: 0.0.0.0,
dest_index: 2,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 2
}
},
{
type: RS232,
index: 3,
configuration: {
address: 0.0.0.0,
dest_index: 3,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: UART,
ref_index: 3
}
},
{
type: INFRARED,
index: 0,
configuration: {

PDS-062489 Rev 1.6 Page 313 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: INFRARED_DECODER,
ref_index: 0
}
},
{
type: CEC,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: CEC,
ref_index: 0
}
},
{
type: CEC,
index: 1,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: CEC,
ref_index: 1
}
},
{
type: USB_HID,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
auto_stop: false
},
status: {

PDS-062489 Rev 1.6 Page 314 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
state: STOPPED
},
source: {
ref_class: NODE,
ref_type: USB_HID,
ref_index: 0
}
}
],
subscriptions: [
{
type: HDMI,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 1,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 2,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 3,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,

PDS-062489 Rev 1.6 Page 315 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
index: 4,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 5,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 6,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 7,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 8,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 9,

PDS-062489 Rev 1.6 Page 316 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 10,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 11,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 12,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 13,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 14,
configuration: {

PDS-062489 Rev 1.6 Page 317 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 15,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 16,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 17,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 18,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 19,
configuration: {
address: 0.0.0.0,

PDS-062489 Rev 1.6 Page 318 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 20,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 21,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 22,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 23,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 24,
configuration: {
address: 0.0.0.0,
enable: false

PDS-062489 Rev 1.6 Page 319 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 25,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 26,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 27,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 28,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 29,
configuration: {
address: 0.0.0.0,
enable: false
},

PDS-062489 Rev 1.6 Page 320 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 30,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI,
index: 31,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: HDMI_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false,
mute_msec: 1500
},
status: {
state: STOPPED
}
},
{
type: STEREO_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false
},
status: {
state: STOPPED
}
},
{
type: MULTICH_AUDIO,
index: 0,
configuration: {
address: 0.0.0.0,
enable: false
},

PDS-062489 Rev 1.6 Page 321 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
state: STOPPED
}
},
{
type: RS232,
index: 0,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: RS232,
index: 1,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: RS232,
index: 2,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: RS232,
index: 3,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
},
{
type: INFRARED,
index: 0,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {

PDS-062489 Rev 1.6 Page 322 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
state: STREAMING
}
},
{
type: USB_HID,
index: 0,
configuration: {
address: 0.0.0.0,
enable: true
},
status: {
state: STREAMING
}
}
],
nodes: [
{
type: STEREO_AUDIO_INPUT_OUTPUT,
index: 0,
configuration: {
direction: INPUT
},
status: {},
inputs: [
{
name: main,
index: 0,
configuration: {
source: {
value: 2
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
}
}
]
},
{
type: CEC,
index: 0,
configuration: {
p2p_mode: PASSTHROUGH
},
status: {},
inputs: []
},
{
type: CEC,
index: 1,
configuration: {
p2p_mode: PASSTHROUGH

PDS-062489 Rev 1.6 Page 323 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
status: {},
inputs: []
},
{
type: COLOR_GENERATOR,
index: 0,
configuration: {
enable: false,
color: 000000,
force_output: false
},
status: {},
inputs: []
},
{
type: FRAME_BUFFER,
index: 0,
configuration: {
display_mode: FAST_SWITCHED,
width: 0,
height: 0,
horiz_offset: 0,
vert_offset: 0,
frames_per_second: 0,
keep_width: 0,
keep_height: 0,
viewport_horiz: 0,
viewport_vert: 0,
viewport_width: 0,
viewport_height: 0,
aspect_ratio_mode: NONE,
has_auto_wall_details: false
},
status: {
source_video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
}
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}

PDS-062489 Rev 1.6 Page 324 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
name: multiview,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}
},
{
name: multiview,
index: 1,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 1
}
}
},
{
name: multiview,
index: 2,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 2
}
}
},
{
name: multiview,
index: 3,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 3
}
}
},
{
name: multiview,
index: 4,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,

PDS-062489 Rev 1.6 Page 325 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ref_type: HDMI,
ref_index: 4
}
}
},
{
name: multiview,
index: 5,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 5
}
}
},
{
name: multiview,
index: 6,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 6
}
}
},
{
name: multiview,
index: 7,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 7
}
}
},
{
name: multiview,
index: 8,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 8
}
}
},
{
name: multiview,
index: 9,

PDS-062489 Rev 1.6 Page 326 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 9
}
}
},
{
name: multiview,
index: 10,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 10
}
}
},
{
name: multiview,
index: 11,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 11
}
}
},
{
name: multiview,
index: 12,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 12
}
}
},
{
name: multiview,
index: 13,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 13
}
}

PDS-062489 Rev 1.6 Page 327 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
name: multiview,
index: 14,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 14
}
}
},
{
name: multiview,
index: 15,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 15
}
}
},
{
name: multiview,
index: 16,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 16
}
}
},
{
name: multiview,
index: 17,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 17
}
}
},
{
name: multiview,
index: 18,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,

PDS-062489 Rev 1.6 Page 328 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ref_type: HDMI,
ref_index: 18
}
}
},
{
name: multiview,
index: 19,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 19
}
}
},
{
name: multiview,
index: 20,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 20
}
}
},
{
name: multiview,
index: 21,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 21
}
}
},
{
name: multiview,
index: 22,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 22
}
}
},
{
name: multiview,
index: 23,

PDS-062489 Rev 1.6 Page 329 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 23
}
}
},
{
name: multiview,
index: 24,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 24
}
}
},
{
name: multiview,
index: 25,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 25
}
}
},
{
name: multiview,
index: 26,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 26
}
}
},
{
name: multiview,
index: 27,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 27
}
}

PDS-062489 Rev 1.6 Page 330 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
name: multiview,
index: 28,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 28
}
}
},
{
name: multiview,
index: 29,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 29
}
}
},
{
name: multiview,
index: 30,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 30
}
}
},
{
name: multiview,
index: 31,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 31
}
}
}
]
},
{
type: HDMI_DECODER,
index: 0,
configuration: {
hdcp_support_enable: true,

PDS-062489 Rev 1.6 Page 331 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
hdcp_22_support_disable: false
},
status: {
video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
},
has_video_details: true,
video_details: {
frame_rate: 0,
pixel_clock: 0,
total_width: 0,
total_height: 0,
hsync_width: 0,
hsync_front_porch: 0,
hsync_negative: false,
vsync_width: 0,
vsync_front_porch: 0,
vsync_negative: false,
vic: 0,
has_hdmi_vic: false,
hdmi_vic: 0,
picture_aspect: ASPECT_NO_DATA,
has_active_format: false,
active_format: 0,
it_content_type: NO_DATA,
scan_information: NO_DATA,
colorimetry: RGB,
rgb_range: DEFAULT,
ycc_range: LIMITED,
has_hdr: false,
hdr: SDR
},
has_audio_details: true,
audio_details: {
sampling_frequency: 44100,
number_of_channels: 2
},
has_audio_details_extended: true,
audio_details_extended: {
channel_allocation: 0,
sample_size: 0,
level_shift_value: 0,
lfe_playback_level: 0,
audio_encoding_type: LPCM,
is_downmix_inhibited: false
},
hdcp_protected: false,
hdcp_version: NONE,
hdmi_2_0_support: true,
source_stable: false,
audio_downmix_support: true

PDS-062489 Rev 1.6 Page 332 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
inputs: [
{
name: main,
index: 0,
configuration: {},
status: {
source: {
ref_class: NODE,
ref_type: VIDEO_INPUT,
ref_index: 0
}
}
}
]
},
{
type: HDMI_ENCODER,
index: 0,
configuration: {
hdcp_output_mode: FOLLOW_SINK_1
hdmi_tx_5v: AUTO
},
status: {
video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
},
has_video_details: true,
video_details: {
frame_rate: 0,
pixel_clock: 0,
total_width: 0,
total_height: 0,
hsync_width: 0,
hsync_front_porch: 0,
hsync_negative: false,
vsync_width: 0,
vsync_front_porch: 0,
vsync_negative: false,
vic: 0,
has_hdmi_vic: false,
hdmi_vic: 0,
picture_aspect: ASPECT_NO_DATA,
has_active_format: false,
active_format: 0,
it_content_type: NO_DATA,
scan_information: NO_DATA,
colorimetry: RGB,
rgb_range: DEFAULT,
ycc_range: LIMITED,
has_hdr: false,

PDS-062489 Rev 1.6 Page 333 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
hdr: SDR
},
has_audio_details: false,
audio_details: {},
has_audio_details_extended: false,
audio_details_extended: {},
hdcp_protected: false,
hdcp_version: NONE,
hdmi_2_0_support: true,
source_stable: false
},
inputs: [
{
name: main,
index: 0,
configuration: {
source: {
value: 0
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI,
ref_index: 0
}
}
},
{
name: audio,
index: 0,
configuration: {
source: {
value: 2
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: HDMI_AUDIO,
ref_index: 0
}
}
}
]
},
{
type: HDMI_MONITOR,
index: 0,
configuration: {},
status: {
connected: true
},
inputs: [
{
name: main,

PDS-062489 Rev 1.6 Page 334 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
index: 0,
configuration: {},
status: {
source: {
ref_class: NODE,
ref_type: HDMI_ENCODER,
ref_index: 0
}
}
}
]
},
{
type: MULTICH_AUDIO_INPUT,
index: 0,
configuration: {
sampling_frequency: {
value: 48000
},
number_of_channels: {
value: 8
},
channel_allocation: {
value: 0
},
audio_encoding_type: LPCM,
mute_audio: false
},
status: {
data_lanes: 4,
sampling_frequency: 0
},
inputs: []
},
{
type: MULTICH_AUDIO_OUTPUT,
index: 0,
configuration: {},
status: {
data_lanes: 4
},
inputs: [
{
name: main,
index: 0,
configuration: {
source: {
value: 8
}
},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: MULTICH_AUDIO,
ref_index: 0
}

PDS-062489 Rev 1.6 Page 335 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
}
}
]
},
{
type: INFRARED_ENCODER,
index: 0,
configuration: {},
status: {
data_length_max: 1032
},
inputs: [
{
name: network,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: INFRARED,
ref_index: 0
}
}
}
]
},
{
type: INFRARED_DECODER,
index: 0,
configuration: {},
status: {},
inputs: []
},
{
type: LED,
index: 0,
configuration: {
function: {
value: 0
}
},
status: {},
inputs: []
},
{
type: NETWORK_INTERFACE,
index: 0,
configuration: {
hostname: 0016C04C3D9A,
ip: {
address: 10.17.252.104,
mode: DHCP,
mask: 255.255.255.0,
gateway: 10.17.252.254
}
},

PDS-062489 Rev 1.6 Page 336 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
mac_address: 0016c04c3d9a,
ip: {
address: 10.17.252.104
}
},
inputs: []
},
{
type: NETWORK_PORT,
index: 0,
configuration: {
speed: SPEED_10G
},
status: {
active: true,
speed: 10,
supports_speed_10g: true,
supports_speed_5g: false,
supports_speed_2_5g: false,
supports_auto_10g: false,
supports_auto_5g: false
},
inputs: []
},
{
type: NETWORK_SWITCH,
index: 0,
configuration: {
gigabit_port_1_enable: true
},
status: {},
inputs: []
},
{
type: SCALER,
index: 0,
configuration: {
width: 0,
height: 0
},
status: {
video: {
width: 0,
height: 0,
frames_per_second: 0,
color_space: RGB,
bits_per_pixel: 8,
scan_mode: PROGRESSIVE
}
},
inputs: [
{
name: main,
index: 0,
configuration: {},

PDS-062489 Rev 1.6 Page 337 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
status: {
source: {
ref_class: NODE,
ref_type: HDMI_DECODER,
ref_index: 0
}
}
}
]
},
{
type: UART,
index: 0,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{
name: network,
index: 0,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 0
}
}
}
]
},
{
type: UART,
index: 1,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{
name: network,
index: 1,
configuration: {},
status: {
source: {

PDS-062489 Rev 1.6 Page 338 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 1
}
}
}
]
},
{
type: UART,
index: 2,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{
name: network,
index: 2,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,
ref_index: 2
}
}
}
]
},
{
type: UART,
index: 3,
configuration: {
baud_rate: 57600,
data_bits: 8,
stop_bits: 1,
parity: NONE
},
status: {
usage: EXPOSED
},
inputs: [
{
name: network,
index: 3,
configuration: {},
status: {
source: {
ref_class: SUBSCRIPTION,
ref_type: RS232,

PDS-062489 Rev 1.6 Page 339 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
ref_index: 3
}
}
}
]
},
{
type: USB_HID,
index: 0,
configuration: {
role: OTG
},
status: {
usb_devices: [
{
status: DISCONNECTED
},
{
status: DISCONNECTED
},
{
status: DISCONNECTED
}
],
usb_host: {
status: DISCONNECTED
},
role: DISCONNECTED
},
inputs: []
},
{
type: USB_ICRON,
index: 0,
configuration: {
extender_type: LOCAL,
program_mode: NONE,
rs232_port: 0
},
status: {
chip_present: true,
mac_address: 0016c03556e8,
reachable: true,
revision: 1.9.4,
ip_mode: DHCP,
ip_address: 10.17.252.109,
peer_mac_address: “”,
peer_mac_address: “”,
link_status_support: true,
linked: false
},
inputs: []
},
{
type: VIDEO_COMPRESSOR,
index: 0,

PDS-062489 Rev 1.6 Page 340 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
configuration: {
always_compress: false,
version: 1
},
status: {
version_support: 2
},
inputs: []
},
{
type: VIDEO_DECOMPRESSOR,
index: 0,
configuration: {
version: 1
},
status: {
version_support: 2
},
inputs: []
},
{
type: VIDEO_INPUT,
index: 0,
configuration: {},
status: {},
inputs: []
}
]
}
],
error: []
},
error: null
}

PDS-062489 Rev 1.6 Page 341 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
This page is intentionally blank.

PDS-062489 Rev 1.6 Page 342 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
Appendix: Non Get Command Output Examples
A.1 Command “layout describe”
The following is an example output for the command layout describe.
Refer to section 5.2.5 Command layout describe for details.
layout compatibility_4k_2x2 describe
{
"status" : "SUCCESS",
"request_id" : null,
"result" : {
"layout_description" : {
"name" : "compatibility_4k_2x2",
"width" : 3840,
"height" : 2160,
"read_only" : true,
"surfaces" : [
{
"index" : 0,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 4096,
"height" : 2160
},
{
"index" : 1,
"horizontal_position" : 4160,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 2,
"horizontal_position" : 6240,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 3,
"horizontal_position" : 8320,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 4,
"horizontal_position" : 4160,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},

PDS-062489 Rev 1.6 Page 343 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"index" : 5,
"horizontal_position" : 6240,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 6,
"horizontal_position" : 8320,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 7,
"horizontal_position" : 0,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 8,
"horizontal_position" : 2080,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 9,
"horizontal_position" : 4160,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 10,
"horizontal_position" : 6240,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 11,
"horizontal_position" : 8320,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 12,
"horizontal_position" : 0,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},

PDS-062489 Rev 1.6 Page 344 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
{
"index" : 13,
"horizontal_position" : 2080,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 14,
"horizontal_position" : 4160,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 15,
"horizontal_position" : 6240,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 16,
"horizontal_position" : 8320,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 17,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 18,
"horizontal_position" : 2080,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 19,
"horizontal_position" : 0,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 20,
"horizontal_position" : 2080,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
}

PDS-062489 Rev 1.6 Page 345 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
],
"windows" : [
{
"index" : 0,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 0
},
{
"index" : 1,
"horizontal_position" : 1920,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 1
},
{
"index" : 2,
"horizontal_position" : 0,
"vertical_position" : 1080,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 2
},
{
"index" : 3,
"horizontal_position" : 1920,
"vertical_position" : 1080,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 3
}
]
}
},
"error" : null
}

PDS-062489 Rev 1.6 Page 346 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
A.2 Command “MULTIVIEW_CHANGED” event
The example below is the return of a request command sent to retrieve information for a
MULTIVIEW_CHANGED event, note that the MULTIVIEW object is part of the FRAME_BUFFER node.
request 28
{
"status" : "SUCCESS",
"request_id" : 28,
"result" : {
"devices" : [
{
"device_id" : "0016c035566e",
"status" : {
"active" : true
},
"nodes" : [
{
"type" : "FRAME_BUFFER",
"index" : 0,
"configuration" : {
"display_mode" : "MULTIVIEW",
"multiview_layout" : {
"name" : "picture_in_picture",
"width" : 1920,
"height" : 1080,
"read_only" : false,
"surfaces" : [
{
"index" : 0,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 4096,
"height" : 2160
},
},
{
"index" : 1,
"horizontal_position" : 4160,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 2,
"horizontal_position" : 6240,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 3,
"horizontal_position" : 8320,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080

PDS-062489 Rev 1.6 Page 347 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
"index" : 4,
"horizontal_position" : 4160,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 5,
"horizontal_position" : 6240,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 6,
"horizontal_position" : 8320,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
},
{
"index" : 7,
"horizontal_position" : 0,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 8,
"horizontal_position" : 2080,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 9,
"horizontal_position" : 4160,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 10,
"horizontal_position" : 6240,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080
},
{
"index" : 11,
"horizontal_position" : 8320,
"vertical_position" : 2160,
"width" : 2048,
"height" : 1080

PDS-062489 Rev 1.6 Page 348 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
"index" : 12,
"horizontal_position" : 0,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 13,
"horizontal_position" : 2080,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 14,
"horizontal_position" : 4160,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 15,
"horizontal_position" : 6240,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 16,
"horizontal_position" : 8320,
"vertical_position" : 3240,
"width" : 2048,
"height" : 856
},
{
"index" : 17,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 18,
"horizontal_position" : 2080,
"vertical_position" : 0,
"width" : 2048,
"height" : 1080
},
{
"index" : 19,
"horizontal_position" : 0,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080

PDS-062489 Rev 1.6 Page 349 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
},
{
"index" : 20,
"horizontal_position" : 2080,
"vertical_position" : 1080,
"width" : 2048,
"height" : 1080
}
],
"windows" : [
{
"index" : 0,
"horizontal_position" : 960,
"vertical_position" : 270,
"width" : 960,
"height" : 540,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 1
},
{
"index" : 1,
"horizontal_position" : 0,
"vertical_position" : 0,
"width" : 1920,
"height" : 1080,
"horizontal_offset" : 0,
"vertical_offset" : 0,
"content" : "VIDEO",
"target_surface" : 0
}
]
}
},
"status" : {}
}
]
}
]
},
"error" : null
}

PDS-062489 Rev 1.6 Page 350 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
8 Revision History
Version Date Revision
1.6 March 17, 2022 Added the configuration.locate_mode to section 7.1 Device
Configuration table. Details in Table 114: Color generator node object members
clarified regarding device chipset type required. The hdmi_tx_5v node
added to section 6.8.11 HDMI Encoder Node (Type HDMI_ENCODER) and
section 7.10 HDMI Encoder Node Configuration.
1.5 February 8, 2023 Updated to add note that the device name is persistent following a factory reset
as of the API 3.5 release. Also added HDMI Audio Node Configuration to
section the Configurable Device Properties for the mute_msec option. New
wall_name added to list of set video arguments.
1.4 June 8, 2022 Updated section “Request associated with event MULTIVIEW_CHANGED” and
added Command “MULTIVIEW_CHANGED” event to Appendix: Non Get
Command Output Examples.
1.3 May 30, 2022 New API version 3.4 released, modified the command set ip to include the
new AUTO_IP option, added new get multiview command and new
pair command for Icron stream type. Also, updated the Frame Buffer node
and Icron node, as they were impacted by these new commands.
1.2 January 12, 2022 Remove the NULL_SOURCE node from section Nodes (Node) and update table
Node Object members to reflect this change. Also, added to section 7.5 CEC
Node Configuration that when in API mode, a device allows CEC data to be
injected from the API to logical address “14” (0x0E – Free use).
1.1 October 4 2021 Modified command switch to include Icron pairing, as well modified the Icron
node to reflect the new pairing feature.
1.0 July 19, 2021 Initial revision created for the SDVoE API release.

PDS-062489 Rev 1.6 Page 351 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.
IMPORTANT NOTICE

Information relating to this product and the application or design described herein is believed to be reliable, however such information is
provided as a guide only. Semtech and SDVoE Alliance (collectively, “Parties”) assume no liability for any errors in this document, or for
the application or design described herein. The Parties reserve the right to make changes to their respective products or this document at
any time without notice. Buyers should obtain the latest relevant information before placing orders and should verify that such
information is current and complete. The Parties warrant performance of their respective products to the specifications applicable at the
time of sale, and all sales are made in accordance with their respective standard terms and conditions of sale.
NEITHER PARTY’S PRODUCTS ARE DESIGNED, INTENDED, AUTHORIZED OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT
APPLICATIONS, DEVICES OR SYSTEMS, OR IN NUCLEAR APPLICATIONS IN WHICH THE FAILURE COULD BE REASONABLY EXPECTED TO
RESULT IN PERSONAL INJURY, LOSS OF LIFE OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. INCLUSION OF EITHER PARTY’S
PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE UNDERTAKEN SOLELY AT THE CUSTOMER’S OWN RISK. Should a customer
purchase or use either Party’s products for any such unauthorized application, the customer shall indemnify and hold such Party and their
officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs damages and attorney fees which could
arise.
The Semtech name and logo are registered trademarks of the Semtech Corporation. The SDVoE Alliance name is a registered trademark
of SDVoE Alliance. All other trademarks and trade names mentioned may be marks and names of Semtech, SDVoE Alliance or their
respective licensors. The Parties reserve the right to make changes to, or discontinue any products described in this document without
further notice. The Parties make no warranty, representation or guarantee, express or implied, regarding the suitability of their
respective products for any particular purpose.

© Semtech 2023. All rights reserved.

For more information contact: [email protected]

PDS-062489 Rev 1.6 Page 352 of 352


SDVoE Developers API March 2023 The information contained herein is the exclusive property of Semtech and shall not
Reference Guide be distributed, copied, reproduced or disclosed in whole or in part without prior
written permission of Semtech or its licensees.

You might also like