我想从Amlogic 905x ARM板(Android 6)发送原始HDMI-CEC命令(adb shell)来测试功能。该主板已经过测试,测试过,' adb root'工作正常,并连接到具有CEC功能的电视(启用,也通过视频游戏机进行测试)。
首先,我想澄清核心功能是否内置,所以我想如果正确的CEC命令被发送到正确的频道,我应该注意到电视机的任何类型的改变。
我想在较低的抽象级别测试它(sysfs我认为没问题,而http://www.cec-o-matic.com/对于如何构建命令字符串非常简单),以避免系统库的复杂性。 / p>
我注意到有些人在打开电视时有一些积极的结果,使用:
#echo 0x40 0x04 > /sys/class/cec/cmd
我的工作并没有结束。
我认为我可能为此分配了一个不同的类文件,我发现' / sys / class / amhdmitx / amhdmitx0'它有很多提供IO功能的端点/文件。
我通过使用以下方式从设备返回连接到的电视机的详细信息(EDID - 扩展显示识别数据):
#cat /sys/class/amhdmitx/amhdmitx0/edid
这意味着必须有一种向电视发送命令的方法,例如打开/关闭电视,改变来源......
尝试发送到调试文件,因为没有可用的cmd文件,如' / sys / class / cec / cmd':
#echo 0x40 0x04 > /sys/class/amhdmitx/amhdmitx0/debug
有谁知道我该怎么做,测试发送程序(设备) - >(电视)?
使用' / sys / class / cec / cmd'为什么电视上没有活动?
哪个是用于将十六进制数据发送到电视的正确文件?
的结果
cat /system/build.prop |grep hdmi && ls -l /dev/cec && ls -laht /sys/class/cec/ && settings list global |grep hdmi && echo 0x40 0x04 > /sys/class/cec/cmd && sleep 0.1 && cat /sys/class/cec/dump_reg && sleep 1 && cat /sys/class/cec/dump_reg
是
ro.sys.hdmiin.enable=true
mbx.hdmiin.switchfull=false
mbx.hdmiin.videolayer=false
ubootenv.var.hdmimode=
ro.hdmi.device_type=4
persist.sys.hdmi.keep_awake=false
crw-rw-rw- root root 222, 0 2014-12-31 16:00 cec
-r--r--r-- root root 4096 2018-05-08 08:47 arc_port
lrwxrwxrwx root root 2018-05-08 08:47 cec -> ../../devices/aocec/cec
--w------- root root 4096 2018-05-08 08:47 cmd
-rw-rw-r-- root root 4096 2018-05-08 08:47 dbg_en
-rw-rw-r-- root root 4096 2018-05-08 08:47 device_type
-r--r--r-- root root 4096 2018-05-08 08:47 dump_reg
-rw-rw-r-- root root 4096 2018-05-08 08:47 fun_cfg
-rw-rw-r-- root root 4096 2018-05-08 08:47 menu_language
-r--r--r-- root root 4096 2018-05-08 08:47 osd_name
-rw-rw-r-- root root 4096 2018-05-08 08:47 physical_addr
-r--r--r-- root root 4096 2018-05-08 08:47 port_num
-r--r--r-- root root 4096 2018-05-08 08:47 port_seq
-r--r--r-- root root 4096 2018-05-08 08:47 port_status
-rw-rw-r-- root root 4096 2018-05-08 08:47 vendor_id
-r--r--r-- root root 4096 2018-05-08 08:47 wake_up