| 
					
				 | 
			
			
				@@ -24,10 +24,12 @@ import android.os.Environment; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.os.Handler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.os.Message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.os.SystemClock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.support.annotation.NonNull; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.support.v4.app.ActivityCompat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.support.v4.content.ContextCompat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.support.v7.app.AppCompatActivity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.util.DisplayMetrics; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.util.Log; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.Gravity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.KeyEvent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.View; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46,10 +48,14 @@ import java.io.BufferedReader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.FileInputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.InputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.InputStreamReader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.RandomAccessFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.Reader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Collection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Locale; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.ExecutorService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,7 +154,21 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     String updateLogShow= "";  //短路测试信息合并起来存放字符串 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private byte showFlag = 0;  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private byte btTestStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte RAWDATA_FLAG = 0x01;           //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte MANUALDATA_FLAG = 0x02;        //manualdiff and manualreff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte DIFFDATA_1BYTE_FLAG = 0x03;    //1 byte diffdata(GT9xxx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte DIFFDATA_2BYTES_FLAG = 0x04;   //2 bytes diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte REFFDATA_FLAG = 0x05;          //reffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte TESTING_FLAG = 0x06;           //testing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte TEST_END_FLAG = 0x07;          //test end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte STYLUSDATA_FLAG = 0x08;        //stylus data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final byte STOP_FLAG = 0x09;              //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private byte btTestStep = 0;  //1.maximum and minimum test 2.change to normal mode 3.shorttest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private boolean bSaveShortTestResult = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private String strSaveRawdata1 = " ", strSaveRawdata2 = " ", strSaveRawdata3 = " ", strSaveRawdata4 = " ", strSaveRawdata5 = " ", strSaveRawdata6 = " ", strSaveRawdata7 = " ", strSaveRawdata8 = " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private String strSaveRawdata9 = " ", strSaveRawdata10 = " ", strSaveRawdata11 = " ", strSaveRawdata12 = " ", strSaveRawdata13 = " ", strSaveRawdata14 = " ", strSaveRawdata15 = " ", strSaveRawdata16 = " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private String strSaveRawDataMax = " ", strSaveRawDataMin = " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean bShowDataFlag = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -633,17 +653,17 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //btn_StylusDataShow.setEnabled(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //btn_Stop.setEnabled(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //选择本地文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //选择文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btn_ImportFileButton = (Button) findViewById(R.id.importtestpara); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         btn_ImportFileButton.setOnClickListener(new View.OnClickListener() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onClick(View v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //ActivityCompat.requestPermissions(  Config.this, new String[]{android 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //        .Manifest.permission.READ_EXTERNAL_STORAGE}, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 intent.addCategory(Intent.CATEGORY_OPENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startActivityForResult(intent, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startActivityForResult(intent, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -701,42 +721,60 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String configString = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Uri uri = data.getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String fileString = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (requestCode == 1) {  //U 盘 文 件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (requestCode == 1 && resultCode == Activity.RESULT_OK) {  //U 盘 文 件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //uri = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //if (data != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    uri = data.getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                byte[] filebuffer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    InputStream inputStream = getContentResolver().openInputStream(uri); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String line; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    StringBuilder stringBuilder = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //String fileString = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    File storage = new File("/storage"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    File[] files = storage.listFiles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (final File file : files) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (file.canRead()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (!file.getName().equals(Environment.getExternalStorageDirectory().getName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //满足该条件的文件夹就是u盘在手机上的目录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                fileString = (file.getPath()+"/GTxxxx_wingcool.tp"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                fileString = fileString.replaceAll(":", "/");  //将:改为/,以防某些系统文件目录读出是: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                edit_search.setText(fileString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    while ((line = reader.readLine()) != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        stringBuilder.append(line); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    buffer = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //String storageState = Environment.getExternalStorageState(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //if (storageState.equals(Environment.MEDIA_MOUNTED)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    FileInputStream fileInputStream = new FileInputStream(fileString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    filebuffer = new byte[1024]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    len = fileInputStream.read(filebuffer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    while (len > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        buffer.append(new String(filebuffer, 0, len)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        len = fileInputStream.read(filebuffer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    fileInputStream.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    reader.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    configString = buffer.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    configString = stringBuilder.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //edit_search.setText(fileData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    edit_search.setText(uri.getPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //edtShortCircuitInfo.setText(configString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    int i,j,k,l= 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String stringMaxVal,stringMinVal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    i = configString.indexOf("[Node threshold]"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    j = configString.indexOf("Max=", i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    k = configString.indexOf("Min=", i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    l = configString.indexOf("[TEST]", i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    stringMaxVal = configString.substring(j + 4, k); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    stringMinVal = configString.substring(k + 4, l); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //value = value.trim();  //去除空格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //configString = configString.replaceAll("0x", ""); //0x转换为没有 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //editdetail.setText(configString.toString()); //buffer.toString())就是读出的内容字符 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String[] stringMaxValArr = stringMaxVal.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String[] stringMinValArr = stringMinVal.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (i = 0; i < stringMaxValArr.length - 1; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iRawDataMaxVal[i] = Integer.parseInt(stringMaxValArr[i], 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iRawDataMinVal[i] = Integer.parseInt(stringMinValArr[i], 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } catch (IOException ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } catch (IOException c) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     edit_search.setText(uri.getPath() + "——" + getResources().getString(R.string.invalidfile)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -940,7 +978,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 //    byProductType = GT7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if ((iProductId == 0x0829) || (iProductId == 0x0528)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if ((iProductId == 0x0829) || (iProductId == 0x0528) || (iProductId == 0x0928)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     byProductType = GT29336; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1340,7 +1378,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int length = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //switch to read data mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (showFlag == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (showFlag == RAWDATA_FLAG) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (byProductType == GT29336) {  //send 0x00 0x00 0x04 0x02 0x06 0x00 to [0x10174],read rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 mBytes[0] = 0x00; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 mBytes[1] = 0x00; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1362,7 +1400,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 length = 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else if (showFlag == 7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if (showFlag == DIFFDATA_2BYTES_FLAG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (byProductType == GT29336) {  //send 0x00 0x00 0x04 0x01 0x05 0x00 to [0x10174],read diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 mBytes[0] = 0x00; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1457,14 +1495,14 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         byte mdata; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int ilength = colnum * rownum * 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (showFlag == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (showFlag == STYLUSDATA_FLAG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ilength = (colnum + rownum + 2) * 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         switch (showFlag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 1:  //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 6:  //test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case RAWDATA_FLAG:  //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case TESTING_FLAG:  //test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (byProductType == GT29336) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (!iicRead32Bits((byte) 0x01, (byte) 0xA6, (byte) 0x7C, mRawdataBytes, ilength)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1475,10 +1513,10 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //case 2:  //manual diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //case 4:  //reffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 7:  //diffdata低位在前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case 3:  //diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //case MANUALDATA_FLAG:  //manual diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //case TEST_END_FLAG:  //reffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case DIFFDATA_2BYTES_FLAG:  //diffdata低位在前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case DIFFDATA_1BYTE_FLAG:  //diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (byProductType == GT29336) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (!iicRead32Bits((byte) 0x01, (byte) 0xC1, (byte) 0x4C, mRawdataBytes, ilength)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1497,7 +1535,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int tempcol = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (showFlag != 8)  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (showFlag != STYLUSDATA_FLAG)  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //控制行数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (int row = 0; row < rownum; row++) {  //Sen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //控制列数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1530,7 +1568,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (showFlag == 1)  //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (showFlag == RAWDATA_FLAG)  //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!IicWriteOneByte((byte) 0x01, (byte) 0x03, (byte) 0x08, (byte) 0x0f, (byte) 0)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1576,7 +1614,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     maddressHigh = (byte) 0x82; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (showFlag == 6) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (showFlag == TESTING_FLAG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     btTestStep = 1;  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1586,11 +1624,11 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //btTestStep = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    showFlag = 1;  //先进入读原始值状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    showFlag = RAWDATA_FLAG;  //先进入读原始值状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     changeToDebugMode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    showFlag = 6;  //切回测试模式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    showFlag = TESTING_FLAG;  //切回测试模式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     stTestLogShow = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1598,7 +1636,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     stTestLogShow = stTestLogShow.concat(stTestLog); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 int checktimes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                while(showFlag != 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                while(showFlag != TEST_END_FLAG) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if(count-- == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1614,7 +1652,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (showFlag == 1) {  //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (showFlag == RAWDATA_FLAG) {  //rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (!iicRead32Bits((byte) 0x01, (byte) 0x03, (byte) 0x08, mBytes, 1)) {  //轮询读取0x010308 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     SystemClock.sleep(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     continue; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1630,7 +1668,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (mBytes[0] == (byte)0x80)  //读到0x80则跳出去读数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (showFlag != 6) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (showFlag != TESTING_FLAG) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (byDisplayFrame == byDisplayFrameCount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     for (int i = 0; i < mRawdataBytes.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         mRawdataBytes[i] = (byte) 0x00; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1648,20 +1686,20 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (byDisplayFrame == byDisplayFrameCount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if ((showFlag != 6) && (showFlag != 8) && (showFlag != 5) && (count < 999)) {  //测试模式、读取主动笔数据和停止时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if ((showFlag != TESTING_FLAG) && (showFlag != STYLUSDATA_FLAG) && (showFlag != STOP_FLAG) && (count < 999)) {  //测试模式、读取主动笔数据和停止时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             byDisplayFrameCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (getRawdata() == true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             switch (showFlag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 1://rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 7:// GT7XXX diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case RAWDATA_FLAG://rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case DIFFDATA_2BYTES_FLAG:// GT7XXX diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     mHandler.sendEmptyMessage(RAWDATA_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 2://manual diff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case MANUALDATA_FLAG://manual diff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     if (count == 999)   //第一帧备份rawdata作为基准 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         if (byProductType == GT7) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1683,18 +1721,18 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     mHandler.sendEmptyMessage(MANUALDIFF_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     // mHandler.sendEmptyMessage(RAWDATA_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 3://diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case DIFFDATA_1BYTE_FLAG://diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     mHandler.sendEmptyMessage(DIFF_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 5:  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case STOP_FLAG:  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     changeToNormalMode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     SystemClock.sleep(40); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    showFlag = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    showFlag = TEST_END_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     count = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     btTestStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     SystemClock.sleep(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 6:  //test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case TESTING_FLAG:  //test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     if (btTestStep == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         mHandler.sendEmptyMessage(TEST_DATA_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1796,15 +1834,18 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         //btTestStep = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        showFlag = 4;  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        showFlag = TEST_END_FLAG;  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         count = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         btTestStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        ActivityCompat.requestPermissions(  DataAnalysis.this, new String[]{android 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                .Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                case 8:  //stylusdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case STYLUSDATA_FLAG:  //stylusdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     mHandler.sendEmptyMessage(STYLUS_DATA_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 default: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1875,7 +1916,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     //iDataShow[i] = ((mRawdataBytes[idtemp + 1] & 0xFF) << 8) + (mRawdataBytes[idtemp] & 0xFF); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if ((showFlag == 7) && (iDataShow[i] > 50)){  //GT7XXX diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if ((showFlag == DIFFDATA_2BYTES_FLAG) && (iDataShow[i] > 50)){  //GT7XXX diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         textView.setTextColor(Color.parseColor("#FF0000")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2090,7 +2131,13 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         textGridLayout.removeAllViews(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        byTestCount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (byTestCount <= 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String rawdata_temp_string = " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //控制行数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         for (int row = 0; row < rownum; row++) {   //sen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //控制列数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2098,6 +2145,11 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 int temp = col * rownum + row;  //Rawdata存放和测试阈值存放,行列相反 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                rawdata_temp_string += Integer.toString(datatemp[i] & 0xFFFF) + ","; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (col == colnum - 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    rawdata_temp_string += "\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 //获取最大值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 if (datatemp[i] > iRawDataMaxVal[temp]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     byOverMaxCount[i]++; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2118,7 +2170,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        rawdata_temp_string += "\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (maxdata > iMaximum)  //统计最大值大于阈值的次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2136,10 +2188,84 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //    byMaximumOverCount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        byTestCount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        stTestLog = getResources().getString(R.string.sampling) + Integer.toString(byTestCount) + getResources().getString(R.string.frame); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (byTestCount >= 16) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //if (byTestCount > 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            stTestLog = getResources().getString(R.string.sampling) + Integer.toString(byTestCount - 3) + getResources().getString(R.string.frame); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            switch (byTestCount - 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata1 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata2 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata3 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 4: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata4 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 5: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata5 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 6: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata6 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 7: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata7 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 8: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata8 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 9: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata9 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 10: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata10 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 11: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata11 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 12: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata12 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 13: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata13 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 14: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata14 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 15: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata15 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                case 16: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawdata16 = rawdata_temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (byTestCount >= 16 + 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             stTestLogShow = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             stTestLog = getResources().getString(R.string.maxmintestfinish); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2213,7 +2339,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //showFlag = 5;  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //showFlag = STOP_FLAG;  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             btTestStep = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //btn_RawdataShow.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //btn_DiffdataShow.setEnabled(true); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2238,7 +2364,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     else if (btTestStep == 4){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 4;  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = TEST_END_FLAG;  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         count = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         btTestStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4199,6 +4325,8 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Update_log = getResources().getString(R.string.startshorttest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mHandler.sendEmptyMessage(TEST_DATA_MESSAGE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bSaveShortTestResult = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!ShortTestrRunCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Update_log += ", short test run code failed, test is NG!!"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4315,6 +4443,8 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         msubcommand = (byte)0x2A ;  //最高位置1,写命令42 ENABLE_ESD_CHECK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         IicWriteOneByte(addrfirstbyte, addrsecondbyte, addrthirdbyte, msubcommand, mdata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bSaveShortTestResult = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //------------------------------------GT29xx short circuit test code end---------------------------------------------------------------// 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4332,7 +4462,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         switch (view.getId()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case R.id.stop:    //back 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                showFlag = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                showFlag = STOP_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 btn_RawdataShow.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 btn_DiffdataShow.setEnabled(true); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4525,7 +4655,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     edt_RowNum.setText(Integer.toString(rownum)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (showFlag != 8) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (showFlag != STYLUSDATA_FLAG) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     textGridLayout.removeAllViews(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     textGridLayout.setColumnCount(colnum + 1); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4551,7 +4681,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 switch (view.getId()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case R.id.rawdata:   //Read RawData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = RAWDATA_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         changeToDebugMode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //count = 1000; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4573,10 +4703,10 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case R.id.diffdata: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //showFlag = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //showFlag = DIFFDATA_1BYTE_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //if (byProductType == GT7) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            showFlag = 7; //GT7系列的差值是2bytes,按照RawData的方式去显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            showFlag = DIFFDATA_2BYTES_FLAG; //GT7系列的差值是2bytes,按照RawData的方式去显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         changeToDebugMode(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4594,8 +4724,8 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    case R.id.reffdata: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    case R.id.reffdata:  //暂时没用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = REFFDATA_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         count = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         showAddressHigh = (byte) 0x81; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         showAddressLow = (byte) 0xc0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4616,7 +4746,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case R.id.manualdiff: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = MANUALDATA_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         btn_Manualreff.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         changeToDebugMode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         showAddressHigh = (byte) 0x8b; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4634,7 +4764,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case R.id.manualreff:  //set up manual ref 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = MANUALDATA_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         btn_Manualreff.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         count = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4650,7 +4780,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case R.id.stylusdata:  //主动笔数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (byProductType == GT7)  //GT7系列才显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            showFlag = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            showFlag = STYLUSDATA_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             changeToDebugMode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4849,7 +4979,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                showFlag = 6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                showFlag = TESTING_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 byTestCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 byMaximumOverCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 byMinimumOverCount = 0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4876,11 +5006,33 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         bTestMaxResult = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         bTestMinResult = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = TESTING_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         byTestCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         byMaximumOverCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         byMinimumOverCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         byReTestCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        strSaveRawDataMax = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        strSaveRawDataMin = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //控制行数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (int row = 0; row < rownum; row++) {   //sen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //控制列数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            for (int col = 0; col < colnum; col++) {  //drv 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                int temp = col * rownum + row;  //Rawdata存放和测试阈值存放,行列相反 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                strSaveRawDataMax += Integer.toString(iRawDataMaxVal[temp] & 0xFFFF) + ","; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                strSaveRawDataMin += Integer.toString(iRawDataMinVal[temp] & 0xFFFF) + ","; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (col == colnum - 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawDataMax += "\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    strSaveRawDataMin += "\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        strSaveRawDataMax += "\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        strSaveRawDataMin += "\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (count == 1000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //tvDataContent.setText("["+getResources().getString(R.string.rawdata)+"]"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             showRawdata(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4888,7 +5040,7 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case R.id.stop:    //back 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        showFlag = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        showFlag = STOP_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         btn_RawdataShow.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //btn_DiffdataShow.setEnabled(true); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4949,13 +5101,13 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             switch (showFlag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 1:  //GT9 rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 2:  //manualdiff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 3:  //diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 6:  //test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 7:  //GT738X rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 8:  //stylusdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    showFlag = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case RAWDATA_FLAG:  //GT9 rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case MANUALDATA_FLAG:  //manualdiff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case DIFFDATA_1BYTE_FLAG:  //diffdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case TESTING_FLAG:  //test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case DIFFDATA_2BYTES_FLAG:  //GT738X rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case STYLUSDATA_FLAG:  //stylusdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    showFlag = STOP_FLAG; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     btn_RawdataShow.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     btn_DiffdataShow.setEnabled(true); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4966,8 +5118,8 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     btn_Test.setEnabled(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 4:  //test end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                case 5:  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case TEST_END_FLAG:  //test end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                case STOP_FLAG:  //stop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4976,4 +5128,228 @@ public class DataAnalysis extends AppCompatActivity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return super.onKeyDown(keyCode, event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (requestCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String filePath;// = Environment.getExternalStorageDirectory() + "/saveconfig/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String fileName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String temp_string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //创建文件夹 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        StringBuilder configBuilder = new StringBuilder(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //1.save config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Chip Config]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int iConfigSize = 64 + (int)(byConfigBak[60] & 0xFF) * 256 + (byConfigBak[59] & 0xFF);   //the head lend is 64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (int i = 0; i < iConfigSize; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            configBuilder.append("0x" + Integer.toHexString(byConfigBak[i] & 0xFF) + ","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("\n\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //2.save Chanel Number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Chanel Number]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("SensorNum:" + edt_RowNum.getText() + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("DriverNum:" + edt_ColNum.getText() + "\n\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //3.save test result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Test Result]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        temp_string = "Pass"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (bTestMaxResult == false || bTestMinResult == false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string = "Failed"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("MaxMinTest:" + temp_string + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        temp_string = "Pass"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (bSaveShortTestResult == false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string = "Failed"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("ShortTest:" + temp_string + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(edtShortCircuitInfo.getText() + "\n\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //4.save maxvalue & minvalue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[MaximumThresholdArray]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawDataMax); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[MinimumThresholdArray]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawDataMin); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //5.save rawdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[0]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[1]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[2]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[3]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[4]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[5]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[6]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[7]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[8]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[9]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[10]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata11); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[11]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata12); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[12]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata13); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[13]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata14); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[14]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata15); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append("[Rawdata[15]]\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        configBuilder.append(strSaveRawdata16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        filePath = Environment.getExternalStorageDirectory() + "/test_result/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //File file = new File(filePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        temp_string = "GT"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String hv = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iicRead32Bits((byte)0x01, (byte)0x00, (byte)0x14,mBytes, 23); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (int i = 10; i < 15; i++)  //Get PID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (mBytes[i] == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            int v = (mBytes[i] - 48) & 0xFF;  //ASCII码减去48 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            hv = Integer.toHexString(v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string += hv; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (temp_string.length() < 6) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string = "Null"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string += "_"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            for (int i = 18; i < 22; i++)  //Get version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                int v = mBytes[i] & 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                hv = Integer.toHexString(v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (hv.length() < 2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    hv = "0" + hv; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                temp_string += hv; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (i < 21) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    temp_string += "."; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        temp_string += "_v" + Integer.toString(byConfigBak[34] & 0xFF) + "_"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        temp_string += edt_RowNum.getText() + "x" + edt_ColNum.getText() + "_"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (bTestMaxResult == false || bTestMinResult == false || bSaveShortTestResult == false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string += "NG_"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            temp_string += "OK_"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Date date = new Date(System.currentTimeMillis());  //获取当前系统时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        fileName = temp_string + simpleDateFormat.format(date) + ".csv";//editname.getText().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        writeTxtToFile(configBuilder.toString().trim(), filePath, fileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //mShow.setText(fileName + getResources().getString(R.string.saveto) + filePath.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //创建文件夹 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case 3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //权限已成功申请 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //用户拒绝授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Toast.makeText(this,getResources().getString(R.string.nopermission), Toast.LENGTH_SHORT).show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 将字符串写入到文本文件中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void writeTxtToFile(String strcontent, String filePath, String fileName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 生成文件夹之后,再生成文件,不然会出错 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        makeFilePath(filePath, fileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String strFilePath = filePath + fileName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 每次写入时,都换行写 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String strContent = strcontent + "\r\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            File file = new File(strFilePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Log.d("TestFile", "Create the file:" + strFilePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                file.getParentFile().mkdirs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                file.createNewFile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            RandomAccessFile raf = new RandomAccessFile(file, "rwd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raf.seek(file.length()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raf.write(strContent.getBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raf.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 生成文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public File makeFilePath(String filePath, String fileName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        File file = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        makeRootDirectory(filePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            file = new File(filePath + fileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                file.createNewFile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return file; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 生成文件夹 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static void makeRootDirectory(String filePath) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        File file = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            file = new File(filePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                file.mkdir(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |