MTK6517平台关于camera的兼容
目前前置摄像头是用gc0308,后置是用gc0308/gc2035。做兼容的时候,我在ProjiectConfig.mk中添加了如下宏:
52 CUSTOM_KERNEL_IMGsensor=gc2035_yuv gc0308_yuv
53 CUSTOM_KERNEL_MAIN_IMGSENSOR=gc0308_yuv
54 CUSTOM_KERNEL_MAIN_BACKUP_IMGSENSOR =
55 CUSTOM_KERNEL_SUB_IMGSENSOR = gc0308_yuv
56 CUSTOM_KERNEL_SUB_BACKUP_IMGSENSOR = gc2035_yuv
57
58 CUSTOM_HAL_IMGSENSOR=gc2035_yuv gc0308_yuv
59 CUSTOM_HAL_MAIN_IMGSENSOR=gc0308_yuv
60 CUSTOM_HAL_MAIN_BACKUP_IMGSENSOR =
61 CUSTOM_HAL_SUB_IMGSENSOR = gc0308_yuv
62 CUSTOM_HAL_SUB_BACKUP_IMGSENSOR = gc2035_yuv
结果在驱动挂载的时候,成功的读取了ID。但只有后置摄像头是正常的,没有摄像头切换图标了。
这种问题可能出在哪? 请高手指点!
怎么从框架层解决我上述问题? 请高手指点!谢谢
前CAM没有读到ID吧。
没有读到前CAM的ID,就没有切换的图标。
自己顶下!
是啊!
当我前后摄像头都是gc0308:在挂载的时候,读前摄像头gc2035的ID失败后,就没有在去读gc0308的ID。
这好像和上面ProjiectConfig.mk中关于camera的配置不符。
UINT32 GC0308GetSensorID(UINT32 *sensorID)
将这个函数发上来看看。
665 sensor_id = ~0;
666 *sensorID = sensor_id;
我已经让它等于0xFFFFFFFF (*sensorID)
将GC2035与GC0308的这两个函数都修改一下如下的部分:
if(sensor_id != GC0308_SENSOR_ID)
{
SENSORDB("GC0308 Sensor id read failed, ID = %x\n", sensor_id);
*sensorID = 0xFFFFFFFF;
return ERROR_SENSOR_CONNECT_FAIL;
}
else
{
*sensorID = sensor_id;
}
修改回来了 还是不行啊!
我有一个设备是前置摄像头和后置摄像头都为gc0308.在插上之后,前置会读取gc2035的ID,失败后会在去读取gc0308的设备。但是在读后置的时候却回去读gc2035的ID! 奇怪的现象?
你这问题应当就是驱动层的问题。
是有CAM不管ID对不对,都将CAM挂载上去了,然后就不读其它的CAM ID了。
你这个main和sub是同一sensor,试试这个方法看能不能解决,把sub sensor当中一颗新来处理,比如命名为gc03xx(确定一个没有的sensor型号),把gc0308的driver copy过去,把gc03xx目录中的文件名及文件中的gc0308都替换为gc03xx。修改sensor id,把读取到的gc0308的id返回时修改为另外一个值。
对! 是这种现象,这种现象到现在我都还没办法解!
这样做过了 无效!
就算是挂载失败了 上层也没有在来读我的camera了! 我驱动层怎么解决呢
你如果挂载了一个,他就不会在挂 载了。
那我底层就在它挂载一个失败后,去重新选择驱动,让它重新挂载一次。这样做是可以挂载成功(我试过了)。
但是我在打开的时候,用类似操作不能成功!
请指点!
看看这个。
呵呵,估计是你的camera电源没有配齐吧,就是那个AF电压没有配置吧
camera不是只有3个电压需要配置吗?(IO电压,电源电压,模拟电压)
AF只哪个电压,这个还真不清楚?
呵呵,那你就犯了和我一样的错误,还有个AF就是自动对焦的电压。你把他都配上就好了
没有啊 原理图上都找不到这个AF电压 我的camera也没有自动对焦的功能 找不到AF
请指点!
没有对焦功能就不需要AF的电压了。
也要设置的,你就设置为默认的,MTK平台,它自身有默认的
alps\packages\apps\Camera\src\com\android\camera\DisableCameraReceiver.java中onReceive方法中,讲for循环中的disableComponent(context, ACTIVITIES[i]);去掉就可以显示图标,不过你这个问题应该是宏写错了吧,把前摄后摄写成同一个模组了,兼容camera的地方写成你的前摄了,你好好检查看看吧
嗯,学习了
CUSTOM_KERNEL_MAIN_IMGSENSOR=gc2035_yuv gc0308_yuv
CUSTOM_HAL_MAIN_IMGSENSOR=gc2035_yuv gc0308_yuv
这样试过吗?
这个已经试过了 没有作用! 很怀疑框架层中就没有做兼容!
不太可能的,MTK的代码不是针对你一个公司的。
别人的都做了,就你们的没有做?
这个问题你应该是懂的啊! 我相信很多的公司都会出现我们这样的情况! 呵呵呵呵······
求解·?