From e7bd35c44f62074da6a43dda5d2e0ab2423dc735 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1PDT1EL\\10564" <1056470187@qq.com> Date: Tue, 29 Sep 2026 09:52:53 +0800 Subject: [PATCH] =?UTF-8?q?[paint2.04=20first=20commit]=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AE=89=E5=8D=93=E6=8A=A5=E9=94=99=E6=8C=89=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E5=88=A0=E9=99=A4=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E9=81=A5=E6=8E=A7=E5=99=A8=E6=97=B6=E9=97=B4=E6=8B=94=E6=8E=89?= =?UTF-8?q?=E7=94=B5=E6=B1=A0=E5=9B=9E23=E5=B9=B4=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E8=AF=AF=E5=88=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Paint_UDPV2_03/.project | 2 +- .../Core/FSM/Src/fsm_state_control.c | 2 +- ...{Paint_UDPV2_03.ioc => Paint_UDPV2_04.ioc} | 0 .../8.2/executionHistory/executionHistory.bin | Bin 7047240 -> 7047240 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.2/fileHashes/fileHashes.bin | Bin 1480906 -> 1527333 bytes .../.gradle/8.2/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.2/fileHashes/resourceHashesCache.bin | Bin 69465 -> 70655 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 600269 -> 600323 bytes PaintingappV2.03/.gradle/file-system.probe | Bin 8 -> 8 bytes PaintingappV2.03/.idea/.name | 2 +- PaintingappV2.03/app/build.gradle | 6 +- .../ExampleInstrumentedTest.java | 0 .../app/src/main/java/bsp_Error.proto | 2 +- .../app/src/main/java/bsp_IV.proto | 2 +- .../app/src/main/java/bsp_PV.proto | 2 +- .../MainActivity.java | 28 +++--- .../models/BspError.java | 80 +++++++++--------- .../models/BspIV.java | 78 ++++++++--------- .../models/BspPV.java | 78 ++++++++--------- .../models/DisplayIV.java | 2 +- .../models/DisplayPV.java | 2 +- .../models/ErrorModel.java | 2 +- .../models/ScrollBottomScrollView.java | 2 +- .../services/ConvertHelper.java | 2 +- .../services/CustomProber.java | 2 +- .../services/DecimalDigitsInputFilter.java | 2 +- .../services/ErrorDeocdeHelper.java | 4 +- .../services/LogUtil.java | 2 +- .../services/ModbusCRC.java | 2 +- .../services/MyDataHelper.java | 19 +++-- .../services/PopupHelper.java | 12 +-- .../services/ReceiivedIVHandler.java | 20 ++--- .../services/RobotDataHanlder.java | 6 +- .../services/ToggleRadioButton.java | 4 +- .../services/UDPHelper.java | 6 +- .../services/USBSerialPortHelper.java | 8 +- .../services/VideoPlayerHelper.java | 2 +- .../viewmodels/MainViewModel.java | 2 +- .../app/src/main/res/layout/log_item.xml | 4 +- .../src/main/res/layout/parameters_call.xml | 10 +-- .../app/src/main/res/values/strings.xml | 4 +- .../ExampleUnitTest.java | 0 PaintingappV2.03/settings.gradle | 2 +- ~$版本记录.docx | Bin 0 -> 162 bytes 46 files changed, 202 insertions(+), 201 deletions(-) rename Paint_UDPV2_03/{Paint_UDPV2_03.ioc => Paint_UDPV2_04.ioc} (100%) rename PaintingappV2.03/app/src/androidTest/java/com/example/{paintingappv2_03 => paintingappv2_04}/ExampleInstrumentedTest.java (100%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/MainActivity.java (95%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/BspError.java (89%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/BspIV.java (93%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/BspPV.java (91%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/DisplayIV.java (96%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/DisplayPV.java (95%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/ErrorModel.java (94%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/models/ScrollBottomScrollView.java (95%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/ConvertHelper.java (93%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/CustomProber.java (94%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/DecimalDigitsInputFilter.java (97%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/ErrorDeocdeHelper.java (94%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/LogUtil.java (94%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/ModbusCRC.java (97%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/MyDataHelper.java (92%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/PopupHelper.java (97%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/ReceiivedIVHandler.java (95%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/RobotDataHanlder.java (91%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/ToggleRadioButton.java (94%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/UDPHelper.java (93%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/USBSerialPortHelper.java (98%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/services/VideoPlayerHelper.java (95%) rename PaintingappV2.03/app/src/main/java/com/example/{paintingappv2_03 => paintingappv2_04}/viewmodels/MainViewModel.java (71%) rename PaintingappV2.03/app/src/test/java/com/example/{paintingappv2_03 => paintingappv2_04}/ExampleUnitTest.java (100%) create mode 100644 ~$版本记录.docx diff --git a/Paint_UDPV2_03/.project b/Paint_UDPV2_03/.project index 1bb9d31..f881570 100644 --- a/Paint_UDPV2_03/.project +++ b/Paint_UDPV2_03/.project @@ -1,6 +1,6 @@ - Paint_UDPV2_03 + Paint_UDPV2_04 diff --git a/Paint_UDPV2_03/Core/FSM/Src/fsm_state_control.c b/Paint_UDPV2_03/Core/FSM/Src/fsm_state_control.c index 3083244..3c560f0 100644 --- a/Paint_UDPV2_03/Core/FSM/Src/fsm_state_control.c +++ b/Paint_UDPV2_03/Core/FSM/Src/fsm_state_control.c @@ -428,7 +428,7 @@ void IV_control() IV.Left_Motor_Err = GV.LeftMotor.Motor_Fault; IV.Right_Motor_Err = GV.RightMotor.Motor_Fault; IV.TimeStamp = SystemTimeMiliCount; - IV.STM_Version = 203; + IV.STM_Version = 204; } /* 测试喷枪控制* */ void PaintGunControl() diff --git a/Paint_UDPV2_03/Paint_UDPV2_03.ioc b/Paint_UDPV2_03/Paint_UDPV2_04.ioc similarity index 100% rename from Paint_UDPV2_03/Paint_UDPV2_03.ioc rename to Paint_UDPV2_03/Paint_UDPV2_04.ioc diff --git a/PaintingappV2.03/.gradle/8.2/executionHistory/executionHistory.bin b/PaintingappV2.03/.gradle/8.2/executionHistory/executionHistory.bin index dac87b13d9c7289274823a2b82a403df5c53bfac..0883e86798b6e52ce8c3a2cd80c3b3746032c50a 100644 GIT binary patch delta 38402 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 delta 38383 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 DvO7sl diff --git a/PaintingappV2.03/.gradle/8.2/executionHistory/executionHistory.lock b/PaintingappV2.03/.gradle/8.2/executionHistory/executionHistory.lock index 74b2b0b9bf225de238deba0587479a9b652d4d00..7431a75fb1d1cbfe5331cbfa504eacbecef79aaa 100644 GIT binary patch literal 17 VcmZR+wqcp?&Fdj13}7Ih1OPq;1ug&p literal 17 VcmZR+wqcp?&Fdj13}7HG4gfv71mgez diff --git a/PaintingappV2.03/.gradle/8.2/fileHashes/fileHashes.bin b/PaintingappV2.03/.gradle/8.2/fileHashes/fileHashes.bin index 75d053ca9dde4ec5133f5f35087f72bc0a9ddb80..5556a755999413320d767a03e6265b37f1ce67ec 100644 GIT binary patch delta 24289 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 delta 9981 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 diff --git a/PaintingappV2.03/.gradle/8.2/fileHashes/fileHashes.lock b/PaintingappV2.03/.gradle/8.2/fileHashes/fileHashes.lock index 5b95b21c233056663944c6208600fed8599aeb92..4155f93c8967e53a75106bc288843b338e8d4030 100644 GIT binary patch literal 17 VcmZRsyYOVYT6n%V0~l;s2mm(91w{Y= literal 17 VcmZRsyYOVYT6n%V0~lBa~2JzYrsU(4N6Hc)qNDL6PYOB>+1vw(hQA&|xz>+{fixTj_B9V&A zA&n>ykwfEvUo8xRkcu2FQ5;3QC4dktq6jDgfs)BmTemy&{qyYed*64y`JHN#Fo|uI{x6RXsc3hoPa!Es$gD zM1;8ooY#EGhz9CIpx)jNf-ec$XDM;USk-#)!~r70;vbLg3%JG7Kv;oxIFW8IOBAZG=Gh&+m8=N@e|i6#s@H( zfi7W2!p<^w7>{%Zt9b#$Fk>M^*%uY0n_$(cp>PuDbUr~uM#QYUqWe{uSe_07S+^mW zCuukIF5QMfEkI|xYQY`49t+*Iqp_;tz}Ni^M6_-L^|w1AaP#xaNstIlt=j~rIOMfi z=NV#NI*`@nYr#4j4tB-PR*PuQ-fVI(q0Z6rak$ohUv%TTullAnNd z*#jcH#+2U|ozRGx&m{g$M8vkXwKT{)OsauMB=Bl3f?%Vi#1~j$J3*Iu5Kxr9E$I@cZ z)|RgaPZV~Y?kaesfyfB(zq1yCBecR+vpW1Vkempz?#>-h@RgXyWZ0@wL-plA(K)Bu z+!!qE-XPXM*dNfkzSTkERX$6~svY)YswLn(9)w^^MaZ#J$u5{$0KA_54iV{2Rp#9b z!SSJX3!(GeFWTH9sTY!+n@_!jZY~v+IE(CpMGU`E`YI0)#g{t4_M@5n;9G`QumOWoY#nn`biurgW zkZzv23VAQ0xlNxuP906g8>48`q9yB#=tiv;$a2FwrUU{C0!ZE=E#utpZF&wR(;X_l z9=nLoAupd^&7LY9+nv^zuv>th#v6b9BrQI%S{iq{X8!k zni(q-a~#xf65Bc9{H=BxV*e@%PF?T2m`WOLVD)}b=8Z&y5UXFt?@eFcB#88;uDgdf z7L4->ryndRWByPURni##3~$URtvqextl!C0%BULmH-QB6eD+-F!T%gdm5s7UoHg-o+P$)`*V`Au*Fb*D9Z>X`G@NQ@Wb5lkk#AGI&{JjEHGxPEc$ JLi?CH^*7C-B!U0{ delta 246 zcmV@7Pc+#7!9^>eaCi_pWpL;i*@+Q6b2CB)c81k{XAyN z?fd?*W$`dh+^EZ1+@V7s+BY-5%G=zLS-|*JtJD;H&4Lrr+PrH<{f^oJp2*qap{`l<#$F>{TF!M1^f3T2g%XEWVEQ=;zxOEKVusRU$*kpyooaqa?8MkZ)s_kK% zt}vTv%k~YknKm$jWgeI?FWS7}rV&v8SB@>y7Zfqwm>w{f?Z)(iFN{%O6+nL;n=a7A pSO@j-HT8kzCo7J3;-|Ym+Jrk delta 280 zcmZp^q;mG6N<#}{3sVbo3rh>@7Pc+#81=VreaCi_fBKGj%m&-9{bS4G*{*nwbtdmZ z1GZ@w+2prBkYlgSV>Hb-Vs#c0=*)%BAf3!qfHUF#Val;im8Q1N+!NRWPb= z-)zoNDY4xpfWwNJapy+G2oazGywe3{v(-&M(8HKBT_BF}*meUOW4?1;-~`}v diff --git a/PaintingappV2.03/.idea/.name b/PaintingappV2.03/.idea/.name index 6c09b41..a8b911f 100644 --- a/PaintingappV2.03/.idea/.name +++ b/PaintingappV2.03/.idea/.name @@ -1 +1 @@ -PaintingappV2.03 \ No newline at end of file +PaintingappV2.04 \ No newline at end of file diff --git a/PaintingappV2.03/app/build.gradle b/PaintingappV2.03/app/build.gradle index e479d04..0919019 100644 --- a/PaintingappV2.03/app/build.gradle +++ b/PaintingappV2.03/app/build.gradle @@ -3,7 +3,7 @@ plugins { } android { - namespace 'com.example.paintingappv2_03' + namespace 'com.example.paintingappv2_04' compileSdk 34 viewBinding { @@ -15,7 +15,7 @@ android { enabled true } defaultConfig { - applicationId "com.example.paintingappv2_03" + applicationId "com.example.paintingappv2_04" minSdk 24 targetSdk 34 versionCode 1 @@ -25,7 +25,7 @@ android { } android.applicationVariants.all { variant -> variant.outputs.all { - outputFileName = "Painting203.apk" + outputFileName = "Painting204.apk" } } buildTypes { diff --git a/PaintingappV2.03/app/src/androidTest/java/com/example/paintingappv2_03/ExampleInstrumentedTest.java b/PaintingappV2.03/app/src/androidTest/java/com/example/paintingappv2_04/ExampleInstrumentedTest.java similarity index 100% rename from PaintingappV2.03/app/src/androidTest/java/com/example/paintingappv2_03/ExampleInstrumentedTest.java rename to PaintingappV2.03/app/src/androidTest/java/com/example/paintingappv2_04/ExampleInstrumentedTest.java diff --git a/PaintingappV2.03/app/src/main/java/bsp_Error.proto b/PaintingappV2.03/app/src/main/java/bsp_Error.proto index f4dcb71..5718fa0 100644 --- a/PaintingappV2.03/app/src/main/java/bsp_Error.proto +++ b/PaintingappV2.03/app/src/main/java/bsp_Error.proto @@ -1,6 +1,6 @@ syntax = "proto3"; option java_multiple_files = false; -option java_package = "com.example.paintingappv2_03.models"; +option java_package = "com.example.paintingappv2_04.models"; message ErrorData { int32 Com_Error_Code=1; diff --git a/PaintingappV2.03/app/src/main/java/bsp_IV.proto b/PaintingappV2.03/app/src/main/java/bsp_IV.proto index 157d360..fb16309 100644 --- a/PaintingappV2.03/app/src/main/java/bsp_IV.proto +++ b/PaintingappV2.03/app/src/main/java/bsp_IV.proto @@ -1,7 +1,7 @@ syntax = "proto3"; option java_multiple_files = false; -option java_package = "com.example.paintingappv2_03.models"; +option java_package = "com.example.paintingappv2_04.models"; message IV_struct_define { diff --git a/PaintingappV2.03/app/src/main/java/bsp_PV.proto b/PaintingappV2.03/app/src/main/java/bsp_PV.proto index 1451122..072c09e 100644 --- a/PaintingappV2.03/app/src/main/java/bsp_PV.proto +++ b/PaintingappV2.03/app/src/main/java/bsp_PV.proto @@ -1,6 +1,6 @@ syntax = "proto3"; option java_multiple_files = false; -option java_package = "com.example.paintingappv2_03.models"; +option java_package = "com.example.paintingappv2_04.models"; message PV_struct_define{ diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/MainActivity.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/MainActivity.java similarity index 95% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/MainActivity.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/MainActivity.java index b6436d6..723b722 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/MainActivity.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/MainActivity.java @@ -1,8 +1,8 @@ -package com.example.paintingappv2_03; +package com.example.paintingappv2_04; -import static com.example.paintingappv2_03.services.ReceiivedIVHandler.TIME_OUT; -import static com.example.paintingappv2_03.services.ReceiivedIVHandler.isAlarmDialogShowed; -import static com.example.paintingappv2_03.services.ReceiivedIVHandler.lastReceiveTime; +import static com.example.paintingappv2_04.services.ReceiivedIVHandler.TIME_OUT; +import static com.example.paintingappv2_04.services.ReceiivedIVHandler.isAlarmDialogShowed; +import static com.example.paintingappv2_04.services.ReceiivedIVHandler.lastReceiveTime; import static java.lang.Integer.parseInt; import android.os.Bundle; @@ -21,16 +21,16 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.databinding.DataBindingUtil; -import com.example.paintingappv2_03.databinding.ActivityMainBinding; -import com.example.paintingappv2_03.models.BspPV; -import com.example.paintingappv2_03.models.DisplayPV; -import com.example.paintingappv2_03.services.DecimalDigitsInputFilter; -import com.example.paintingappv2_03.services.ModbusCRC; -import com.example.paintingappv2_03.services.MyDataHelper; -import com.example.paintingappv2_03.services.PopupHelper; -import com.example.paintingappv2_03.services.ReceiivedIVHandler; -import com.example.paintingappv2_03.services.UDPHelper; -import com.example.paintingappv2_03.services.USBSerialPortHelper; +import com.example.paintingappv2_04.databinding.ActivityMainBinding; +import com.example.paintingappv2_04.models.BspPV; +import com.example.paintingappv2_04.models.DisplayPV; +import com.example.paintingappv2_04.services.DecimalDigitsInputFilter; +import com.example.paintingappv2_04.services.ModbusCRC; +import com.example.paintingappv2_04.services.MyDataHelper; +import com.example.paintingappv2_04.services.PopupHelper; +import com.example.paintingappv2_04.services.ReceiivedIVHandler; +import com.example.paintingappv2_04.services.UDPHelper; +import com.example.paintingappv2_04.services.USBSerialPortHelper; import java.util.List; import java.util.Timer; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspError.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspError.java similarity index 89% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspError.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspError.java index 46a5c86..c35d759 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspError.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspError.java @@ -3,7 +3,7 @@ // source: bsp_Error.proto // Protobuf Java Version: 4.27.2 -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; public final class BspError { private BspError() {} @@ -161,7 +161,7 @@ public final class BspError { } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspError.getDescriptor().getEnumTypes().get(0); + return com.example.paintingappv2_04.models.BspError.getDescriptor().getEnumTypes().get(0); } private static final ComError[] VALUES = values(); @@ -235,15 +235,15 @@ public final class BspError { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspError.internal_static_ErrorData_descriptor; + return com.example.paintingappv2_04.models.BspError.internal_static_ErrorData_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.example.paintingappv2_03.models.BspError.internal_static_ErrorData_fieldAccessorTable + return com.example.paintingappv2_04.models.BspError.internal_static_ErrorData_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.example.paintingappv2_03.models.BspError.ErrorData.class, com.example.paintingappv2_03.models.BspError.ErrorData.Builder.class); + com.example.paintingappv2_04.models.BspError.ErrorData.class, com.example.paintingappv2_04.models.BspError.ErrorData.Builder.class); } public static final int COM_ERROR_CODE_FIELD_NUMBER = 1; @@ -333,10 +333,10 @@ public final class BspError { if (obj == this) { return true; } - if (!(obj instanceof com.example.paintingappv2_03.models.BspError.ErrorData)) { + if (!(obj instanceof com.example.paintingappv2_04.models.BspError.ErrorData)) { return super.equals(obj); } - com.example.paintingappv2_03.models.BspError.ErrorData other = (com.example.paintingappv2_03.models.BspError.ErrorData) obj; + com.example.paintingappv2_04.models.BspError.ErrorData other = (com.example.paintingappv2_04.models.BspError.ErrorData) obj; if (getComErrorCode() != other.getComErrorCode()) return false; @@ -366,44 +366,44 @@ public final class BspError { return hash; } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom(byte[] data) + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom(java.io.InputStream input) + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -411,26 +411,26 @@ public final class BspError { .parseWithIOException(PARSER, input, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseDelimitedFrom(java.io.InputStream input) + public static com.example.paintingappv2_04.models.BspError.ErrorData parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseDelimitedFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspError.ErrorData parseFrom( + public static com.example.paintingappv2_04.models.BspError.ErrorData parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -443,7 +443,7 @@ public final class BspError { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(com.example.paintingappv2_03.models.BspError.ErrorData prototype) { + public static Builder newBuilder(com.example.paintingappv2_04.models.BspError.ErrorData prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -464,18 +464,18 @@ public final class BspError { public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:ErrorData) - com.example.paintingappv2_03.models.BspError.ErrorDataOrBuilder { + com.example.paintingappv2_04.models.BspError.ErrorDataOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspError.internal_static_ErrorData_descriptor; + return com.example.paintingappv2_04.models.BspError.internal_static_ErrorData_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.example.paintingappv2_03.models.BspError.internal_static_ErrorData_fieldAccessorTable + return com.example.paintingappv2_04.models.BspError.internal_static_ErrorData_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.example.paintingappv2_03.models.BspError.ErrorData.class, com.example.paintingappv2_03.models.BspError.ErrorData.Builder.class); + com.example.paintingappv2_04.models.BspError.ErrorData.class, com.example.paintingappv2_04.models.BspError.ErrorData.Builder.class); } // Construct using com.example.paintingappv2_01.models.BspError.ErrorData.newBuilder() @@ -501,17 +501,17 @@ public final class BspError { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.example.paintingappv2_03.models.BspError.internal_static_ErrorData_descriptor; + return com.example.paintingappv2_04.models.BspError.internal_static_ErrorData_descriptor; } @java.lang.Override - public com.example.paintingappv2_03.models.BspError.ErrorData getDefaultInstanceForType() { - return com.example.paintingappv2_03.models.BspError.ErrorData.getDefaultInstance(); + public com.example.paintingappv2_04.models.BspError.ErrorData getDefaultInstanceForType() { + return com.example.paintingappv2_04.models.BspError.ErrorData.getDefaultInstance(); } @java.lang.Override - public com.example.paintingappv2_03.models.BspError.ErrorData build() { - com.example.paintingappv2_03.models.BspError.ErrorData result = buildPartial(); + public com.example.paintingappv2_04.models.BspError.ErrorData build() { + com.example.paintingappv2_04.models.BspError.ErrorData result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -519,14 +519,14 @@ public final class BspError { } @java.lang.Override - public com.example.paintingappv2_03.models.BspError.ErrorData buildPartial() { - com.example.paintingappv2_03.models.BspError.ErrorData result = new com.example.paintingappv2_03.models.BspError.ErrorData(this); + public com.example.paintingappv2_04.models.BspError.ErrorData buildPartial() { + com.example.paintingappv2_04.models.BspError.ErrorData result = new com.example.paintingappv2_04.models.BspError.ErrorData(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(com.example.paintingappv2_03.models.BspError.ErrorData result) { + private void buildPartial0(com.example.paintingappv2_04.models.BspError.ErrorData result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.comErrorCode_ = comErrorCode_; @@ -541,16 +541,16 @@ public final class BspError { @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.example.paintingappv2_03.models.BspError.ErrorData) { - return mergeFrom((com.example.paintingappv2_03.models.BspError.ErrorData)other); + if (other instanceof com.example.paintingappv2_04.models.BspError.ErrorData) { + return mergeFrom((com.example.paintingappv2_04.models.BspError.ErrorData)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.example.paintingappv2_03.models.BspError.ErrorData other) { - if (other == com.example.paintingappv2_03.models.BspError.ErrorData.getDefaultInstance()) return this; + public Builder mergeFrom(com.example.paintingappv2_04.models.BspError.ErrorData other) { + if (other == com.example.paintingappv2_04.models.BspError.ErrorData.getDefaultInstance()) return this; if (other.getComErrorCode() != 0) { setComErrorCode(other.getComErrorCode()); } @@ -718,12 +718,12 @@ public final class BspError { } // @@protoc_insertion_point(class_scope:ErrorData) - private static final com.example.paintingappv2_03.models.BspError.ErrorData DEFAULT_INSTANCE; + private static final com.example.paintingappv2_04.models.BspError.ErrorData DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new com.example.paintingappv2_03.models.BspError.ErrorData(); + DEFAULT_INSTANCE = new com.example.paintingappv2_04.models.BspError.ErrorData(); } - public static com.example.paintingappv2_03.models.BspError.ErrorData getDefaultInstance() { + public static com.example.paintingappv2_04.models.BspError.ErrorData getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -759,7 +759,7 @@ public final class BspError { } @java.lang.Override - public com.example.paintingappv2_03.models.BspError.ErrorData getDefaultInstanceForType() { + public com.example.paintingappv2_04.models.BspError.ErrorData getDefaultInstanceForType() { return DEFAULT_INSTANCE; } diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspIV.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspIV.java similarity index 93% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspIV.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspIV.java index 2adbfd8..8c3d656 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspIV.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspIV.java @@ -3,7 +3,7 @@ // source: bsp_IV.proto // Protobuf Java Version: 4.27.2 -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; public final class BspIV { private BspIV() {} @@ -165,15 +165,15 @@ public final class BspIV { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspIV.internal_static_IV_struct_define_descriptor; + return com.example.paintingappv2_04.models.BspIV.internal_static_IV_struct_define_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.example.paintingappv2_03.models.BspIV.internal_static_IV_struct_define_fieldAccessorTable + return com.example.paintingappv2_04.models.BspIV.internal_static_IV_struct_define_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.example.paintingappv2_03.models.BspIV.IV_struct_define.class, com.example.paintingappv2_03.models.BspIV.IV_struct_define.Builder.class); + com.example.paintingappv2_04.models.BspIV.IV_struct_define.class, com.example.paintingappv2_04.models.BspIV.IV_struct_define.Builder.class); } public static final int CURRENTANGLE_FIELD_NUMBER = 1; @@ -451,10 +451,10 @@ public final class BspIV { if (obj == this) { return true; } - if (!(obj instanceof com.example.paintingappv2_03.models.BspIV.IV_struct_define)) { + if (!(obj instanceof com.example.paintingappv2_04.models.BspIV.IV_struct_define)) { return super.equals(obj); } - com.example.paintingappv2_03.models.BspIV.IV_struct_define other = (com.example.paintingappv2_03.models.BspIV.IV_struct_define) obj; + com.example.paintingappv2_04.models.BspIV.IV_struct_define other = (com.example.paintingappv2_04.models.BspIV.IV_struct_define) obj; if (getCurrentAngle() != other.getCurrentAngle()) return false; @@ -517,44 +517,44 @@ public final class BspIV { return hash; } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom(byte[] data) + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom(java.io.InputStream input) + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -562,26 +562,26 @@ public final class BspIV { .parseWithIOException(PARSER, input, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseDelimitedFrom(java.io.InputStream input) + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseDelimitedFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -594,7 +594,7 @@ public final class BspIV { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(com.example.paintingappv2_03.models.BspIV.IV_struct_define prototype) { + public static Builder newBuilder(com.example.paintingappv2_04.models.BspIV.IV_struct_define prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -615,18 +615,18 @@ public final class BspIV { public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:IV_struct_define) - com.example.paintingappv2_03.models.BspIV.IV_struct_defineOrBuilder { + com.example.paintingappv2_04.models.BspIV.IV_struct_defineOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspIV.internal_static_IV_struct_define_descriptor; + return com.example.paintingappv2_04.models.BspIV.internal_static_IV_struct_define_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.example.paintingappv2_03.models.BspIV.internal_static_IV_struct_define_fieldAccessorTable + return com.example.paintingappv2_04.models.BspIV.internal_static_IV_struct_define_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.example.paintingappv2_03.models.BspIV.IV_struct_define.class, com.example.paintingappv2_03.models.BspIV.IV_struct_define.Builder.class); + com.example.paintingappv2_04.models.BspIV.IV_struct_define.class, com.example.paintingappv2_04.models.BspIV.IV_struct_define.Builder.class); } // Construct using com.example.paintingappv2_01.models.BspIV.IV_struct_define.newBuilder() @@ -660,17 +660,17 @@ public final class BspIV { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.example.paintingappv2_03.models.BspIV.internal_static_IV_struct_define_descriptor; + return com.example.paintingappv2_04.models.BspIV.internal_static_IV_struct_define_descriptor; } @java.lang.Override - public com.example.paintingappv2_03.models.BspIV.IV_struct_define getDefaultInstanceForType() { - return com.example.paintingappv2_03.models.BspIV.IV_struct_define.getDefaultInstance(); + public com.example.paintingappv2_04.models.BspIV.IV_struct_define getDefaultInstanceForType() { + return com.example.paintingappv2_04.models.BspIV.IV_struct_define.getDefaultInstance(); } @java.lang.Override - public com.example.paintingappv2_03.models.BspIV.IV_struct_define build() { - com.example.paintingappv2_03.models.BspIV.IV_struct_define result = buildPartial(); + public com.example.paintingappv2_04.models.BspIV.IV_struct_define build() { + com.example.paintingappv2_04.models.BspIV.IV_struct_define result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -678,14 +678,14 @@ public final class BspIV { } @java.lang.Override - public com.example.paintingappv2_03.models.BspIV.IV_struct_define buildPartial() { - com.example.paintingappv2_03.models.BspIV.IV_struct_define result = new com.example.paintingappv2_03.models.BspIV.IV_struct_define(this); + public com.example.paintingappv2_04.models.BspIV.IV_struct_define buildPartial() { + com.example.paintingappv2_04.models.BspIV.IV_struct_define result = new com.example.paintingappv2_04.models.BspIV.IV_struct_define(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(com.example.paintingappv2_03.models.BspIV.IV_struct_define result) { + private void buildPartial0(com.example.paintingappv2_04.models.BspIV.IV_struct_define result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.currentAngle_ = currentAngle_; @@ -724,16 +724,16 @@ public final class BspIV { @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.example.paintingappv2_03.models.BspIV.IV_struct_define) { - return mergeFrom((com.example.paintingappv2_03.models.BspIV.IV_struct_define)other); + if (other instanceof com.example.paintingappv2_04.models.BspIV.IV_struct_define) { + return mergeFrom((com.example.paintingappv2_04.models.BspIV.IV_struct_define)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.example.paintingappv2_03.models.BspIV.IV_struct_define other) { - if (other == com.example.paintingappv2_03.models.BspIV.IV_struct_define.getDefaultInstance()) return this; + public Builder mergeFrom(com.example.paintingappv2_04.models.BspIV.IV_struct_define other) { + if (other == com.example.paintingappv2_04.models.BspIV.IV_struct_define.getDefaultInstance()) return this; if (other.getCurrentAngle() != 0) { setCurrentAngle(other.getCurrentAngle()); } @@ -1353,12 +1353,12 @@ public final class BspIV { } // @@protoc_insertion_point(class_scope:IV_struct_define) - private static final com.example.paintingappv2_03.models.BspIV.IV_struct_define DEFAULT_INSTANCE; + private static final com.example.paintingappv2_04.models.BspIV.IV_struct_define DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new com.example.paintingappv2_03.models.BspIV.IV_struct_define(); + DEFAULT_INSTANCE = new com.example.paintingappv2_04.models.BspIV.IV_struct_define(); } - public static com.example.paintingappv2_03.models.BspIV.IV_struct_define getDefaultInstance() { + public static com.example.paintingappv2_04.models.BspIV.IV_struct_define getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -1394,7 +1394,7 @@ public final class BspIV { } @java.lang.Override - public com.example.paintingappv2_03.models.BspIV.IV_struct_define getDefaultInstanceForType() { + public com.example.paintingappv2_04.models.BspIV.IV_struct_define getDefaultInstanceForType() { return DEFAULT_INSTANCE; } diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspPV.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspPV.java similarity index 91% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspPV.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspPV.java index 6bfdc5f..c9fb57b 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/BspPV.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/BspPV.java @@ -3,7 +3,7 @@ // source: bsp_PV.proto // Protobuf Java Version: 4.27.2 -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; public final class BspPV { private BspPV() {} @@ -124,15 +124,15 @@ public final class BspPV { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspPV.internal_static_PV_struct_define_descriptor; + return com.example.paintingappv2_04.models.BspPV.internal_static_PV_struct_define_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.example.paintingappv2_03.models.BspPV.internal_static_PV_struct_define_fieldAccessorTable + return com.example.paintingappv2_04.models.BspPV.internal_static_PV_struct_define_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.example.paintingappv2_03.models.BspPV.PV_struct_define.class, com.example.paintingappv2_03.models.BspPV.PV_struct_define.Builder.class); + com.example.paintingappv2_04.models.BspPV.PV_struct_define.class, com.example.paintingappv2_04.models.BspPV.PV_struct_define.Builder.class); } public static final int RUNMODE_FIELD_NUMBER = 1; @@ -321,10 +321,10 @@ public final class BspPV { if (obj == this) { return true; } - if (!(obj instanceof com.example.paintingappv2_03.models.BspPV.PV_struct_define)) { + if (!(obj instanceof com.example.paintingappv2_04.models.BspPV.PV_struct_define)) { return super.equals(obj); } - com.example.paintingappv2_03.models.BspPV.PV_struct_define other = (com.example.paintingappv2_03.models.BspPV.PV_struct_define) obj; + com.example.paintingappv2_04.models.BspPV.PV_struct_define other = (com.example.paintingappv2_04.models.BspPV.PV_struct_define) obj; if (getRunMode() != other.getRunMode()) return false; @@ -373,44 +373,44 @@ public final class BspPV { return hash; } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom(byte[] data) + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom(java.io.InputStream input) + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -418,26 +418,26 @@ public final class BspPV { .parseWithIOException(PARSER, input, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseDelimitedFrom(java.io.InputStream input) + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseDelimitedFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessage .parseWithIOException(PARSER, input); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define parseFrom( + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -450,7 +450,7 @@ public final class BspPV { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(com.example.paintingappv2_03.models.BspPV.PV_struct_define prototype) { + public static Builder newBuilder(com.example.paintingappv2_04.models.BspPV.PV_struct_define prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -471,18 +471,18 @@ public final class BspPV { public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder implements // @@protoc_insertion_point(builder_implements:PV_struct_define) - com.example.paintingappv2_03.models.BspPV.PV_struct_defineOrBuilder { + com.example.paintingappv2_04.models.BspPV.PV_struct_defineOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.example.paintingappv2_03.models.BspPV.internal_static_PV_struct_define_descriptor; + return com.example.paintingappv2_04.models.BspPV.internal_static_PV_struct_define_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.example.paintingappv2_03.models.BspPV.internal_static_PV_struct_define_fieldAccessorTable + return com.example.paintingappv2_04.models.BspPV.internal_static_PV_struct_define_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.example.paintingappv2_03.models.BspPV.PV_struct_define.class, com.example.paintingappv2_03.models.BspPV.PV_struct_define.Builder.class); + com.example.paintingappv2_04.models.BspPV.PV_struct_define.class, com.example.paintingappv2_04.models.BspPV.PV_struct_define.Builder.class); } // Construct using com.example.paintingappv2_01.models.BspPV.PV_struct_define.newBuilder() @@ -512,17 +512,17 @@ public final class BspPV { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.example.paintingappv2_03.models.BspPV.internal_static_PV_struct_define_descriptor; + return com.example.paintingappv2_04.models.BspPV.internal_static_PV_struct_define_descriptor; } @java.lang.Override - public com.example.paintingappv2_03.models.BspPV.PV_struct_define getDefaultInstanceForType() { - return com.example.paintingappv2_03.models.BspPV.PV_struct_define.getDefaultInstance(); + public com.example.paintingappv2_04.models.BspPV.PV_struct_define getDefaultInstanceForType() { + return com.example.paintingappv2_04.models.BspPV.PV_struct_define.getDefaultInstance(); } @java.lang.Override - public com.example.paintingappv2_03.models.BspPV.PV_struct_define build() { - com.example.paintingappv2_03.models.BspPV.PV_struct_define result = buildPartial(); + public com.example.paintingappv2_04.models.BspPV.PV_struct_define build() { + com.example.paintingappv2_04.models.BspPV.PV_struct_define result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -530,14 +530,14 @@ public final class BspPV { } @java.lang.Override - public com.example.paintingappv2_03.models.BspPV.PV_struct_define buildPartial() { - com.example.paintingappv2_03.models.BspPV.PV_struct_define result = new com.example.paintingappv2_03.models.BspPV.PV_struct_define(this); + public com.example.paintingappv2_04.models.BspPV.PV_struct_define buildPartial() { + com.example.paintingappv2_04.models.BspPV.PV_struct_define result = new com.example.paintingappv2_04.models.BspPV.PV_struct_define(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartial0(com.example.paintingappv2_03.models.BspPV.PV_struct_define result) { + private void buildPartial0(com.example.paintingappv2_04.models.BspPV.PV_struct_define result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.runMode_ = runMode_; @@ -564,16 +564,16 @@ public final class BspPV { @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.example.paintingappv2_03.models.BspPV.PV_struct_define) { - return mergeFrom((com.example.paintingappv2_03.models.BspPV.PV_struct_define)other); + if (other instanceof com.example.paintingappv2_04.models.BspPV.PV_struct_define) { + return mergeFrom((com.example.paintingappv2_04.models.BspPV.PV_struct_define)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.example.paintingappv2_03.models.BspPV.PV_struct_define other) { - if (other == com.example.paintingappv2_03.models.BspPV.PV_struct_define.getDefaultInstance()) return this; + public Builder mergeFrom(com.example.paintingappv2_04.models.BspPV.PV_struct_define other) { + if (other == com.example.paintingappv2_04.models.BspPV.PV_struct_define.getDefaultInstance()) return this; if (other.getRunMode() != 0) { setRunMode(other.getRunMode()); } @@ -982,12 +982,12 @@ public final class BspPV { } // @@protoc_insertion_point(class_scope:PV_struct_define) - private static final com.example.paintingappv2_03.models.BspPV.PV_struct_define DEFAULT_INSTANCE; + private static final com.example.paintingappv2_04.models.BspPV.PV_struct_define DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new com.example.paintingappv2_03.models.BspPV.PV_struct_define(); + DEFAULT_INSTANCE = new com.example.paintingappv2_04.models.BspPV.PV_struct_define(); } - public static com.example.paintingappv2_03.models.BspPV.PV_struct_define getDefaultInstance() { + public static com.example.paintingappv2_04.models.BspPV.PV_struct_define getDefaultInstance() { return DEFAULT_INSTANCE; } @@ -1023,7 +1023,7 @@ public final class BspPV { } @java.lang.Override - public com.example.paintingappv2_03.models.BspPV.PV_struct_define getDefaultInstanceForType() { + public com.example.paintingappv2_04.models.BspPV.PV_struct_define getDefaultInstanceForType() { return DEFAULT_INSTANCE; } diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/DisplayIV.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/DisplayIV.java similarity index 96% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/DisplayIV.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/DisplayIV.java index 15ee2e1..3d60539 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/DisplayIV.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/DisplayIV.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; import androidx.databinding.BaseObservable; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/DisplayPV.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/DisplayPV.java similarity index 95% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/DisplayPV.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/DisplayPV.java index 8fd333b..c6f9cd0 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/DisplayPV.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/DisplayPV.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; import androidx.databinding.BaseObservable; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/ErrorModel.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/ErrorModel.java similarity index 94% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/ErrorModel.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/ErrorModel.java index 3342acf..2fdb20b 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/ErrorModel.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/ErrorModel.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; public class ErrorModel { diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/ScrollBottomScrollView.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/ScrollBottomScrollView.java similarity index 95% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/ScrollBottomScrollView.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/ScrollBottomScrollView.java index 8fe2984..d0fae80 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/models/ScrollBottomScrollView.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/models/ScrollBottomScrollView.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.models; +package com.example.paintingappv2_04.models; import android.content.Context; import android.util.AttributeSet; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ConvertHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ConvertHelper.java similarity index 93% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ConvertHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ConvertHelper.java index 8602efb..8c8fecb 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ConvertHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ConvertHelper.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.widget.EditText; import android.widget.TextView; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/CustomProber.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/CustomProber.java similarity index 94% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/CustomProber.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/CustomProber.java index f8109ef..dc99bdb 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/CustomProber.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/CustomProber.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import com.hoho.android.usbserial.driver.FtdiSerialDriver; import com.hoho.android.usbserial.driver.ProbeTable; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/DecimalDigitsInputFilter.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/DecimalDigitsInputFilter.java similarity index 97% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/DecimalDigitsInputFilter.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/DecimalDigitsInputFilter.java index 63878a8..484d32a 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/DecimalDigitsInputFilter.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/DecimalDigitsInputFilter.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.text.InputFilter; import android.text.Spanned; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ErrorDeocdeHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ErrorDeocdeHelper.java similarity index 94% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ErrorDeocdeHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ErrorDeocdeHelper.java index 6d6b59a..384fe6e 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ErrorDeocdeHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ErrorDeocdeHelper.java @@ -1,5 +1,5 @@ -package com.example.paintingappv2_03.services; -import com.example.paintingappv2_03.models.BspError; +package com.example.paintingappv2_04.services; +import com.example.paintingappv2_04.models.BspError; public class ErrorDeocdeHelper { diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/LogUtil.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/LogUtil.java similarity index 94% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/LogUtil.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/LogUtil.java index 3294978..d0c118f 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/LogUtil.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/LogUtil.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.util.Log; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ModbusCRC.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ModbusCRC.java similarity index 97% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ModbusCRC.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ModbusCRC.java index 1293923..e747ee8 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ModbusCRC.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ModbusCRC.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; public class ModbusCRC { diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/MyDataHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/MyDataHelper.java similarity index 92% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/MyDataHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/MyDataHelper.java index cad9f7a..c74dea7 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/MyDataHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/MyDataHelper.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.annotation.SuppressLint; import android.content.ContentValues; @@ -10,8 +10,8 @@ import android.util.Log; import androidx.annotation.Nullable; -import com.example.paintingappv2_03.models.DisplayPV; -import com.example.paintingappv2_03.models.ErrorModel; +import com.example.paintingappv2_04.models.DisplayPV; +import com.example.paintingappv2_04.models.ErrorModel; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -49,7 +49,7 @@ public class MyDataHelper extends SQLiteOpenHelper { db.execSQL(sql); - sql = "CREATE TABLE " + Error_TABLE_NAME + "(" + Error_COLUMN_Iime_ID + " INTEGER PRIMARY KEY ," + + sql = "CREATE TABLE " + Error_TABLE_NAME + "(" + Error_COLUMN_Iime_ID + " INTEGER UNIQUE ," + Error_COLUMN_ERROR_INFO + " STRING " + ")"; db.execSQL(sql); @@ -153,15 +153,16 @@ public class MyDataHelper extends SQLiteOpenHelper { //数据超过 500 条,就删除最早的 200 条 if (count > 50) { sqliteDatabase.beginTransaction(); + // 用 rowid 排序,保证严格按插入顺序删除,与 Time_ID 无关 String deleteQuery = "DELETE FROM " + Error_TABLE_NAME - + " WHERE " + Error_COLUMN_Iime_ID - + " IN (SELECT " + Error_COLUMN_Iime_ID - + " FROM " + Error_TABLE_NAME - + " ORDER BY " + Error_COLUMN_Iime_ID + " ASC LIMIT 25)"; + + " WHERE rowid IN (" + + " SELECT rowid FROM " + Error_TABLE_NAME + + " ORDER BY rowid ASC LIMIT 25" + + ")"; //****在这改大于多少条删除x条,此处为2***** sqliteDatabase.execSQL(deleteQuery); sqliteDatabase.setTransactionSuccessful(); sqliteDatabase.endTransaction(); - Log.d("数据库", "数据太多,已删除最早50条"); + Log.d("数据库", "数据太多,已删除最早25条"); } } catch (Exception e) { e.printStackTrace(); diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/PopupHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/PopupHelper.java similarity index 97% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/PopupHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/PopupHelper.java index 0d3da5d..254502e 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/PopupHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/PopupHelper.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.annotation.SuppressLint; import android.app.Dialog; @@ -12,11 +12,11 @@ import android.widget.ScrollView; import android.widget.TextView; import android.widget.Toast; -import com.example.paintingappv2_03.MainActivity; -import com.example.paintingappv2_03.R; -import com.example.paintingappv2_03.models.DisplayPV; -import com.example.paintingappv2_03.models.ErrorModel; -import com.example.paintingappv2_03.models.ScrollBottomScrollView; +import com.example.paintingappv2_04.MainActivity; +import com.example.paintingappv2_04.R; +import com.example.paintingappv2_04.models.DisplayPV; +import com.example.paintingappv2_04.models.ErrorModel; +import com.example.paintingappv2_04.models.ScrollBottomScrollView; import java.util.List; import java.util.Objects; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ReceiivedIVHandler.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ReceiivedIVHandler.java similarity index 95% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ReceiivedIVHandler.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ReceiivedIVHandler.java index 7cd733a..4a9dc50 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ReceiivedIVHandler.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ReceiivedIVHandler.java @@ -1,18 +1,18 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; -import static com.example.paintingappv2_03.services.ErrorDeocdeHelper.ErrorDeocde; -import static com.example.paintingappv2_03.services.USBSerialPortHelper.errorLast; -import static com.example.paintingappv2_03.services.USBSerialPortHelper.toHex4Digits; -import static com.example.paintingappv2_03.services.USBSerialPortHelper.unsignedIntToBinaryWithSeparator; +import static com.example.paintingappv2_04.services.ErrorDeocdeHelper.ErrorDeocde; +import static com.example.paintingappv2_04.services.USBSerialPortHelper.errorLast; +import static com.example.paintingappv2_04.services.USBSerialPortHelper.toHex4Digits; +import static com.example.paintingappv2_04.services.USBSerialPortHelper.unsignedIntToBinaryWithSeparator; import android.graphics.Color; import android.view.Gravity; import android.widget.TextView; import android.widget.Toast; -import com.example.paintingappv2_03.R; -import com.example.paintingappv2_03.models.BspIV; -import com.example.paintingappv2_03.models.ErrorModel; +import com.example.paintingappv2_04.R; +import com.example.paintingappv2_04.models.BspIV; +import com.example.paintingappv2_04.models.ErrorModel; import com.google.protobuf.InvalidProtocolBufferException; import java.util.Objects; @@ -24,7 +24,7 @@ public class ReceiivedIVHandler { public static final long TIME_OUT = 5000; // 超时时间:2秒没收到数据就算离线 public static boolean isAlarmDialogShowed =false; - public static void midToast(String str, int showTime, com.example.paintingappv2_03.MainActivity MainActivity) { + public static void midToast(String str, int showTime, com.example.paintingappv2_04.MainActivity MainActivity) { Toast toast = Toast.makeText(MainActivity, str, showTime); toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL, 0, 0); //设置显示位置 TextView v = (TextView) toast.getView().findViewById(android.R.id.message); @@ -35,7 +35,7 @@ public class ReceiivedIVHandler { public static BspIV.IV_struct_define _toReceiveIV = BspIV.IV_struct_define.newBuilder().build();//上一次有效数据 public static BspIV.IV_struct_define _toReceiveIV_Variable = BspIV.IV_struct_define.newBuilder().build();//最新数据 - public static void HandleData(com.example.paintingappv2_03.MainActivity MainActivity, byte[] data) { + public static void HandleData(com.example.paintingappv2_04.MainActivity MainActivity, byte[] data) { try { byte[] crcbytes = new byte[data.length - 2]; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/RobotDataHanlder.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/RobotDataHanlder.java similarity index 91% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/RobotDataHanlder.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/RobotDataHanlder.java index ef1c1fd..99b54b3 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/RobotDataHanlder.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/RobotDataHanlder.java @@ -1,8 +1,8 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; -import com.example.paintingappv2_03.models.BspIV; -import com.example.paintingappv2_03.models.BspPV; +import com.example.paintingappv2_04.models.BspIV; +import com.example.paintingappv2_04.models.BspPV; import com.google.protobuf.InvalidProtocolBufferException; public class RobotDataHanlder { diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ToggleRadioButton.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ToggleRadioButton.java similarity index 94% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ToggleRadioButton.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ToggleRadioButton.java index 8f517f8..25a6385 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/ToggleRadioButton.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/ToggleRadioButton.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.content.Context; import android.util.AttributeSet; @@ -7,7 +7,7 @@ import android.widget.RadioGroup; import androidx.appcompat.widget.AppCompatRadioButton; -import com.example.paintingappv2_03.R; +import com.example.paintingappv2_04.R; /**********自己的raidobutton按钮类*************/ public class ToggleRadioButton extends AppCompatRadioButton { diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/UDPHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/UDPHelper.java similarity index 93% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/UDPHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/UDPHelper.java index 1de981d..9f26b15 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/UDPHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/UDPHelper.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import java.io.IOException; import java.net.DatagramPacket; @@ -9,7 +9,7 @@ import java.util.logging.Handler; public class UDPHelper { - private static com.example.paintingappv2_03.MainActivity MainActivity; + private static com.example.paintingappv2_04.MainActivity MainActivity; private static Thread receiveThread; private static boolean running = false; private static DatagramSocket sendSocket; @@ -19,7 +19,7 @@ public class UDPHelper { private static int target_port; private static int listening_port; - public static void Intialize(com.example.paintingappv2_03.MainActivity mainActivity, String targetip, int targetPort, int listentingPort) { + public static void Intialize(com.example.paintingappv2_04.MainActivity mainActivity, String targetip, int targetPort, int listentingPort) { try { MainActivity = mainActivity; target_ip = targetip; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/USBSerialPortHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/USBSerialPortHelper.java similarity index 98% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/USBSerialPortHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/USBSerialPortHelper.java index 8e4fe53..9d97701 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/USBSerialPortHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/USBSerialPortHelper.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import android.annotation.SuppressLint; @@ -18,9 +18,9 @@ import android.os.Looper; import androidx.core.content.ContextCompat; -import com.example.paintingappv2_03.BuildConfig; -import com.example.paintingappv2_03.MainActivity; -import com.example.paintingappv2_03.R; +import com.example.paintingappv2_04.BuildConfig; +import com.example.paintingappv2_04.MainActivity; +import com.example.paintingappv2_04.R; import com.hoho.android.usbserial.driver.UsbSerialDriver; import com.hoho.android.usbserial.driver.UsbSerialPort; import com.hoho.android.usbserial.driver.UsbSerialProber; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/VideoPlayerHelper.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/VideoPlayerHelper.java similarity index 95% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/VideoPlayerHelper.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/VideoPlayerHelper.java index 8ce0c08..cbc39ec 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/services/VideoPlayerHelper.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/services/VideoPlayerHelper.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.services; +package com.example.paintingappv2_04.services; import cn.nodemedia.NodePlayer; diff --git a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/viewmodels/MainViewModel.java b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/viewmodels/MainViewModel.java similarity index 71% rename from PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/viewmodels/MainViewModel.java rename to PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/viewmodels/MainViewModel.java index ca3da40..822d37e 100644 --- a/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_03/viewmodels/MainViewModel.java +++ b/PaintingappV2.03/app/src/main/java/com/example/paintingappv2_04/viewmodels/MainViewModel.java @@ -1,4 +1,4 @@ -package com.example.paintingappv2_03.viewmodels; +package com.example.paintingappv2_04.viewmodels; import androidx.lifecycle.ViewModel; diff --git a/PaintingappV2.03/app/src/main/res/layout/log_item.xml b/PaintingappV2.03/app/src/main/res/layout/log_item.xml index be784dd..a14d740 100644 --- a/PaintingappV2.03/app/src/main/res/layout/log_item.xml +++ b/PaintingappV2.03/app/src/main/res/layout/log_item.xml @@ -15,7 +15,7 @@ - - + diff --git a/PaintingappV2.03/app/src/main/res/layout/parameters_call.xml b/PaintingappV2.03/app/src/main/res/layout/parameters_call.xml index c3a7edd..b8e9b49 100644 --- a/PaintingappV2.03/app/src/main/res/layout/parameters_call.xml +++ b/PaintingappV2.03/app/src/main/res/layout/parameters_call.xml @@ -35,7 +35,7 @@ android:gravity="center" android:orientation="horizontal" > - - - - - - 喷漆v2.03 - 2.03 + 喷漆v2.04 + 2.04 当前状态 软件版本 stm版本 diff --git a/PaintingappV2.03/app/src/test/java/com/example/paintingappv2_03/ExampleUnitTest.java b/PaintingappV2.03/app/src/test/java/com/example/paintingappv2_04/ExampleUnitTest.java similarity index 100% rename from PaintingappV2.03/app/src/test/java/com/example/paintingappv2_03/ExampleUnitTest.java rename to PaintingappV2.03/app/src/test/java/com/example/paintingappv2_04/ExampleUnitTest.java diff --git a/PaintingappV2.03/settings.gradle b/PaintingappV2.03/settings.gradle index 2d89221..e845339 100644 --- a/PaintingappV2.03/settings.gradle +++ b/PaintingappV2.03/settings.gradle @@ -14,5 +14,5 @@ dependencyResolutionManagement { } } -rootProject.name = "PaintingappV2.03" +rootProject.name = "PaintingappV2.04" include ':app' diff --git a/~$版本记录.docx b/~$版本记录.docx new file mode 100644 index 0000000000000000000000000000000000000000..4de69cef2140895c020ea0977e94c2a584b16d80 GIT binary patch literal 162 zcmZR(@aE*-V{aHp1I!E);@yL0~GeZSKE<+BwG=tf*^2-c*3=`NH eLK*THvVl0Cp&UrUfWfoU%MAJq9WXu@kO2VZxfO~4 literal 0 HcmV?d00001