Kaynağa Gözat

1、重新上传军工8寸屏代码

liyuezong 1 yıl önce
ebeveyn
işleme
f9e324e0e5
61 değiştirilmiş dosya ile 77 ekleme ve 104 silme
  1. BIN
      Qt/Android/ModbusForAndroid.rar
  2. BIN
      Qt/Android/usb-serial-for-android-3.7.2.zip
  3. 0 0
      Qt/SmartPDU_QT/Android/AndroidManifest - 副本.xml
  4. 0 0
      Qt/SmartPDU_QT/Android/AndroidManifest.xml
  5. 0 0
      Qt/SmartPDU_QT/Android/build.gradle
  6. 0 0
      Qt/SmartPDU_QT/Android/gradle.properties
  7. 0 0
      Qt/SmartPDU_QT/Android/gradle/wrapper/gradle-wrapper.jar
  8. 0 0
      Qt/SmartPDU_QT/Android/gradle/wrapper/gradle-wrapper.properties
  9. 0 0
      Qt/SmartPDU_QT/Android/gradlew
  10. 0 0
      Qt/SmartPDU_QT/Android/gradlew.bat
  11. 0 0
      Qt/SmartPDU_QT/Android/res/values/libs.xml
  12. 0 0
      Qt/SmartPDU_QT/Android/res/xml/device_filter.xml
  13. 0 0
      Qt/SmartPDU_QT/Android/res/xml/qtprovider_paths.xml
  14. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/BuildConfig.java
  15. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/CdcAcmSerialDriver.java
  16. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java
  17. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ChromeCcdSerialDriver.java
  18. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java
  19. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/Cp21xxSerialDriver.java
  20. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/FtdiSerialDriver.java
  21. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/GsmModemSerialDriver.java
  22. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ProbeTable.java
  23. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ProlificSerialDriver.java
  24. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/SerialTimeoutException.java
  25. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbId.java
  26. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialDriver.java
  27. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialPort.java
  28. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialProber.java
  29. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/HexDump.java
  30. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/MonotonicClock.java
  31. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/SerialInputOutputManager.java
  32. 0 0
      Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/UsbUtils.java
  33. 0 0
      Qt/SmartPDU_QT/Android/src/usb/USBListActivity.java
  34. 0 0
      Qt/SmartPDU_QT/Android/src/usb/UsbPermissionReceiver.java
  35. 0 0
      Qt/SmartPDU_QT/Data_Ctrl.cpp
  36. 0 0
      Qt/SmartPDU_QT/Data_Ctrl.h
  37. 0 0
      Qt/SmartPDU_QT/PDUInfoDef.cpp
  38. 3 3
      Qt/Android/SmartPDU_QT/PDUInfoDef.h
  39. 0 0
      Qt/SmartPDU_QT/SmartPDU_QT.pro
  40. 0 0
      Qt/SmartPDU_QT/SmartPDU_QT.pro.user
  41. 0 0
      Qt/SmartPDU_QT/SmartPDU_QT.pro.user.33cdd2f
  42. 0 0
      Qt/SmartPDU_QT/SmartPDU_QT.pro.user.9b528f7
  43. 0 0
      Qt/SmartPDU_QT/SmartPDU_QT.pro.user.c0819dd
  44. 0 0
      Qt/SmartPDU_QT/USB485_Ctrl.cpp
  45. 0 0
      Qt/SmartPDU_QT/USB485_Ctrl.h
  46. 0 0
      Qt/SmartPDU_QT/main.cpp
  47. 0 0
      Qt/SmartPDU_QT/mainwidget.cpp
  48. 0 0
      Qt/SmartPDU_QT/mainwidget.h
  49. 0 0
      Qt/SmartPDU_QT/mainwidget.ui
  50. 0 0
      Qt/SmartPDU_QT/pduresource.qrc
  51. 0 0
      Qt/SmartPDU_QT/resource/Reset.png
  52. 0 0
      Qt/SmartPDU_QT/resource/Serial.png
  53. 0 0
      Qt/SmartPDU_QT/resource/Started.png
  54. 0 0
      Qt/SmartPDU_QT/resource/Trigger.png
  55. 0 0
      Qt/SmartPDU_QT/resource/close.png
  56. 0 0
      Qt/SmartPDU_QT/resource/open.png
  57. 74 101
      Qt/Android/SmartPDU_QT/serialinfo.cpp
  58. 0 0
      Qt/SmartPDU_QT/serialinfo.h
  59. 0 0
      Qt/SmartPDU_QT/widget.cpp
  60. 0 0
      Qt/SmartPDU_QT/widget.h
  61. 0 0
      Qt/SmartPDU_QT/widget.ui

