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

Compare with Current View Page History

« Previous Version 24 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:

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 CategoryDAB RequestThunder Implementation for the Request
Supported Operationsoperations/listNo RDK specific implementation required except platform specific key map configuration.
Applications



applications/list

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 (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-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
[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

System



device/info

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

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


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

PictureMode: not implemented (not an STB feature)

VideoInputSource : not implemented due to lack of device capability.

Input

input/key/list

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

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

Device & Application Telemetry




device-telemetry/start
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
health-check/get
No RDK specific implementation required.
Operational General Notifications
messages
TBD: Funtionality not tested.
Voice


voice/list
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.

{"enable":false, "ptt":{"enable":false}}
voice/send-audio
https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
voice/send-text
https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
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