Пример #1
0
// 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;
}
Пример #2
0
// 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;
}