You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Architecture & Set-up

The dab-adapter-rs the "DAB <-> RDK adapter" can be executed both on the RDK device or using an external PC.

Note: current implementation is for STB devices.

Preferred mode of operation : "On Device" implementation

Reference:

Alexa based implementation flow

Device run-times

All the below commands can be executed from device console (SSH prompt or serial terminal).

Related RFC

Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DAB.Enable

How to check current RFC configuration:

tr181 -g Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DAB.Enable

How to set the RFC:

tr181 -s -t boolean -v true Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DAB.Enable

How to clear the RFC:

tr181 -s -t boolean -v false Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DAB.Enable

DAB Operations - API Map

Below table enlists the API mapping details of current DAB adapter implementation of RDK for STB devices. RDK APIs are listed under 'Thunder Implementation'.

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.]

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=launch (topmost:true, focused:true)

[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
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
[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=getstate
applications/get-state

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

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

applications/exit
device/info
System



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

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

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 [estb_mac is used as DAB Device ID]

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

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

https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin?id=reboot

system/restart

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/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/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


system/settings/get

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

PictureMode: not implemented (not an STB feature)

VideoInputSource : not implemented due to lack of device capability.

system/settings/set
input/key/list
Input

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

{
  "KEY_GREEN": 406,
  "KEY_YELLOW": 403,
  "KEY_BLUE": 404,
  "KEY_HOME": 173
}

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/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
output/image
Output

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

device-telemetry/start
Device & Application Telemetry




TBD: Funtionality not tested.
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
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

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

{"enable":false, "ptt":{"enable":false}}
voice/set
https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
voice/send-audio
https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
voice/send-text
versionVersionNo RDK specific implementation required.

Common pit-falls

journalctl -fu dab-adapter
root@AmlogicFirebolt:~# journalctl -fu dab-adapter
-- Logs begin at Mon 2023-09-11 16:32:00 UTC. --
Sep 11 16:35:05 AmlogicFirebolt systemd[1]: Started DAB <-> RDK adapter.
Sep 11 16:35:05 AmlogicFirebolt dab-adapter[22887]: Monitoring changes of /run/dab-enable
Sep 11 16:35:06 AmlogicFirebolt dab-adapter[22887]: DAB Device ID: AC64CF339B28
Sep 11 16:35:06 AmlogicFirebolt dab-adapter[22887]: Ready to process DAB requests
Sep 11 16:35:33 AmlogicFirebolt dab-adapter[22887]: OK: operations/list

References

  • No labels