BIN
Qt/Android/ModbusForAndroid.rar


BIN
Qt/Android/usb-serial-for-android-3.7.2.zip


Qt/Android/SmartPDU_QT/Android/AndroidManifest - 副本.xml → Qt/SmartPDU_QT/Android/AndroidManifest - 副本.xml


Qt/Android/SmartPDU_QT/Android/AndroidManifest.xml → Qt/SmartPDU_QT/Android/AndroidManifest.xml


Qt/Android/SmartPDU_QT/Android/build.gradle → Qt/SmartPDU_QT/Android/build.gradle


Qt/Android/SmartPDU_QT/Android/gradle.properties → Qt/SmartPDU_QT/Android/gradle.properties


Qt/Android/SmartPDU_QT/Android/gradle/wrapper/gradle-wrapper.jar → Qt/SmartPDU_QT/Android/gradle/wrapper/gradle-wrapper.jar


Qt/Android/SmartPDU_QT/Android/gradle/wrapper/gradle-wrapper.properties → Qt/SmartPDU_QT/Android/gradle/wrapper/gradle-wrapper.properties


Qt/Android/SmartPDU_QT/Android/gradlew → Qt/SmartPDU_QT/Android/gradlew


Qt/Android/SmartPDU_QT/Android/gradlew.bat → Qt/SmartPDU_QT/Android/gradlew.bat


Qt/Android/SmartPDU_QT/Android/res/values/libs.xml → Qt/SmartPDU_QT/Android/res/values/libs.xml


Qt/Android/SmartPDU_QT/Android/res/xml/device_filter.xml → Qt/SmartPDU_QT/Android/res/xml/device_filter.xml


Qt/Android/SmartPDU_QT/Android/res/xml/qtprovider_paths.xml → Qt/SmartPDU_QT/Android/res/xml/qtprovider_paths.xml


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/BuildConfig.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/BuildConfig.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/CdcAcmSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/CdcAcmSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/Ch34xSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ChromeCcdSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ChromeCcdSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/CommonUsbSerialPort.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/Cp21xxSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/Cp21xxSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/FtdiSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/FtdiSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/GsmModemSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/GsmModemSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ProbeTable.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ProbeTable.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ProlificSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/ProlificSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/SerialTimeoutException.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/SerialTimeoutException.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbId.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbId.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialDriver.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialDriver.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialPort.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialPort.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialProber.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/driver/UsbSerialProber.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/HexDump.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/HexDump.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/MonotonicClock.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/MonotonicClock.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/SerialInputOutputManager.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/SerialInputOutputManager.java


Qt/Android/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/UsbUtils.java → Qt/SmartPDU_QT/Android/src/com/hoho/android/usbserial/util/UsbUtils.java


Qt/Android/SmartPDU_QT/Android/src/usb/USBListActivity.java → Qt/SmartPDU_QT/Android/src/usb/USBListActivity.java


Qt/Android/SmartPDU_QT/Android/src/usb/UsbPermissionReceiver.java → Qt/SmartPDU_QT/Android/src/usb/UsbPermissionReceiver.java


Qt/Android/SmartPDU_QT/Data_Ctrl.cpp → Qt/SmartPDU_QT/Data_Ctrl.cpp


Qt/Android/SmartPDU_QT/Data_Ctrl.h → Qt/SmartPDU_QT/Data_Ctrl.h


Qt/Android/SmartPDU_QT/PDUInfoDef.cpp → Qt/SmartPDU_QT/PDUInfoDef.cpp


+ 3 - 3
Qt/Android/SmartPDU_QT/PDUInfoDef.h

