6a828-i2c调节IN8903的vbyone的屏幕设置

1. 参考6a918的main_test_tcon工程直接移植过去

发现i2c,可以用屏也可以动,但是数据不对

2. 发现不是简单的division,有屏幕切换为左右屏幕的效果

经过测试,发现需要改UD_VB1_8LANE.ini

m_bpaneldualport               = 1
m_bpanelswapport               = 0
m_bpanelswapodd_ml             = 0
m_bpanelswapeven_ml            = 0
m_bpanelswapodd_rb             = 0
m_bpanelswapeven_rb            = 0

这几个值,dualport要是1,否则左右双屏,相同的屏,你处理不了的;
还有swap不要加, 否则也会出现左右都有没法用的, 如果有锯齿,后面有介绍可以通过i2c来swap

3. 发现有小锯齿怎么也消不掉

./main_test_tcon 18 240 64 98 81 115
ERROR: ld.so: object ‘libsigchain.so’ from LD_PRELOAD cannot be preloaded: ignored.
main: begin..
g_ucInputValue 0x12 f0 40 62 51 73
func: begin..
0x20 value 0x12
HI_I2C_Write_0x38
0x13 value 0xf0
HI_I2C_Write_0x38
0x80->0x80 value 0x40 62 51 73
HI_I2C_Write_0x38
HI_I2C_Write_0x38
06
这个通过0x12,做了division,但是有小锯齿。后来如下操作
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tvservice/config:/tvservice/mslib:/tvservice/mslib/utopia
/data/main_test_tcon 18 240 32 100 49 117
日志如下:
main: begin..
g_ucInputValue 0x12 f0 20 64 31 75
func: begin..
0x20 value 0x12
HI_I2C_Write_0x38
0x13 value 0xf0
HI_I2C_Write_0x38
0x80->0xc0 value 0x20 64 31 75
HI_I2C_Write_0x38
HI_I2C_Write_0x38
06
06 1
HI_I2C_Write_0x38
HI_I2C_Write_0x38
注意了AXP803 Datasheet V1.0.pdf, 里面有一行
注意了d0的高4位是计算出来的

请注意因为锯齿很小了, 之前默认是0 1 2 3 4 5 6 7 ,
后来改为1 0 3 2 5 4 7 6, 发现整个屏幕左边和右边对调了, 说明目前的用法是 0 2 4 6 是左屏,
1 3 5 7 是右屏。 那么我们只有改odd自己的顺序或者even自己的顺序即可, 最小的改动是:
0 4 2 6, 1 5 3 7, 合并是 0 1 4 5 2 3 6 7,那么按照放到i2c的顺序就是:
2 0 6 4 3 1 7 5, 好的请注意最后算出的d0 是 0xc0, 而不是0x80, 如果是0x80,那么panel没变化也没错误打印。如果是0xc0,那么就正常工作了。

4. 关屏再开屏的时候需要i2c重新初始化panel

在文件customized_display_onoff.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值