Selaa lähdekoodia

1、添加自动为客户打包的脚本
2、为级联增加反初始化接口

guohui 2 vuotta sitten
vanhempi
commit
8c9669e3af

BIN
cust_data/db/ac_i1_o1_chinese.db


BIN
cust_data/db/ac_i3_o1_chinese.db


BIN
cust_data/db/ac_i3_o1_russian.db


BIN
cust_data/db/ac_i3_o3_chinese.db


BIN
cust_data/db/dc_i_dc_o.db


BIN
cust_data/logo/logo_gowone.png


BIN
cust_data/logo/logo_itk.png


BIN
cust_data/logo/logo_neuter.png


+ 38 - 9
pro/src/cascade.c

@@ -41,7 +41,6 @@ typedef struct {
 
     ModbusInfo_t        mInfo;
     modbus_mapping_t    *map;
-    modbus_mapping_t    *map2;
 
     cmd_data_t          cmd;
     int                 scanAddr;
@@ -509,7 +508,7 @@ static int mb_receive(cascade_handle_t *cas)
     switch(h.reg) {
         case CASCADE_REG_SCAN:
         {
-            r = _mb_reply(cas, buff, rc, cas->map2);
+            r = _mb_reply(cas, buff, rc, cas->map);
         }
         break;
 
@@ -546,7 +545,7 @@ static int mb_receive(cascade_handle_t *cas)
                 break;
             }
 
-            r = _mb_reply(cas, buff, rc, cas->map2);
+            r = _mb_reply(cas, buff, rc, cas->map);
         }
         break;
 
@@ -561,7 +560,7 @@ static int mb_receive(cascade_handle_t *cas)
                 {
                     LOGD("_____ slave CASCADE_CMD_GET_INFO\n");
                     slave_get_info(cas);
-                    memcpy(cas->map2->tab_registers+(h.reg-CASCADE_REG_OFFSET), (char*)&cas->sInfo+sendlen, h.regcnt*2);
+                    memcpy(cas->map->tab_registers+(h.reg-CASCADE_REG_OFFSET), (char*)&cas->sInfo+sendlen, h.regcnt*2);
                 }
                 break;
 
@@ -570,7 +569,7 @@ static int mb_receive(cascade_handle_t *cas)
                     LOGD("___ slave CASCADE_CMD_QUERY_CH\n");
 
                     slave_get_info(cas);
-                    memcpy(cas->map2->tab_registers+(h.reg-CASCADE_REG_OFFSET), ((char*)&cas->sInfo)+sendlen, h.regcnt*2);
+                    memcpy(cas->map->tab_registers+(h.reg-CASCADE_REG_OFFSET), ((char*)&cas->sInfo)+sendlen, h.regcnt*2);
                 }
                 break;
 
@@ -583,7 +582,7 @@ static int mb_receive(cascade_handle_t *cas)
                 case CASCADE_CMD_QUERY_TOTAL_PWR:break;
             }
 
-            r = _mb_reply(cas, buff, rc, cas->map2);
+            r = _mb_reply(cas, buff, rc, cas->map);
             if(r>0) {
                 sendlen += h.regcnt*2;
                 //LOGD("____  slave sendlen: %d, h.dlen: %d, r: %d\n", sendlen, h.dlen, r);
@@ -636,7 +635,9 @@ static int master_scan(cascade_handle_t *cas)
     return 0;
 }
 ///////////////////////////////////////////////////////////////////////////////////////
-static int power_init(void)
+static int power_clear(cascade_handle_t *cas);
+
+static int power_init(cascade_handle_t *cas)
 {
     GlobalDeviceManager *dm=get_dm();
     GlobalDeviceManager *dm2=get_dm2();
@@ -658,6 +659,17 @@ static int power_init(void)
 
     return 0;
 }
+static int power_deinit(cascade_handle_t *cas)
+{
+    GlobalDeviceManager *dm2=get_dm2();
+
+    power_clear(cas);
+    if(dm2->_global_device_info) {
+        free(dm2->_global_device_info);
+    }
+
+    return 0;
+}
 static int power_clear(cascade_handle_t *cas)
 {
     GlobalPowerManger *tmp,*pos;
@@ -1270,7 +1282,7 @@ int cascade_init(void)
     
     memset(cas, 0, sizeof(casHandle));
 
-    power_init();
+    power_init(cas);
     slave_init(cas);
 
     r = pthread_mutex_init(&cas->mutex, NULL);
@@ -1283,7 +1295,7 @@ int cascade_init(void)
     }
     
     cas->scanAddr = 1;
-    cas->map2 = modbus_mapping_new_start_address(0,0,0,0,
+    cas->map = modbus_mapping_new_start_address(0,0,0,0,
                                                  CASCADE_REG_READ,  MAX_READ_REGS2,
                                                  CASCADE_REG_WRITE, MAX_WRITE_REGS2);
 
@@ -1297,6 +1309,23 @@ int cascade_init(void)
 }
 
 
+int cascade_deinit(void)
+{
+    cascade_handle_t *cas=&casHandle;
+
+    thread_stop(THREAD_ID_CASCADE);
+    thread_stop(THREAD_ID_SCAN);
+
+    pthread_mutex_destroy(&cas->mutex);
+    pthread_mutex_destroy(&cas->lock);
+    modbus_mapping_free(cas->map);
+
+    mb_deinit(cas);
+    power_deinit(cas);
+
+    return 0;
+}
+
 int cascade_set_modbus(ModbusInfo_t *info)
 {
     cascade_handle_t *cas=&casHandle;

+ 2 - 1
pro/src/cascade.h

@@ -192,7 +192,8 @@ typedef struct mmap_modbus{
 extern int cur_dev_addr;
 
 int cascade_init(void);
-int cascade_reinit(void);
+int cascade_deinit(void);
+
 int cascade_request(cmd_data_t *cmd);
 int cascade_get_all(_OverAllPwrAckInfo *all);
 int cascade_get_ch(_OverChnPwrAckInfo *ch);

+ 26 - 0
pub

@@ -0,0 +1,26 @@
+#  1:  CHINA_XIAN
+#  2:  RUSSIA_ITK
+#  3:  GOWONE_CHN
+#
+cust=1
+
+custdir=cust_data
+
+if [ $cust -eq 1 ]; then
+    cp -f $custdir/db/ac_i3_o1_chinese.db output/t113i/root/run/app/pdu_dat.db
+    cp -f $custdir/logo/logo_neuter.png output/t113i/root/run/app/image/logo.png
+elif [ $cust -eq 2 ]; then
+    cp -f $custdir/db/ac_i3_o1_russian.db output/t113i/root/run/app/pdu_dat.db
+    cp -f $custdir/logo/logo_itk.png output/t113i/root/run/app/image/logo.png
+elif [ $cust -eq 3 ]; then
+    cp -f $custdir/db/ac_1_o1.db output/t113i/root/run/app/pdu_dat.db
+    cp -f $custdir/logo/logo_gowone.png output/t113i/root/run/app/image/logo.png
+else
+    echo error!  customer value is wrong!!!
+    exit 1
+fi
+
+cd pro
+rm -r build
+mkdir build && cd build && cmake ..
+make