|
@@ -47,8 +47,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
private Context mAlertContext;
|
|
|
//MainActivity mMainAct = new MainActivity();
|
|
|
private byte[] mRawdataBytes = new byte[44 * 72 * 2 + 64 * 2];
|
|
|
- private byte[] mManualRef = new byte[44 * 72 * 2 + 64 * 2];
|
|
|
- private int[] mManualRefInt = new int[44 * 72 * 2 + 64 * 2];
|
|
|
+ private int[] mManualRefInt = new int[44 * 72 + 64];
|
|
|
+ private int[] datatemp = new int[44 * 72 + 64];
|
|
|
+ private int[] iDataShow = new int[44 * 72 + 64];
|
|
|
private static final int RAWDATA_MESSAGE = 0;
|
|
|
private static final int LOG1_MESSAG = 1;
|
|
|
private static final int CLEAR_MESSAGE= 2;
|
|
@@ -112,8 +113,8 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
private TextView tvDataContent; //显示当前处于何种数值模式:原始值、差值、基准……
|
|
|
private TextView tvMAD; //显示最大相邻偏差
|
|
|
private TextView mtextView;
|
|
|
- private byte byDisplayFrame = 12; //间隔显示帧数
|
|
|
- private byte byDisplayFrameCount = 12; //用于间隔显示计数
|
|
|
+ private byte byDisplayFrame = 8; //间隔显示帧数
|
|
|
+ private byte byDisplayFrameCount = 8; //用于间隔显示计数
|
|
|
|
|
|
public String stTestLog; //最大最小值测试信息存放字符串
|
|
|
String stTestLogShow= ""; //最大最小值测试信息合并起来存放字符串
|
|
@@ -124,6 +125,8 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
private byte showFlag = 0; //
|
|
|
private byte btTestStep = 0;
|
|
|
|
|
|
+ private boolean bShowDataFlag = false;
|
|
|
+
|
|
|
private EditText edtShortCircuitInfo; //the info of short circuit test
|
|
|
|
|
|
private GridLayout textGridLayout;
|
|
@@ -1020,6 +1023,55 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ int tempcol = 0;
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ if (showFlag != 8) {
|
|
|
+ //控制行数
|
|
|
+ for (int row = 0; row < rownum; row++) { //Sen
|
|
|
+ //控制列数
|
|
|
+ for (int col = 0; col < colnum; col++) { //Drv
|
|
|
+
|
|
|
+ int idtemp = (row + tempcol * rownum);
|
|
|
+
|
|
|
+ switch (showFlag){
|
|
|
+ case 1: //GT9的rawdata
|
|
|
+ case 2: //manual diffdata
|
|
|
+ case 4: //reffdata
|
|
|
+ case 7: //GT7的rawdata低位在前
|
|
|
+ idtemp = idtemp * 2;
|
|
|
+ if (byProductType == GT7) //GT7的低位在前
|
|
|
+ {
|
|
|
+ datatemp[i] = ((mRawdataBytes[idtemp + 1] & 0xFF) << 8) + (mRawdataBytes[idtemp] & 0xFF);
|
|
|
+ }else{
|
|
|
+ datatemp[i] = ((mRawdataBytes[idtemp] & 0xFF) << 8) + (mRawdataBytes[idtemp + 1] & 0xFF);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 3: //GT9的diffdata
|
|
|
+ datatemp[i] = (mRawdataBytes[idtemp] & 0xFF);
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ tempcol++;
|
|
|
+
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ tempcol = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ while(bShowDataFlag == true){ //上一次的数据显示还没结束则一直等待
|
|
|
+ SystemClock.sleep(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (i = 0; i < 72 * 44; i++) {
|
|
|
+ iDataShow[i] = datatemp[i];
|
|
|
+ }
|
|
|
+
|
|
|
maddressHigh = (byte)0x81;
|
|
|
if (byProductType == GT7)
|
|
|
{
|
|
@@ -1124,7 +1176,7 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
}
|
|
|
if (byDisplayFrame == byDisplayFrameCount) {
|
|
|
|
|
|
- if ((showFlag != 6) && (showFlag != 8) && (showFlag != 5)) { //测试模式、读取主动笔数据和停止时
|
|
|
+ if ((showFlag != 6) && (showFlag != 8) && (showFlag != 5) && (count < 999)) { //测试模式、读取主动笔数据和停止时
|
|
|
byDisplayFrameCount = 0;
|
|
|
}
|
|
|
|
|
@@ -1141,16 +1193,16 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
if (count == 999) //第一帧备份rawdata作为基准
|
|
|
{
|
|
|
if (byProductType == GT7) {
|
|
|
- for (int i = 0; i < 44 * 72 * 2; i++) {
|
|
|
- int j = i / 2;
|
|
|
- mManualRefInt[j] = ((mRawdataBytes[i + 1] & 0xFF) << 8) + (mRawdataBytes[i] & 0xFF);
|
|
|
- i++;
|
|
|
+ for (int i = 0; i < 44 * 72; i++) {
|
|
|
+ //int j = i / 2;
|
|
|
+ mManualRefInt[i] = iDataShow[i];//((mRawdataBytes[i + 1] & 0xFF) << 8) + (mRawdataBytes[i] & 0xFF);
|
|
|
+ //i++;
|
|
|
}
|
|
|
} else {
|
|
|
- for (int i = 0; i < 42 * 30 * 2; i++) {
|
|
|
- int j = i / 2;
|
|
|
- mManualRefInt[j] = ((mRawdataBytes[i] & 0xFF) << 8) + (mRawdataBytes[i + 1] & 0xFF);
|
|
|
- i++;
|
|
|
+ for (int i = 0; i < 42 * 30; i++) {
|
|
|
+ //int j = i / 2;
|
|
|
+ mManualRefInt[i] = iDataShow[i];//((mRawdataBytes[i] & 0xFF) << 8) + (mRawdataBytes[i + 1] & 0xFF);
|
|
|
+ //i++;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1195,7 +1247,6 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
// return true;
|
|
|
}
|
|
|
|
|
|
- private int[] datatemp = new int[44 * 72 * 2 + 64 * 2];
|
|
|
Handler mHandler = new Handler() {
|
|
|
@Override
|
|
|
public void handleMessage(Message msg) {
|
|
@@ -1209,6 +1260,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
int maxdata;
|
|
|
int mindata;
|
|
|
int itemp; //临时存放
|
|
|
+
|
|
|
+ bShowDataFlag = true; //开始显示
|
|
|
+
|
|
|
switch (msg.what) {
|
|
|
case RAWDATA_MESSAGE://
|
|
|
|
|
@@ -1237,32 +1291,32 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
//stringBuilder.append("│");
|
|
|
|
|
|
}else{
|
|
|
- idtemp = (row + tempcol * rownum) * 2;
|
|
|
+ //idtemp = (row + tempcol * rownum) * 2;
|
|
|
if (byProductType == GT7) //GT7的低位在前
|
|
|
{
|
|
|
- datatemp[i] = ((mRawdataBytes[idtemp + 1] & 0xFF) << 8) + (mRawdataBytes[idtemp] & 0xFF);
|
|
|
+ //iDataShow[i] = ((mRawdataBytes[idtemp + 1] & 0xFF) << 8) + (mRawdataBytes[idtemp] & 0xFF);
|
|
|
|
|
|
- if ((showFlag == 7) && (datatemp[i] > 10)){ //GT7XXX diffdata
|
|
|
+ if ((showFlag == 7) && (iDataShow[i] > 10)){ //GT7XXX diffdata
|
|
|
textView.setTextColor(Color.parseColor("#FF0000"));
|
|
|
}
|
|
|
|
|
|
}else{
|
|
|
- datatemp[i] = ((mRawdataBytes[idtemp] & 0xFF) << 8) + (mRawdataBytes[idtemp + 1] & 0xFF);
|
|
|
+ //iDataShow[i] = ((mRawdataBytes[idtemp] & 0xFF) << 8) + (mRawdataBytes[idtemp + 1] & 0xFF);
|
|
|
}
|
|
|
|
|
|
- dv = Integer.toString(datatemp[i]);
|
|
|
+ dv = Integer.toString(iDataShow[i]);
|
|
|
|
|
|
//stringBuilder.append(dv + "│");
|
|
|
|
|
|
tempcol++;
|
|
|
|
|
|
//获取最大值
|
|
|
- if (datatemp[i] > maxdata){
|
|
|
- maxdata = datatemp[i];
|
|
|
+ if (iDataShow[i] > maxdata){
|
|
|
+ maxdata = iDataShow[i];
|
|
|
}
|
|
|
//获取最小值
|
|
|
- if (datatemp[i] < mindata){
|
|
|
- mindata = datatemp[i];
|
|
|
+ if (iDataShow[i] < mindata){
|
|
|
+ mindata = iDataShow[i];
|
|
|
}
|
|
|
|
|
|
i++;
|
|
@@ -1324,8 +1378,8 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
//stringBuilder.append(dv);
|
|
|
//stringBuilder.append("│");
|
|
|
}else{
|
|
|
- idtemp = row + tempcol * rownum;
|
|
|
- datatemp[i] = (mRawdataBytes[idtemp] & 0xFF);
|
|
|
+ //idtemp = row + tempcol * rownum;
|
|
|
+ //datatemp[i] = (mRawdataBytes[idtemp] & 0xFF);
|
|
|
dv = Integer.toString(datatemp[i]);
|
|
|
|
|
|
//stringBuilder.append(dv + "│");
|
|
@@ -1366,6 +1420,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
tvMinimum.setText(Integer.toString(mindata));
|
|
|
break;
|
|
|
case MANUALDIFF_MESSAGE:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
textGridLayout.removeAllViews();
|
|
|
maxdata = -32767;
|
|
|
mindata = 32768;
|
|
@@ -1388,33 +1445,33 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
|
|
|
}else{
|
|
|
|
|
|
- idtemp = row + tempcol * rownum;
|
|
|
- if (byProductType == GT7) //GT7的低位在前
|
|
|
- {
|
|
|
- datatemp[i] = ((mRawdataBytes[idtemp * 2 + 1] & 0xFF) << 8) + (mRawdataBytes[idtemp * 2] & 0xFF);
|
|
|
- }else{
|
|
|
- datatemp[i] = ((mRawdataBytes[idtemp * 2] & 0xFF) << 8) + (mRawdataBytes[idtemp * 2 + 1] & 0xFF);
|
|
|
- }
|
|
|
+ //idtemp = row + tempcol * rownum;
|
|
|
+ //if (byProductType == GT7) //GT7的低位在前
|
|
|
+ //{
|
|
|
+ // iDataShow[i] = ((mRawdataBytes[idtemp * 2 + 1] & 0xFF) << 8) + (mRawdataBytes[idtemp * 2] & 0xFF);
|
|
|
+ //}else{
|
|
|
+ // iDataShow[i] = ((mRawdataBytes[idtemp * 2] & 0xFF) << 8) + (mRawdataBytes[idtemp * 2 + 1] & 0xFF);
|
|
|
+ //}
|
|
|
|
|
|
- datatemp[i] = mManualRefInt[idtemp] - datatemp[i];
|
|
|
- dv = Integer.toString(datatemp[i]);
|
|
|
+ iDataShow[i] = mManualRefInt[i] - iDataShow[i];
|
|
|
+ dv = Integer.toString(iDataShow[i]);
|
|
|
|
|
|
//stringBuilder.append(dv + "│");
|
|
|
|
|
|
tempcol++;
|
|
|
|
|
|
//获取最大值
|
|
|
- if (datatemp[i] > maxdata){
|
|
|
- maxdata = datatemp[i];
|
|
|
+ if (iDataShow[i] > maxdata){
|
|
|
+ maxdata = iDataShow[i];
|
|
|
}
|
|
|
//获取最小值
|
|
|
- if (datatemp[i] < mindata){
|
|
|
- mindata = datatemp[i];
|
|
|
+ if (iDataShow[i] < mindata){
|
|
|
+ mindata = iDataShow[i];
|
|
|
}
|
|
|
|
|
|
- if (datatemp[i] > 30){
|
|
|
+ if (iDataShow[i] > 30){
|
|
|
textView.setTextColor(Color.parseColor("#FF0000"));
|
|
|
- }else if (datatemp[i] < -30){
|
|
|
+ }else if (iDataShow[i] < -30){
|
|
|
textView.setTextColor(Color.parseColor("#0000FF"));
|
|
|
}
|
|
|
|
|
@@ -1436,6 +1493,8 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
//mtextView.setText(stringBuilder.toString());
|
|
|
tvMaximum.setText(Integer.toString(maxdata));
|
|
|
tvMinimum.setText(Integer.toString(mindata));
|
|
|
+
|
|
|
+
|
|
|
break;
|
|
|
|
|
|
case TEST_DATA_MESSAGE: //
|
|
@@ -1659,7 +1718,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
|
|
|
default:
|
|
|
break;
|
|
|
- }
|
|
|
+ } //end of switch (msg.what)
|
|
|
+
|
|
|
+ bShowDataFlag = false; //显示结束
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -1768,8 +1829,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
msubcommand =0x0f ; //no command
|
|
|
mdata = (byte)0x0C;
|
|
|
|
|
|
- if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata))
|
|
|
- return false;
|
|
|
+ iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata);
|
|
|
+ //if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata))
|
|
|
+ // return false;
|
|
|
|
|
|
SystemClock.sleep(30);
|
|
|
|
|
@@ -1777,8 +1839,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
maddressLow = (byte)0xB0; //_bRW_MISCTL__TMR0_EN
|
|
|
mdata = (byte)0x00;
|
|
|
|
|
|
- if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata))
|
|
|
- return false;
|
|
|
+ iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata);
|
|
|
+ //if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata))
|
|
|
+ // return false;
|
|
|
|
|
|
SystemClock.sleep(14);
|
|
|
}
|
|
@@ -2883,12 +2946,12 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
textGridLayout.setRowCount(rownum);
|
|
|
}
|
|
|
|
|
|
- byDisplayFrame = 7;
|
|
|
- byDisplayFrameCount = 7;
|
|
|
+ byDisplayFrame = 0;
|
|
|
+ byDisplayFrameCount = 0;
|
|
|
if (byProductType == GT7) //GT7 数据多,要多加时间间隔
|
|
|
{
|
|
|
- byDisplayFrame = 16;
|
|
|
- byDisplayFrameCount = 16;
|
|
|
+ byDisplayFrame = 8;
|
|
|
+ byDisplayFrameCount = 8;
|
|
|
}
|
|
|
|
|
|
btn_RawdataShow.setEnabled(false);
|