文件名称:
DC6008_irda_manager驱动程序和APK_20150914_1424.7z
开发工具:
文件大小: 23mb
下载次数: 0
上传时间: 2015-09-14
详细说明: Android系统 红外遥控器 irda consumerir API调试 .Linux驱动层: 1.文件复制: 把kernel/drivers/irda文件目录复制到对应平台的/kernel/drivers下面 修改/drivers/的Kconfig 加入 source "drivers/irda/Kconfig" 修改/drivers/的Makefile 加入obj-$(CONFIG_IRDA_DC6008) += irda/ 2.编译kernel。 3. 测试代码: 在终端下先查看是否有/sys/class/sec/sec_ir,然后输入以下命令看是否会发码出来。 echo "37300,11,67,10,28,10,28,10,27,11,27,11,27,11,67,11,67,11,27,11,68,10,27,11,27,11,27,11,67,11,27,11,1731,11,68,10,28,10,27,11,27,11,27,11,67,11,27,11,27,11,67,11,27,11,67,11,67,11,68,10,27,11,68,10,1653 ">/sys/class/ sec/sec_ir/ir_send 这时会发射出遥控码出来。 在init.rc中增加 chmod 777 /sys/class/sec/sec_ir/ir_send chmod 777 /dev/ircontro Android 层:(添加硬件hal层) 可以通过导入irda中间层来实现第三方软件。 1.增加硬件层接口 在device/mini210/device_base.mk 中增加如下: ===================================================== # Irda PRODUCT_PACKAGES += \ irda.mt6582 ===================================================== 复制 irda.h到hardware/libhardware/include里面 复制 hardware/libhardware/modules/irda目录 到hardware/libhardware/include/modules里面 在 hardware/libhardware/modules/Android.mk里面增加 ===================================================== hardware_modules := irda include $(call all-named-subdir-makefiles,$(hardware_modules)) ===================================================== 2.增加service jni层 硬件架构 把com_android_server_IrdaManagerService.cpp 复制到 framework/base/services/jni/ 里面, 并修改framework/base/services/jni/里面的Android.mk ===================================================== LOCAL_SRC_FILES:= \ com_android_server_IrdaManagerService.cpp ===================================================== 在onload.cpp对应的位置 分别增加: ===================================================== namespace android { int register_android_server_IrdaManagerService(JNIEnv* env); }; extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) { register_android_server_IrdaManagerService(env); } ===================================================== 3.增加irda service 层 1)在/frameworks/base/core/java/android/app/ ContextImpl.java 进行修改 ===================================================== import android.hardware.IIrdaManager; import android.hardware.IrdaManager; static { registerService(IRDA_SERVICE, new StaticServiceFetcher() { public Object createStaticService() { IBinder b = ServiceManager.getService(IRDA_SERVICE); IIrdaManager service = IIrdaManager.Stub.asInterface(b); return new IrdaManager(service); }}); } 2)在/frameworks/base/core/java/android/content/ Context.java中增加如下 ===================================================== /** * Use with {@link #getSystemService} to retrieve a * Use with {@link #getSystemService} to retrieve a * {@link android.hardware.IrdaManager} for sending IR codes * with the IR emitter * * @see #getSystemService * @see android.hardware.IrdaManager */ public static final String IRDA_SERVICE = "irda"; ===================================================== 3)将/frameworks/base/core/java/android/hardware/ IIrdaManager.aidl IrdaManager.java 四个文件复制到 /frameworks/base/core/java/android/hardware/中 4)在/frameworks/base目录,打开Android.mk文件,修改LOCAL_SRC_FILES变量的值,增加 core/java/android/hardware/IIrdaManager.aidl \ 两个接口文件。 5)在 frameworks/base/api/current.txt中添加: ===================================================== public abstract class Context{ … field public static final java.lang.String IRDA_SERVICE = "irda"; } ===================================================== 6)在 frameworks/base/core/res/AndroidManifest.xml中增加 ===================================================== ===================================================== 7) 8) 9)将/frameworks/base/services/java/com/android/server/中的 IrdaManagerService.java加入到/frameworks/base/services/java/com/android/server/中 10)修改此目录的SystemServer文件,加入以下内容: ===================================================== try { Slog.i(TAG, "IrdaManager Service"); ServiceManager.addService("irda", new IrdaManagerService(context)); } catch (Throwable e) { Slog.e(TAG, "Failure starting Irda Service", e); } 这样就完成了文档的移植。但由于导入了新的API,请先输入指令 make update-api 再输入指令 make 然后生成img烧录系统中,打开logcat 用命令查看service list 是否有irda这个service。 Irda是老的三星遥控器接口,现在很多第三方软件都是用此接口。具体在使用上可能还是会有些问题。 irda接口都没有定义红外学习功能。红外学习功能只能用自己的DecoRemote.apk来测试了。 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.