Architecture Overview

An overall functional diagram of a remote-control unit is as depicted below. RCU Classification is mostly based on its connectivity feature.




Software Architecture

Below diagram details the software architecture of a User Input from an RCU in RDK stack.

In general, RCU receiver at the STB/TV abstracts the input signal from protocol level and with the help of a key-map the driver converts received key code to Linux standard key code which shall be available as input data. Essos along with RDK Shell makes this input available to Application layer. Essos/ RDK Shell supports key intercepting feature which is optional to introduce another key-mapping specifically for UI or application layer. IR keymapping in the IR Manager application involves receiving and distributing IR signals via the IARM Bus. It publishes events with key code and type information for other applications to utilize, alongside RPC methods for configuring repeat key intervals.





Remote Details

BLE/BT RCU Use case Sequence Diagram

Key-Maps

Key-map selection based on IR RCU model

  • Single IR RCU specific key-map can be added in Linux device tree or pre-configured key maps for various supported RCUs can be activated in runtime based on RCU detected by device driver. Remote configuration utility shall check the factory code being received and based on that it selects the pre-configured key-map in memory. Bluetooth RCU requires HID support enabled in Kernel and the Linux key map shall be applicable for it.
  • Standard Linux key codes are handled through RDK Shell and are propagated further without alteration in the system. Other key codes are processed by RDK Shell’s key-map before Applications receives it via Essos/RDK Shell.

Application specific key maps

  • This allow the application to modify the behavior on user inputs to favor user experience. OTT applications such as YouTube, Netflix, Amazon Prime etc implement app specific key action mappings in its process environment with the help of device porting layer.

Special Features

Wake-Up from power saving mode

  • STB or RCU can be in power saving mode. This section focuses mainly on STB power saving mode.
  • STB shall be able to wake up from power saving mode upon special key action on RCU that may be based on reception of a magic packet. This magic packet implementation and related user experience design is out of scope of RDK stack.

Hotkeys - dedicated keys for OTT Applications

  • Special or App dedicated keys are mapped in the UI and UI shall be managing respective App launch which requires Application to register listener for the same key with RDK Shell. On detection of such key-code, RDK Shell shall send that to expected listener and that application shall trigger further actions defined for handling based on the use-case.




How to integrate a new remote control device to an accelerator?

IR RCU Receiver Driver and respective key map integration

RCU specific factory code based key map for mapping against Linux key codes shall be integrated either in device-tree or using user space drivers or with the help of similar functionality having components.

Specific key map integration at RDK Shell key map

RCU specific special key and its modifier configuration shall be integrated at RDK Shell using RDK Shell key-map.

RDK Shell key-map can be added via Thunder using following environment variable.

RDKSHELL_KEYMAP_FILE=/etc/rdkshell_keymapping.json

Sample format of RDK Shell key-map

{
  "keyMappings": [
    { "keyCode": value, "mapped": { "keyCode": value, "modifiers": ["ctrl"] }},
    { "keyCode": value, "mapped": { "keyCode": value, "modifiers": [] }}
  ]
}

Wake-up packet and wake-up trigger mechanism integration

Integration detail and scope is purely abstracted to RCU manufacturer. STB hardware power management and Linux power domain options shall be considered while designing the wake-up trigger mechanism.




How to integrate a pre-certified remote to your accelerator?

The pre-certified remote controls are expected to work off the shelf without any further modification. The engineering activities in this regards are in progress, and it's expected to be published soon to the community. For more updates, please watch this page.


Acronyms

Acronym

Description

BLE/BT

Bluetooth Low Energy/ Bluetooth

HID

Human Interface Device Profile

IR

Infra-Red

OTA

Over The Air

OTT

Over The Top

RCU

Remote Control Unit

STB

Set Top Box

UI

User Interface (Graphical)

  • No labels