Ver Fonte

将GT9配置放到代码里,一键下发配置

robbin há 3 anos atrás
pai
commit
a209b7d4e4

+ 2 - 2
app/build.gradle

@@ -7,14 +7,14 @@ android {
         minSdkVersion 18
         targetSdkVersion 28
         versionCode 1
-        versionName "2.1.0"
+        versionName "2.1.1"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
     }
     android.applicationVariants.all {
         variant ->
             variant.outputs.all{
                 //´Ë´¦Ö¸¶¨Éú³ÉµÄapkÎļþÃû
-                outputFileName = "WingCoolAPK_V2.1.0_20211110.apk"
+                outputFileName = "WingCoolAPK_V2.1.1_20211207.apk"
             }
     }
     lintOptions {

+ 80 - 1
app/src/main/java/com/example/administrator/wingcool_gt9_apk/Config.java

@@ -47,6 +47,7 @@ import android.widget.Toast;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -344,6 +345,8 @@ public class Config extends AppCompatActivity
     private int nine = 0; //滑动条移动九页的距离
     private int iChooseVPager = 0; //当前停在哪个vpager
 
+    public String Update_log;
+
     private byte mSendGetGt9ConfigData[]={
             0x03,0x00,0x0f,(byte)0x80,0x47,0x00,0x3f,0x00,
             0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@@ -426,6 +429,8 @@ public class Config extends AppCompatActivity
                 case DEBUG_MESSAGE_ERROR://成功发送数据
                     //mShow.setText("ERROR");
                     //mError.setText("ERROR");
+                    mShow.setText(Update_log);
+                    Update_log = "";
                     break;
 
             }
@@ -3127,6 +3132,21 @@ public class Config extends AppCompatActivity
     }
     //======================================合并配置结束===========================================//
 
+    private byte GT9_CONFIG[]={  //涛泽TZ242164A1-GG_新视窗10.1寸整机配置
+            0x4a,0x00,0x40,(byte)0x80,0x25,0x0a,0x3d,0x20,0x11,0x4a,0x28,0x0a,0x5a,0x3c,0x0b,0x05,
+            0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x1a,0x1e,0x26,0x14,(byte)0x90,0x30,(byte)0xaa,0x28,0x2a,
+            (byte)0xc4,0x09,0x00,0x00,0x00,0x40,0x03,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+            0x00,0x00,0x00,0x1e,0x37,(byte)0x94,(byte)0xc0,(byte)0x85,0x00,0x00,0x00,0x04,(byte)0x96,0x40,0x00,(byte)0x90,
+            0x45,0x00,(byte)0x8a,0x4b,0x00,(byte)0x84,0x52,0x00,0x7e,0x5d,0x00,0x7a,0x00,0x00,0x00,0x00,
+            0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,
+            0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x01,0x02,0x00,0x00,0x00,0x00,
+            0x16,0x15,0x14,0x13,0x12,0x11,0x10,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,0x07,
+            0x06,0x05,0x04,0x03,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,0x21,0x20,
+            0x1f,0x1e,0x1d,0x1c,0x1b,0x19,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x10,0x0f,
+            0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,(byte)0xff,(byte)0xff,
+            (byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xfe,0x01,
+    };
+
     @Override
     public void onClick(final View v) {
         byte starttemp;
@@ -3404,7 +3424,7 @@ public class Config extends AppCompatActivity
                 break;
             case R.id.sendcfg:   //send cfg
                 bottonMode = 1;
-
+/*
                 if (byProductType == GT7) {
                     byte[] mBufferData = new byte[128];
                     byte aByte;
@@ -4061,6 +4081,65 @@ public class Config extends AppCompatActivity
                         mCfg80FF.setText(Integer.toHexString(mBufferData[184] & 0xff));
                     }
                 }
+ */
+                if (byProductType == GT9) {
+                    for (int i = 0; i < 185; i++) {
+                        String hv = Integer.toHexString(GT9_CONFIG[i] & 0xFF);
+                        if (hv.length() < 2) {
+                            hv = "0" + hv;
+                        }
+                        configBuilder.append(hv + ",");
+                    }
+
+                    configBuilder.append("01");  //mBytes[185],最后置上1
+
+                    value = configBuilder.toString();
+                    stringArr = value.split(",");
+
+                    value = value.replace(',', ' '); //逗号转换为空格
+
+                    value = value.trim();  //去除空格
+                    value = value.replaceAll(" ", ""); //逗号转换为空格
+
+                    byte[] mBufferData = new byte[1024];
+
+                    for (int b = 0; b < stringArr.length; b++) {
+                        byte aByte = (byte) Integer.parseInt(stringArr[b], 16);
+                        mBufferData[b] = aByte;
+                    }
+
+                    //重新计算checksum
+                    checksum = 0;
+                    for (int i = 0; i < 184; i++) {
+                        int vb = mBufferData[i] & 0xFF;
+                        checksum = checksum + vb;
+
+                    }
+
+                    //将checksum填入配置中
+                    //if (checksum % 256 == 0)  //校验和正确
+                    {
+                        mBufferData[184] = (byte) (256 - checksum % 256);
+                        // mShow.setText("Cfg Checksum  re-calculation!");
+                    }
+
+                    //更新配置标志位
+                    mBufferData[185] = 0x01;
+
+                    //mSendData = mBufferData;
+                    //mHandler.sendEmptyMessage(DEBUG_MESSAGE_SUCCESS);
+
+                    //扩展命令  0x03,0x01,0x0f,-128,0x47,0x00,0x39,
+                    addressH = (byte) 0x80;
+                    addressL = (byte) 0x47;
+                    iicWrite(addressH, addressL, mBufferData, 0, 186);
+                    if (!recallCheck(addressH, addressL, mBufferData, 0, 185)) {
+                        mShow.setText("Recall check error,Send cfg failed");
+                        // return false;
+                    } else {
+                        mShow.setText("Recall check success,Send cfg success");
+                    }
+                }
                 break;
             case R.id.readcfg:  //read cfg
                 bottonMode = 2;

+ 1 - 1
app/src/main/res/values-en/strings.xml

@@ -103,7 +103,7 @@
     <string name="companyaddr">Address:Room 2008, Chuangxingda Business Building, No.36 Liuxian 3rd Road, Baoan District, Shenzhen</string>
     <string name="telephonenum">Telephone:186 8896 1937</string>
     <string name="emailaddr">Email:max@wingcool.cn</string>
-    <string name="version">APK Version:v2.1.0_20211110-Release Version</string>
+    <string name="version">APK Version:v2.1.1_20211207-Debug Version</string>
 
     <!-- other -->
     <string name="app_name">WingCoolAPK</string>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -103,7 +103,7 @@
     <string name="companyaddr">地址:深圳市宝安区留仙三路 36 号创兴达商务大厦 2008 室</string>
     <string name="telephonenum">电话:186 8896 1937</string>
     <string name="emailaddr">邮箱:max@wingcool.cn</string>
-    <string name="version">APK版本:v2.1.0_20211110-发布版本</string>
+    <string name="version">APK版本:v2.1.1_20211207-debug版本</string>
 
     <!-- other -->
     <string name="app_name">WingCoolAPK</string>