ReviewOS

home-lang/home-os

HDMI-CEC in Home: remote key reception (user-control-pressed), TV power/volume/input control, One Touch Play, System Standby, device discovery — the default remote is the TV's own

#98
Open chris opened this 8 days ago ·
8 days ago

Epic: #113 · Milestone: MC7 — TV shell

Why

Zero extra hardware: every TV remote already speaks CEC over HDMI. kernel/src/rpi/hdmi_cec.home (538 lines, includes a button-code table) is the only remote-control code in the tree and has never run. CEC lives in the BCM2712 HDMI block.

Tasks

  • CEC controller driver: logical address allocation (Playback Device 1/2/3), physical address from EDID, TX with retries/arbitration, RX interrupts, message framing/opcodes.
  • Features: Report Physical Address, Set OSD Name ("HomeOS"), Image View On + Active Source (One Touch Play at boot/wake), Standby (TV off → we sleep; our sleep → TV off, configurable), Routing Change, Give Device Power Status, System Audio Control + volume keys forwarded to the TV/AVR, User Control Pressed/Released → remote grammar.
  • Settings: enable/disable each behaviour; OSD name; "wake TV on boot".
  • Rig: a USB-CEC adapter on the Mac (or the TV) as the scripted key source for HIL; cec shell command for diagnostics.

Acceptance

Scripted CEC key sequence navigates the home screen in the capture; TV powers on with the Pi and off at sleep; input-latency measured via CEC.

Size: M · Depends on: #74, #91 · Blocks: #96, #101

Sign in to comment on this issue.