@@ -15,9 +15,9 @@
 #define _SWITCH_T_AC_SENSOR_INFO           0x224B          //MODBUS传感器信息
 #define _SWITCH_T_AC_SENSOR_INFO1          0x225B          //干节点传感器信息
 
-#define _SWITCH_CH_DIV      150          //查询通道间隔
+//#define _SWITCH_CH_DIV      150          //查询通道间隔
 
-#define QUERYSTAMP         50          //查询间隔
+#define QUERYSTAMP         10          //查询间隔
 
 
 
@@ -45,7 +45,7 @@ struct PDUAllInfo
     float Sensor_CO2=0;
     float Sensor_INTemperature=0;
     float Sensor_OUTTemperature=0;
-    bool Sensor_WaterImmersion=true;
+    bool Sensor_WaterImmersion=false;
 
 };
 struct PDUCHInfo

Qt/Android/SmartPDU_QT/SmartPDU_QT.pro → Qt/SmartPDU_QT/SmartPDU_QT.pro


Qt/Android/SmartPDU_QT/SmartPDU_QT.pro.user → Qt/SmartPDU_QT/SmartPDU_QT.pro.user


Qt/Android/SmartPDU_QT/SmartPDU_QT.pro.user.33cdd2f → Qt/SmartPDU_QT/SmartPDU_QT.pro.user.33cdd2f


Qt/Android/SmartPDU_QT/SmartPDU_QT.pro.user.9b528f7 → Qt/SmartPDU_QT/SmartPDU_QT.pro.user.9b528f7


Qt/Android/SmartPDU_QT/SmartPDU_QT.pro.user.c0819dd → Qt/SmartPDU_QT/SmartPDU_QT.pro.user.c0819dd


Qt/Android/SmartPDU_QT/USB485_Ctrl.cpp → Qt/SmartPDU_QT/USB485_Ctrl.cpp


Qt/Android/SmartPDU_QT/USB485_Ctrl.h → Qt/SmartPDU_QT/USB485_Ctrl.h


Qt/Android/SmartPDU_QT/main.cpp → Qt/SmartPDU_QT/main.cpp


Qt/Android/SmartPDU_QT/mainwidget.cpp → Qt/SmartPDU_QT/mainwidget.cpp


Qt/Android/SmartPDU_QT/mainwidget.h → Qt/SmartPDU_QT/mainwidget.h


Qt/Android/SmartPDU_QT/mainwidget.ui → Qt/SmartPDU_QT/mainwidget.ui


Qt/Android/SmartPDU_QT/pduresource.qrc → Qt/SmartPDU_QT/pduresource.qrc


Qt/Android/SmartPDU_QT/resource/Reset.png → Qt/SmartPDU_QT/resource/Reset.png


Qt/Android/SmartPDU_QT/resource/Serial.png → Qt/SmartPDU_QT/resource/Serial.png


Qt/Android/SmartPDU_QT/resource/Started.png → Qt/SmartPDU_QT/resource/Started.png


Qt/Android/SmartPDU_QT/resource/Trigger.png → Qt/SmartPDU_QT/resource/Trigger.png


Qt/Android/SmartPDU_QT/resource/close.png → Qt/SmartPDU_QT/resource/close.png


Qt/Android/SmartPDU_QT/resource/open.png → Qt/SmartPDU_QT/resource/open.png


+ 74 - 101
Qt/Android/SmartPDU_QT/serialinfo.cpp

