Initial commit: TXW82x FPV v2.7.0.7-42229 SDK + project sources

This commit is contained in:
2026-07-06 11:30:13 +08:00
commit e76462eeb7
3451 changed files with 1415300 additions and 0 deletions

36
sdk/lib/touch/hyn_i2c.c Normal file
View File

@@ -0,0 +1,36 @@
#include "lib/touch/hyn_core.h"
#include "app_iic/app_iic.h"
int hyn_wr_reg(struct hyn_ts_data *ts_data, uint32_t reg_addr, uint32_t reg_len, uint8_t *rbuf, uint32_t rlen)
{
uint8_t tmpbuf[80] = {0};
uint32_t iic_dev = ts_data->app_iic_num;
int ret = 0;
tmpbuf[0] = reg_len;
tmpbuf[1] = rlen;
tmpbuf[2] = ts_data->iic_addr;
// os_printf("hyn_wr_reg: ts_data->iic_addr:%x addr=0x%08X, len=%d, rbuf:0x%08x rbufrlen=%d\n",ts_data->iic_addr, reg_addr, reg_len, rbuf, rlen);
for(uint32_t i = 0; i < reg_len; i++) {
tmpbuf[3 + i] = (reg_addr >> (8 * (reg_len - 1 - i))) & 0xFF;
// os_printf("reg_addr[%d]: 0x%02X\n", i, tmpbuf[3 + i]);
}
if(rlen > 0 && rbuf != NULL) {
while(ret != 1){
ret = wake_up_iic_queue(iic_dev,tmpbuf,0,0,ts_data->iic_trx_buff);
}
while(iic_devid_finish(iic_dev) != 1){
os_sleep_ms(1);
}
os_memcpy(rbuf, ts_data->iic_trx_buff, rlen);
} else {
while(ret != 1){
ret = wake_up_iic_queue(iic_dev,tmpbuf,0,1,(uint8_t*)NULL);
}
while(iic_devid_finish(iic_dev) != 1){
os_sleep_ms(1);
}
}
return RET_OK;
}