|
@@ -68,6 +68,7 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
private Button btn_ReffdataShow;
|
|
|
private Button btn_ManualdiffdataShow;
|
|
|
private Button btn_Manualreff;
|
|
|
+ private Button btn_Test;
|
|
|
private Button btn_Stop;
|
|
|
|
|
|
private byte[] mBytes = new byte[1024];
|
|
@@ -88,11 +89,7 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
private int rownum;
|
|
|
private TextView tvMaximum; //显示最大值
|
|
|
private TextView tvMinimum; //显示最小值
|
|
|
- private TextView tvMaxSubMin; //显示最大值减最小值
|
|
|
- private TextView tvUniformity; //显示一致性:最小值/最大值
|
|
|
private TextView tvDataContent; //显示当前处于何种数值模式:原始值、差值、基准……
|
|
|
- private TextView tvAverage; //显示平均值
|
|
|
- private TextView tvRMD; //显示相对平均值偏差
|
|
|
private TextView tvMAD; //显示最大相邻偏差
|
|
|
|
|
|
@Override
|
|
@@ -143,7 +140,15 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
btn_ReffdataShow = (Button) findViewById(R.id.reffdata);
|
|
|
btn_ManualdiffdataShow = (Button) findViewById(R.id.manualdiff);
|
|
|
btn_Manualreff = (Button) findViewById(R.id.manualreff);
|
|
|
+ btn_Test = (Button) findViewById(R.id.testting);
|
|
|
btn_Stop = (Button) findViewById(R.id.stop);
|
|
|
+
|
|
|
+ //btn_RawdataShow.setEnabled(false);
|
|
|
+ //btn_DiffdataShow.setEnabled(false);
|
|
|
+ //btn_ReffdataShow.setEnabled(false);
|
|
|
+ //btn_ManualdiffdataShow.setEnabled(false);
|
|
|
+ btn_Manualreff.setEnabled(false);
|
|
|
+ //btn_Stop.setEnabled(false);
|
|
|
}
|
|
|
|
|
|
private void InitEditText(){
|
|
@@ -157,16 +162,12 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
btn_ReffdataShow.setOnClickListener(this);
|
|
|
btn_ManualdiffdataShow.setOnClickListener(this);
|
|
|
btn_Manualreff.setOnClickListener(this);
|
|
|
+ btn_Test.setOnClickListener(this);
|
|
|
btn_Stop.setOnClickListener(this);
|
|
|
}
|
|
|
|
|
|
private void InitData(){
|
|
|
- //btn_RawdataShow.setEnabled(false);
|
|
|
- //btn_DiffdataShow.setEnabled(false);
|
|
|
- //btn_ReffdataShow.setEnabled(false);
|
|
|
- //btn_ManualdiffdataShow.setEnabled(false);
|
|
|
- //btn_Manualreff.setEnabled(false);
|
|
|
- //btn_Stop.setEnabled(false);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -542,12 +543,14 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
byte mdata = (byte)0x00;
|
|
|
|
|
|
if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata)) {
|
|
|
- // mrawlog.setText("[changeNormal]0x8040 write failed");
|
|
|
+
|
|
|
+ //mrawlog.setText("[changeNormal]0x8040 write failed");
|
|
|
+
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- mrawlog.setText("[changeNormal]0x8040 write success");
|
|
|
+ //mrawlog.setText("[changeNormal]0x8040 write success");
|
|
|
}
|
|
|
|
|
|
return true;
|
|
@@ -563,10 +566,10 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
byte maddressLow = (byte)0x40; //rawdata address
|
|
|
byte msubcommand =0x0d ; // READ_SYNC
|
|
|
byte mdata = (byte)0x01;
|
|
|
- if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata)) {
|
|
|
+ //if(!iicByteWrite(maddressHigh,maddressLow,msubcommand,mdata)) {
|
|
|
// mrawlog.setText("READ_SYNC write failed");
|
|
|
- return false;
|
|
|
- }
|
|
|
+ // return false;
|
|
|
+ //}
|
|
|
|
|
|
|
|
|
if(!iicRead(showAddressHigh,showAddressLow,mRawdataBytes,colnum*rownum*2)) { //读取rawData
|
|
@@ -606,11 +609,7 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
mtextView = (TextView) findViewById(R.id.textView);
|
|
|
tvMaximum = (TextView) findViewById(R.id.maximumshow);
|
|
|
tvMinimum = (TextView) findViewById(R.id.minimumshow);
|
|
|
- tvMaxSubMin = (TextView) findViewById(R.id.maxsubminshow);
|
|
|
- tvUniformity = (TextView) findViewById(R.id.uniformityshow);
|
|
|
tvDataContent = (TextView) findViewById(R.id.datacontentshow);
|
|
|
- tvAverage = (TextView) findViewById(R.id.averageshow);
|
|
|
- tvRMD = (TextView) findViewById(R.id.rmdshow);
|
|
|
tvMAD = (TextView) findViewById(R.id.madshow);
|
|
|
}
|
|
|
|
|
@@ -623,10 +622,6 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
|
|
|
int watch_dog = 0;
|
|
|
byte syncFlag = 1;
|
|
|
- //if (!changeToDebugMode())
|
|
|
- // return false;
|
|
|
- // if(false) {
|
|
|
- changeToDebugMode();
|
|
|
|
|
|
while(showFlag!=4) {
|
|
|
|
|
@@ -635,6 +630,33 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
count = 0;
|
|
|
}
|
|
|
|
|
|
+ while(true) {
|
|
|
+ //轮询读取0x814E,如果非0,则读取rawdata
|
|
|
+ byte maddressHigh = (byte) 0x81;
|
|
|
+ byte maddressLow = (byte) 0x4E; //_rRW_MISCTL__SWRST_B0_
|
|
|
+ syncFlag = iicByteRead(maddressHigh, maddressLow);
|
|
|
+ watch_dog++;
|
|
|
+ //while ((syncFlag == 0 )|| (syncFlag == 0x77)) {
|
|
|
+ if (((syncFlag == 0) || (syncFlag == 0x77)) ){
|
|
|
+ SystemClock.sleep(1);
|
|
|
+ //mHandler.sendEmptyMessage(LOG1_MESSAG);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(count == 0) {
|
|
|
+ //mHandler.sendEmptyMessage(LOG2_MESSAGE);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ // mHandler.sendEmptyMessage(SEND_MESSAGE_SUCCESS); //清空文本框
|
|
|
+ }
|
|
|
+ for (int i = 0; i <mRawdataBytes.length; i++)
|
|
|
+ {
|
|
|
+ mRawdataBytes[i] = (byte)0x00;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (getRawdata() == true) {
|
|
|
|
|
|
switch (showFlag) {
|
|
@@ -659,7 +681,11 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
case 3://
|
|
|
mHandler.sendEmptyMessage(DIFF_MESSAGE);
|
|
|
break;
|
|
|
-
|
|
|
+ case 5: //stop
|
|
|
+ showFlag = 4;
|
|
|
+ count = 1000;
|
|
|
+ changeToNormalMode();
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -670,36 +696,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
|
|
|
// }
|
|
|
|
|
|
- while(true) {
|
|
|
- //轮询读取0x814E,如果非0,则读取rawdata
|
|
|
- byte maddressHigh = (byte) 0x81;
|
|
|
- byte maddressLow = (byte) 0x4E; //_rRW_MISCTL__SWRST_B0_
|
|
|
- syncFlag = iicByteRead(maddressHigh, maddressLow);
|
|
|
- watch_dog++;
|
|
|
- //while ((syncFlag == 0 )|| (syncFlag == 0x77)) {
|
|
|
- if (((syncFlag == 0) || (syncFlag == 0x77)) ){
|
|
|
- SystemClock.sleep(1);
|
|
|
- //mHandler.sendEmptyMessage(LOG1_MESSAG);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if(count == 0) {
|
|
|
- //mHandler.sendEmptyMessage(LOG2_MESSAGE);
|
|
|
- }
|
|
|
- else {
|
|
|
- // mHandler.sendEmptyMessage(SEND_MESSAGE_SUCCESS); //清空文本框
|
|
|
- }
|
|
|
- for (int i = 0; i <mRawdataBytes.length; i++)
|
|
|
- {
|
|
|
- mRawdataBytes[i] = (byte)0x00;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- SystemClock.sleep(400);
|
|
|
+ //SystemClock.sleep(50);
|
|
|
}
|
|
|
-
|
|
|
} //ThreadPool
|
|
|
}); //ThreadPool
|
|
|
// return true;
|
|
@@ -722,16 +721,12 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
//String dvhex;
|
|
|
int maxdata;
|
|
|
int mindata;
|
|
|
- long laverage; //平均值,临时存储和值
|
|
|
- int iaverage; //平均值
|
|
|
- int irmd = 0; //相对平均值偏差
|
|
|
int itemp; //临时存放
|
|
|
switch (msg.what) {
|
|
|
case RAWDATA_MESSAGE://
|
|
|
|
|
|
maxdata = 0;
|
|
|
mindata = 65535;
|
|
|
- laverage = 0;
|
|
|
//控制行数
|
|
|
for (int row = 0; row < rownum + 1; row++) {
|
|
|
//控制列数
|
|
@@ -797,8 +792,6 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
mindata = datatemp[i];
|
|
|
}
|
|
|
|
|
|
- laverage += datatemp[i];
|
|
|
-
|
|
|
i++;
|
|
|
}
|
|
|
}
|
|
@@ -808,36 +801,9 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- iaverage = (int)(laverage / (long) (rownum * colnum));
|
|
|
-
|
|
|
- for (i = 0; i < (rownum * colnum); i++) {
|
|
|
- if (datatemp[i] >= iaverage)
|
|
|
- {
|
|
|
- itemp = (int)((long)((datatemp[i] - iaverage) * 100) / iaverage);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- itemp = (int)((long)((iaverage - datatemp[i]) * 100) / iaverage);
|
|
|
-
|
|
|
- }
|
|
|
- if (itemp > irmd)
|
|
|
- {
|
|
|
- irmd = itemp;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
mtextView.setText(stringBuilder.toString());
|
|
|
tvMaximum.setText(Integer.toString(maxdata));
|
|
|
tvMinimum.setText(Integer.toString(mindata));
|
|
|
- tvMaxSubMin.setText(Integer.toString(maxdata - mindata));
|
|
|
- if (maxdata == 0){
|
|
|
- tvUniformity.setText("NA");
|
|
|
- }else{
|
|
|
- tvUniformity.setText(Integer.toString(100 - (mindata * 100) / maxdata));
|
|
|
- }
|
|
|
- tvAverage.setText(Integer.toString(iaverage));
|
|
|
- tvRMD.setText(Integer.toString(irmd));
|
|
|
-
|
|
|
|
|
|
/*
|
|
|
for (int j = 0; j < rownum * colnum * 2; j++ ) {
|
|
@@ -953,8 +919,6 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
mtextView.setText(stringBuilder.toString());
|
|
|
tvMaximum.setText(Integer.toString(maxdata));
|
|
|
tvMinimum.setText(Integer.toString(mindata));
|
|
|
- tvMaxSubMin.setText(Integer.toString(maxdata - mindata));
|
|
|
- tvUniformity.setText("NA");
|
|
|
break;
|
|
|
case MANUALDIFF_MESSAGE:
|
|
|
/*
|
|
@@ -1066,8 +1030,6 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
mtextView.setText(stringBuilder.toString());
|
|
|
tvMaximum.setText(Integer.toString(maxdata));
|
|
|
tvMinimum.setText(Integer.toString(mindata));
|
|
|
- tvMaxSubMin.setText(Integer.toString(maxdata - mindata));
|
|
|
- tvUniformity.setText("NA");
|
|
|
break;
|
|
|
|
|
|
|
|
@@ -1118,9 +1080,18 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
edt_RowNum.setText(Integer.toString(rownum));
|
|
|
}
|
|
|
|
|
|
+ btn_RawdataShow.setEnabled(false);
|
|
|
+ btn_DiffdataShow.setEnabled(false);
|
|
|
+ btn_ReffdataShow.setEnabled(false);
|
|
|
+ btn_ManualdiffdataShow.setEnabled(false);
|
|
|
+ btn_Manualreff.setEnabled(false);
|
|
|
+ btn_Test.setEnabled(false);
|
|
|
+
|
|
|
switch (view.getId()) {
|
|
|
case R.id.rawdata: //Read RawData
|
|
|
showFlag =1;
|
|
|
+
|
|
|
+ changeToDebugMode();
|
|
|
//count = 1000;
|
|
|
showAddressHigh = (byte)0x8b;
|
|
|
showAddressLow = (byte)0x98;
|
|
@@ -1133,6 +1104,8 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
|
|
|
case R.id.diffdata:
|
|
|
showFlag =3;
|
|
|
+
|
|
|
+ changeToDebugMode();
|
|
|
showAddressHigh = (byte)0xbb;
|
|
|
showAddressLow = (byte)0x10;
|
|
|
if(count == 1000) {
|
|
@@ -1154,6 +1127,8 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
|
|
|
case R.id.manualdiff:
|
|
|
showFlag =2;
|
|
|
+ btn_Manualreff.setEnabled(true);
|
|
|
+ changeToDebugMode();
|
|
|
showAddressHigh = (byte)0x8b;
|
|
|
showAddressLow = (byte)0x98;
|
|
|
if(count == 1000) {
|
|
@@ -1166,18 +1141,30 @@ public class DataAnalysis extends AppCompatActivity
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
- case R.id.manualreff: //set up manual ref
|
|
|
+ case R.id.manualreff: //set up manual ref
|
|
|
showFlag =2;
|
|
|
+ btn_Manualreff.setEnabled(true);
|
|
|
count = 1000;
|
|
|
showAddressHigh = (byte)0x8b;
|
|
|
showAddressLow = (byte)0x98;
|
|
|
// showRawdata();
|
|
|
break;
|
|
|
|
|
|
+ case R.id.testting:
|
|
|
+
|
|
|
+ break;
|
|
|
+
|
|
|
case R.id.stop: //back
|
|
|
- showFlag =4;
|
|
|
- count = 1000;
|
|
|
- changeToNormalMode();
|
|
|
+ showFlag =5;
|
|
|
+
|
|
|
+ btn_RawdataShow.setEnabled(true);
|
|
|
+ btn_DiffdataShow.setEnabled(true);
|
|
|
+ btn_ReffdataShow.setEnabled(true);
|
|
|
+ btn_ManualdiffdataShow.setEnabled(true);
|
|
|
+ btn_Manualreff.setEnabled(false);
|
|
|
+ btn_Test.setEnabled(true);
|
|
|
+ //count = 1000;
|
|
|
+ //changeToNormalMode();
|
|
|
break;
|
|
|
|
|
|
default:
|