@@ -9,7 +9,7 @@ void SerialInfo::on_startWork()
 {
     timer = new QTimer(this);
     connect(timer, &QTimer::timeout, this, &SerialInfo::on_Check_PDUStatus);
-    timer->start(2000); // Start the timer
+    timer->start(1000); // Start the timer
 }
 void SerialInfo::on_closeWork()
 {
@@ -82,7 +82,24 @@ void SerialInfo::on_Check_PDUStatus()
     on_Parse_PDUStatus(SendString,RecString,_SWITCH_T_AC_IN_L3_INFO);
     QThread::msleep(QUERYSTAMP);
 
-
+     for(int i=0;i<m_TotalCHTemp;i++)
+     {
+         //查询相信息
+         OrderArray[2] = ((_SWITCH_T_AC_CH_PHASE_INFO + 30*i)>> 8) & 0xFF; // High byte
+         OrderArray[3] = (_SWITCH_T_AC_CH_PHASE_INFO + 30*i) & 0xFF; // Low byte
+         OrderArray[4]=0x00;
+         OrderArray[5]=0x1E;
+         crc = crc16_ccitt(OrderArray, 6);
+         OrderArray[6] = crc & 0xFF; // Low byte
+         OrderArray[7] = (crc >> 8) & 0xFF; // High byte
+         SendString=on_SendInfo(OrderArray,8);
+         RecString=on_Rec_PDUStatus();
+         on_Parse_PDUStatus(SendString,RecString,(_SWITCH_T_AC_CH_PHASE_INFO + 30*i));
+         QThread::msleep(QUERYSTAMP);
+     }
+
+
+    /*
     //查询相信息1
     OrderArray[2] = (_SWITCH_T_AC_CH_PHASE_INFO >> 8) & 0xFF; // High byte
     OrderArray[3] = _SWITCH_T_AC_CH_PHASE_INFO & 0xFF; // Low byte
@@ -121,6 +138,7 @@ void SerialInfo::on_Check_PDUStatus()
     RecString=on_Rec_PDUStatus();
     on_Parse_PDUStatus(SendString,RecString,_SWITCH_T_AC_CH_PHASE_INFO+_SWITCH_CH_DIV*2);
     QThread::msleep(QUERYSTAMP);
+    */
 
     //查询通道状态
     OrderArray[2] = (_SWITCH_T_AC_CH_STATUS >> 8) & 0xFF; // High byte
@@ -135,6 +153,7 @@ void SerialInfo::on_Check_PDUStatus()
     on_Parse_PDUStatus(SendString,RecString,_SWITCH_T_AC_CH_STATUS);
     QThread::msleep(QUERYSTAMP);
 
+
     //查询modbus传感器
     OrderArray[2] = (_SWITCH_T_AC_SENSOR_INFO >> 8) & 0xFF; // High byte
     OrderArray[3] = _SWITCH_T_AC_SENSOR_INFO & 0xFF; // Low byte
@@ -202,105 +221,6 @@ void SerialInfo::on_Parse_PDUStatus(const QString &Sendstr,const QString &Recstr
         m_PDUAllInfo.AllPower_L3 = ((pRecVector[5] << 16) + pRecVector[4] )/1000.0f; // Low byte
         m_PDUAllInfo.AllConsumption_L3 = ((pRecVector[7] << 16)+ pRecVector[6])/1000.0f; // Low byte
     }
-    else if(_SWITCH_T_AC_CH_PHASE_INFO==infoType)
-    {
-        QVector<quint16> pRecVector=parseModbusResponse(Recstr,150);
-        if(pRecVector.size()<150) return;
-        for(int i=0;i<5;i++)
-        {
-             bool L1flag=pRecVector[i*30+9] & 0xFFFF; // Low byte
-             bool L2flag=pRecVector[i*30+19] & 0xFFFF; // Low byte
-             bool L3flag=pRecVector[i*30+29] & 0xFFFF; // Low byte
-
-             if(L1flag)
-             {
-                  m_PDUCHInfo[i].CHVoltage=((pRecVector[1] << 16) + pRecVector[0] )/1000.0f;
-                  m_PDUCHInfo[i].CHCurrent=((pRecVector[3] << 16) + pRecVector[2] )/1000.0f;
-                  m_PDUCHInfo[i].CHPower=((pRecVector[5] << 16) + pRecVector[4] )/1000.0f;
-                  m_PDUCHInfo[i].CHConsumption=((pRecVector[7] << 16) + pRecVector[6] )/1000.0f;
-             }
-             else if(L2flag)
-             {
-                  m_PDUCHInfo[i].CHVoltage=((pRecVector[11] << 16) + pRecVector[10] )/1000.0f;
-                  m_PDUCHInfo[i].CHCurrent=((pRecVector[13] << 16) + pRecVector[12] )/1000.0f;
-                  m_PDUCHInfo[i].CHPower=((pRecVector[15] << 16) + pRecVector[14] )/1000.0f;
-                  m_PDUCHInfo[i].CHConsumption=((pRecVector[17] << 16) + pRecVector[16] )/1000.0f;
-             }
-             else if(L3flag)
-             {
-                  m_PDUCHInfo[i].CHVoltage=((pRecVector[21] << 16) + pRecVector[20] )/1000.0f;
-                  m_PDUCHInfo[i].CHCurrent=((pRecVector[23] << 16) + pRecVector[22] )/1000.0f;
-                  m_PDUCHInfo[i].CHPower=((pRecVector[25] << 16) + pRecVector[24] )/1000.0f;
-                  m_PDUCHInfo[i].CHConsumption=((pRecVector[27] << 16) + pRecVector[26] )/1000.0f;
-             }
-        }
-    }
-    else if((_SWITCH_T_AC_CH_PHASE_INFO+_SWITCH_CH_DIV)==infoType)
-    {
-        QVector<quint16> pRecVector=parseModbusResponse(Recstr,150);
-        if(pRecVector.size()<150) return;
-        for(int i=0;i<5;i++)
-        {
-             bool L1flag=pRecVector[i*30+9] & 0xFFFF; // Low byte
-             bool L2flag=pRecVector[i*30+19] & 0xFFFF; // Low byte
-             bool L3flag=pRecVector[i*30+29] & 0xFFFF; // Low byte
-
-             if(L1flag)
-             {
-                  m_PDUCHInfo[i+5].CHVoltage=((pRecVector[1] << 16) + pRecVector[0] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHCurrent=((pRecVector[3] << 16) + pRecVector[2] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHPower=((pRecVector[5] << 16) + pRecVector[4] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHConsumption=((pRecVector[7] << 16) + pRecVector[6] )/1000.0f;
-             }
-             else if(L2flag)
-             {
-                  m_PDUCHInfo[i+5].CHVoltage=((pRecVector[11] << 16) + pRecVector[10] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHCurrent=((pRecVector[13] << 16) + pRecVector[12] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHPower=((pRecVector[15] << 16) + pRecVector[14] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHConsumption=((pRecVector[17] << 16) + pRecVector[16] )/1000.0f;
-             }
-             else if(L3flag)
-             {
-                  m_PDUCHInfo[i+5].CHVoltage=((pRecVector[21] << 16) + pRecVector[20] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHCurrent=((pRecVector[23] << 16) + pRecVector[22] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHPower=((pRecVector[25] << 16) + pRecVector[24] )/1000.0f;
-                  m_PDUCHInfo[i+5].CHConsumption=((pRecVector[27] << 16) + pRecVector[26] )/1000.0f;
-             }
-        }
-    }
-    else if((_SWITCH_T_AC_CH_PHASE_INFO+_SWITCH_CH_DIV*2)==infoType)
-    {
-        QVector<quint16> pRecVector=parseModbusResponse(Recstr,150);
-        if(pRecVector.size()<150) return;
-        for(int i=0;i<5;i++)
-        {
-             bool L1flag=pRecVector[i*30+9] & 0xFFFF; // Low byte
-             bool L2flag=pRecVector[i*30+19] & 0xFFFF; // Low byte
-             bool L3flag=pRecVector[i*30+29] & 0xFFFF; // Low byte
-
-             if(L1flag)
-             {
-                  m_PDUCHInfo[i+10].CHVoltage=((pRecVector[1] << 16) + pRecVector[0] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHCurrent=((pRecVector[3] << 16) + pRecVector[2] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHPower=((pRecVector[5] << 16) + pRecVector[4] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHConsumption=((pRecVector[7] << 16) + pRecVector[6] )/1000.0f;
-             }
-             else if(L2flag)
-             {
-                  m_PDUCHInfo[i+10].CHVoltage=((pRecVector[11] << 16) + pRecVector[10] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHCurrent=((pRecVector[13] << 16) + pRecVector[12] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHPower=((pRecVector[15] << 16) + pRecVector[14] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHConsumption=((pRecVector[17] << 16) + pRecVector[16] )/1000.0f;
-             }
-             else if(L3flag)
-             {
-                  m_PDUCHInfo[i+10].CHVoltage=((pRecVector[21] << 16) + pRecVector[20] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHCurrent=((pRecVector[23] << 16) + pRecVector[22] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHPower=((pRecVector[25] << 16) + pRecVector[24] )/1000.0f;
-                  m_PDUCHInfo[i+10].CHConsumption=((pRecVector[27] << 16) + pRecVector[26] )/1000.0f;
-             }
-        }
-    }
     else if(_SWITCH_T_AC_CH_STATUS==infoType)
     {
         QVector<quint16> pRecVector=parseModbusResponse(Recstr,14);
@@ -326,6 +246,59 @@ void SerialInfo::on_Parse_PDUStatus(const QString &Sendstr,const QString &Recstr
         if(pRecVector.size()<4) return;
         m_PDUAllInfo.Sensor_WaterImmersion = pRecVector[0] & 0xFFFF; // Low byte
     }
+    else
+    {
+        for(int i=0;i<m_TotalCHTemp;i++)
+        {
+            if((_SWITCH_T_AC_CH_PHASE_INFO+30*i)==infoType)
+            {
+                QVector<quint16> pRecVector=parseModbusResponse(Recstr,30);
+                if(pRecVector.size()<30) return;
+
+                // bool L1flag=pRecVector[8] & 0xFFFF; // Low byte
+                //bool L2flag=pRecVector[18] & 0xFFFF; // Low byte
+                //bool L3flag=pRecVector[28] & 0xFFFF; // Low byte
+
+                float VL1=((pRecVector[1] << 16) + pRecVector[0] )/1000.0f;
+                float IL1=((pRecVector[3] << 16) + pRecVector[2] )/1000.0f;
+                float PL1=((pRecVector[5] << 16) + pRecVector[4] )/1000.0f;
+                float CL1=((pRecVector[7] << 16) + pRecVector[6] )/1000.0f;
+
+                float VL2=((pRecVector[11] << 16) + pRecVector[10] )/1000.0f;
+                float IL2=((pRecVector[13] << 16) + pRecVector[12] )/1000.0f;
+                float PL2=((pRecVector[15] << 16) + pRecVector[14] )/1000.0f;
+                float CL2=((pRecVector[17] << 16) + pRecVector[16] )/1000.0f;
+
+                float VL3=((pRecVector[21] << 16) + pRecVector[20] )/1000.0f;
+                float IL3=((pRecVector[23] << 16) + pRecVector[22] )/1000.0f;
+                float PL3=((pRecVector[25] << 16) + pRecVector[24] )/1000.0f;
+                float CL3=((pRecVector[27] << 16) + pRecVector[26] )/1000.0f;
+
+                if(VL1>=VL2 && VL1>=VL3)
+                {
+                    m_PDUCHInfo[i].CHVoltage=VL1;
+                    m_PDUCHInfo[i].CHCurrent=IL1;
+                    m_PDUCHInfo[i].CHPower=PL1;
+                    m_PDUCHInfo[i].CHConsumption=CL1;
+                }
+                if(VL2>=VL1 && VL2>=VL3)
+                {
+                    m_PDUCHInfo[i].CHVoltage=VL2;
+                    m_PDUCHInfo[i].CHCurrent=IL2;
+                    m_PDUCHInfo[i].CHPower=PL2;
+                    m_PDUCHInfo[i].CHConsumption=CL2;
+                }
+                if(VL3>=VL1 && VL3>=VL2)
+                {
+                    m_PDUCHInfo[i].CHVoltage=VL3;
+                    m_PDUCHInfo[i].CHCurrent=IL3;
+                    m_PDUCHInfo[i].CHPower=PL3;
+                    m_PDUCHInfo[i].CHConsumption=CL3;
+                }
+                break;
+            }
+        }
+    }
 
     if(m_printflag) emit addPDUInfo(Sendstr, Recstr);
 }

Qt/Android/SmartPDU_QT/serialinfo.h → Qt/SmartPDU_QT/serialinfo.h


Qt/Android/SmartPDU_QT/widget.cpp → Qt/SmartPDU_QT/widget.cpp


Qt/Android/SmartPDU_QT/widget.h → Qt/SmartPDU_QT/widget.h


Qt/Android/SmartPDU_QT/widget.ui → Qt/SmartPDU_QT/widget.ui