Kaynağa Gözat

中配表头升级相关。

liyi 1 yıl önce
ebeveyn
işleme
cf20bf2aab

+ 0 - 0
output/t113s/pack_dir/mnt/UDISK/dl/README


+ 2 - 0
pro/src/app.c

@@ -1786,6 +1786,7 @@ static void* sensor_thread(void* arg)
                 set_sensor_val_modbus(_globalDeviceManager,&_globalSensorInfo,_globalSensorMangerTemp->sensor_addr);
             }
             break;
+    #if (CHIP_TYPE != CHIP_T113s)
             case SENSOR_TYPE_SMOKE: // 烟雾
             case SENSOR_TYPE_WATER: // 水浸
             case SENSOR_TYPE_ACCESS: // 门禁 IO信号
@@ -1809,6 +1810,7 @@ static void* sensor_thread(void* arg)
                 }                
             }
             break;
+    #endif
             case SENSOR_TYPE_GAS: // 气体
             {
                 float CO2 = 0.0;

+ 7 - 0
pro/src/appweb_handle.c

@@ -22,6 +22,13 @@
 #define TOTAL_COUNT 60
 #define FN_MAX  30
 
+#ifdef DOWN_FOLDER
+    #if (CHIP_TYPE == CHIP_T113s)
+        #undef DOWN_FOLDER
+        #define DOWN_FOLDER "/mnt/UDISK/dl"
+    #endif
+#endif
+
 enum {
     FILE_IMPORT=0,
     FILE_EXPORT,

+ 30 - 8
pro/src/upg.c

@@ -22,8 +22,14 @@
 #define REG_UPG_READ        1501
 #define REG_UPG_WRITE       1550
 
-#define REG_UPG_JUMP        6330
-#define REG_BOARD_INFO      6331
+#define REG_UPG_JUMP_3        6330
+#define REG_BOARD_INFO_3      6331
+
+
+#define REG_UPG_JUMP_S        5260
+#define REG_BOARD_INFO_S      4360
+
+
 
 enum {
     OFFLINE=0,
@@ -106,7 +112,7 @@ static int mb_write(Modbus_Manger *mm, uint16_t addr, uint16_t reg, void *data,
 static void sw_to_info(int addr, board_info_t *info, switch_info_t *swinfo, int status)
 {
     info->addr = addr;
-    info->brd_id = swinfo->id[0];
+    info->brd_id = swinfo->id[2];
     info->channels = swinfo->channels;
     info->status = status;
 
@@ -126,18 +132,35 @@ static int board_upgrade_jump(Modbus_Manger* mm, int addr)
 {
     int r;
     uint16_t tmp=1;
+    upg_handle_t *h=&uHandle;
+    if(h->dm->_globalDevInfo.product.pwr_type == SmartPDU_DC 
+        || h->dm->_globalDevInfo.product.pwr_type ==  SmartPDU_Tree_AC_Tree)
+    {
+        r = mb_write(mm, addr, REG_UPG_JUMP_3, &tmp, sizeof(tmp), UPG_RW_TIMEOUT);
+    }else
+    {
+        r = mb_write(mm, addr, REG_UPG_JUMP_S, &tmp, sizeof(tmp), UPG_RW_TIMEOUT);
+    }
 
-    r = mb_write(mm, addr, REG_UPG_JUMP, &tmp, sizeof(tmp), UPG_RW_TIMEOUT);
     return r;
 }
 static int board_get_info(Modbus_Manger* mm, int addr, switch_info_t *info)
 {
     int r;
-    r = mb_read(mm, addr, REG_BOARD_INFO, info, sizeof(switch_info_t), UPG_RW_TIMEOUT);
-    if(r==0) {
+    upg_handle_t *h=&uHandle;
+    if(h->dm->_globalDevInfo.product.pwr_type == SmartPDU_DC 
+     || h->dm->_globalDevInfo.product.pwr_type ==  SmartPDU_Tree_AC_Tree)
+     {
+        r = mb_read(mm, addr, REG_BOARD_INFO_3, info, sizeof(switch_info_t), UPG_RW_TIMEOUT);
         LOGD("___board %d ver: %s\n",  addr, info->ver);
         LOGD("___board %d date: %s\n", addr, info->date);
-    }
+     }else
+     {
+        r = mb_read(mm, addr, REG_BOARD_INFO_S, info, sizeof(switch_info_t), UPG_RW_TIMEOUT);
+        LOGD("___board %d ver: %s\n",  addr, info->ver);
+        LOGD("___board %d date: %s\n", addr, info->date);   
+     }
+    
     return r;
 }
 
@@ -449,7 +472,6 @@ int upg_board_all_update(void)
         if(tmp->product_saddr>0) {
             addr = tmp->product_saddr;
             if(addr==addr2) continue;
-
             for(i=0; i<RETRY_MAX; i++) {
                 r = board_get_info(mm, addr, &swinfo);
                 if(r==0) {