Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DAB RequestDAB CategoryThunder Implementation for the Request
operations/listSupported OperationsNo RDK specific implementation required except platform specific key map configuration.
applications/list
Applications



https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getavailabletypes

Use the response to match the AppID as per DAB-2.0 spec. [Note: should have YouTube, Amazon & Netflix as types in the API response.]

applications/launch
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=launch
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=movetofront
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=setfocus

Note: Implementation supports only YouTube common port.
If previous state is suspended; then moveToFront & setFocus rdkshell APIs are called with AppID matching callsign.

applications/launch-with-content

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=launch

https://code.rdkcentral.com/r/plugins/gitiles/rdk/components/generic/cobalt/+/refs/heads/24.lts.dev/plugin/doc/CobaltPlugin.md#method.deeplink

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=movetofront

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=setfocus

Note: Implementation supports only YouTube common port.
If previous state is suspended; then moveToFront & setFocus rdkshell APIs are called with AppID matching callsign.

applications/get-state
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getstate
applications/exit
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=destroy

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=suspend

device/info
System



https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getconnectedvideodisplays

https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin?id=getdeviceinfo [estb_mac is used as DAB Device ID]

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getscreenresolution

https://rdkcentral.github.io/rdkservices/#/api/NetworkPlugin?id=getinterfaces

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPlugin?id=systeminfo [uptime is extracted from this]

https://rdkcentral.github.io/rdkservices/#/api/DeviceIdentificationPlugin?id=deviceidentification

https://rdkcentral.github.io/rdkservices/#/api/NetworkPlugin?id=getipsettings

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPlugin?id=make

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPlugin?id=modelid

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPlugin?id=serialnumber

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPlugin?id=firmwareversion

https://rdkcentral.github.io/rdkservices/#/api/DeviceIdentificationPlugin?id=deviceidentification [chipset is extracted from this]

system/restart
https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin?id=reboot
system/settings/list


https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedresolutions

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedaudioports

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedaudiomodes

https://rdkcentral.github.io/rdkservices/#/api/FrameRatePlugin?id=getdisplayframerate

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsettophdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=gettvhdrsupport

MEMC: false

LowLatencyMode: true as its being enabled by the pipeline property. No plugin exposed APIs available.

VideoInputSource : Home (STB's playback source is its app itself.)

PictureMode: None (not an STB feature)

system/settings/get

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedresolutions

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedaudioports

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedaudiomodes

https://rdkcentral.github.io/rdkservices/#/api/HdmiCec_2Plugin?id=getenabled

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsoundmode

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getmuted

https://rdkcentral.github.io/rdkservices/#/api/FrameRatePlugin?id=getdisplayframerate

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getconnectedvideodisplays

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsettophdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=gettvhdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getconnectedaudioports

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getvolumelevel

https://rdkcentral.github.io/rdkservices/#/api/TextToSpeechPlugin?id=isttsenabled

https://rdkcentral.github.io/rdkservices/#/api/UserPreferencesPlugin?id=getuilanguage

system/settings/set

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setcurrentresolution

https://rdkcentral.github.io/rdkservices/#/api/FrameRatePlugin?id=setdisplayframerate

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setvolumelevel

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setmuted

https://rdkcentral.github.io/rdkservices/#/api/HdmiCec_2Plugin?id=setenabled

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setenableaudioport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setforcehdrmode

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setsoundmode

https://rdkcentral.github.io/rdkservices/#/api/TextToSpeechPlugin?id=enabletts

https://rdkcentral.github.io/rdkservices/#/api/UserPreferencesPlugin?id=setuilanguage

PictureMode: not implemented (not an STB feature)

VideoInputSource : not implemented due to lack of device capability.

input/key/list
Input

Platform configurable key map /opt/dab_platform_keymap.json with following format: key value pair of "DAB_KEY": PLATFORM_KEYCODE

Code Block
languagejs
{
  "KEY_GREEN": 406,
  "KEY_YELLOW": 403,
  "KEY_BLUE": 404,
  "KEY_HOME": 173
}
input/key-press
 https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=injectkey

[Note: injectKey will not be overridden by the rdkshell_keymapping.json so put the final KEYCODE in /opt/dab_platform_keymap.json]

input/long-key-press

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=injectkey

[Note: injectKey will not be overridden by the rdkshell_keymapping.json so put the final KEYCODE in /opt/dab_platform_keymap.json]

output/image
Output

https://rdkcentral.github.io/rdkservices/#/api/ScreenCapturePlugin?id=uploadscreencapture

device-telemetry/start
Device & Application Telemetry




TBD: Funtionality not tested.
device-telemetry/stop
TBD: Funtionality not tested.
device-telemetry/metrics
TBD: Funtionality not tested.
app-telemetry/start
TBD: Funtionality not tested.
app-telemetry/stop
TBD: Funtionality not tested.
app-telemetry/metrics
TBD: Funtionality not tested.
health-check/get
Health CheckNo RDK specific implementation required.
messages
Operational General NotificationsTBD: Funtionality not tested.
voice/list
Voice


https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicestatus

voice/set

https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=configurevoice with following parameter in the current implementation.

Code Block
languagejs
{"enable":false, "ptt":{"enable":false}}
voice/send-audio
https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
Code Block
languagejs
{"audio_file":"/tmp/tts.wav","type":"ptt_audio_file"}
voice/send-text

To convert the audio to platform compatible format; gst-launch-1.0 binary is required.

https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
Code Block
languagejs
{"audio_file":"/tmp/tts.wav","type":"ptt_audio_file"}
versionVersionNo RDK specific implementation required.
For generating DAB Device IDGeneric

https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin?id=getdeviceinfo with param estb_mac

For feature/service availabilityGeneric

https://github.com/rdkcentral/Thunder/blob/master/Source/WPEFramework/doc/ControllerPlugin.md#method.activate

https://github.com/rdkcentral/Thunder/blob/master/Source/WPEFramework/doc/ControllerPlugin.md#method.deactivate

https://github.com/rdkcentral/Thunder/blob/master/Source/WPEFramework/doc/ControllerPlugin.md#property.services [Used as 'status@callsign']

DAB Integration & Debug Helpers

DAB Message Sniffer for analysis

This section details about how to setup a tool to see DAB messages being exchanged over the test network using a Linux PC(DAB Monitor).

...

Code Block
user@DABMonitor:~$ mosquitto_sub -h 10.0.0.4 -v -t '#' | ts '[%Y%b%d %H:%M:%.S]'

How to run DAB adapter binary in debug mode

If at any time during DAB adapter development or integration phase wanted to see what is the Thunder API request payload and its platform response that dab-adapter sends/receives, you could run the dab-adapter binary with verbose mode enabled as below.

Code Block
user@STB:~$ dab-adapter --debug true

Common pit-falls

...