// Construct data with Report Type #26 data int ReadTRexShortReport(void) { int ret = 0; int i, j = 0; //int k = ((int)TxChannelCount) / 8 + 1; int k = 7, mask = 0x01, value;// Hardcode for Waikiki Test and it support up to 54 Tx Read8BitRegisters((F54DataBase+REPORT_DATA_OFFEST), Data, k); for (i = 0; i < k; i++) { value = Data[i]; Data[i] = 0; for (j = 0; j < 8; j++){ if((value & mask) == 1) { Data[i] = Data[i] + (unsigned char)pow_func(2, (7 - j)); } value >>= 1; } outbuf += sprintf(f54_wlog_buf+outbuf, "TRex-TRex Short Test Data = %#x\n", Data[i]); } outbuf += sprintf(f54_wlog_buf+outbuf, "\n"); ret = CompareTRexShortTestReport(k * 8); write_log(f54_wlog_buf); //Reset Device Reset(); return ret; }
// Construct data with Report Type #24 data void ReadTRexOpenReport(void) { int i, j = 0; //int k = ((int)TxChannelCount) / 8 + 1; int k = 7, mask = 0x01, value;// Hardcode for Waikiki Test and it support up to 54 Tx Read8BitRegisters((F54DataBase+REPORT_DATA_OFFEST), Data, k); for (i = 0; i < k ; i++){ value = Data[i]; Data[i] = 0; for (j = 0; j < 8; j++){ if((value & mask) == 1) { Data[i] = Data[i] + (unsigned char)pow_func(2, (7 - j)); } value >>= 1; } printk("TRex-Open Test Data = %#x,", Data[i]); } printk("\n"); CompareTRexOpenTestReport(k * 8); //Reset Device Reset(); }
static int ReadTRexShort(struct synaptics_ts_data *ts) { int ret = 0; unsigned char TRX_Short[7] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00}; int MaxArrayLength = RxChNum * TxChNum * 2; int i, j = 0; int mask = 0x01; int value; // Hardcode for Waikiki Test and it support up to 54 Tx int result = TOUCH_SUCCESS; u8 buf[40] = {0}; u8 cap_data[MaxArrayLength]; ret = Touch_I2C_Read(ts->client, REPORT_DATA_REG, cap_data, MaxArrayLength); WRITE_BUFFER(f54_wlog_buf, "TRex Short Test\n"); for (i = 0; i < 7; i++) { int short_num = 0; value = cap_data[i]; cap_data[i] = 0; for (j = 0; j < 8; j++) { if((value & mask) == 1) { cap_data[i] = cap_data[i] + (unsigned char)pow_func(2, (7 - j)); short_num += sprintf(buf+short_num, "%d ", (i * 8 + (7 - j))); } value >>= 1; } WRITE_BUFFER(f54_wlog_buf, "TRex-TRex Short Test Data = %#x", cap_data[i]); if (short_num) { WRITE_BUFFER(f54_wlog_buf, " (Short TRx Number: "); WRITE_BUFFER(f54_wlog_buf, buf); WRITE_BUFFER(f54_wlog_buf, ")\n"); } WRITE_BUFFER(f54_wlog_buf, "\n"); } for(i = 0; i < 7; i++) { if(cap_data[i] != TRX_Short[i]) { result = TOUCH_FAIL; break; } } if (result == TOUCH_SUCCESS) WRITE_BUFFER(f54_wlog_buf, "\nTRex-TRex Short Test passed.\n\n"); else WRITE_BUFFER(f54_wlog_buf, "\nTRex-TRex Short Test failed.\n\n"); write_log(NULL, f54_wlog_buf); return result; }