guohui пре 2 година
родитељ
комит
eb32ea506d

+ 9 - 8
04-软件设计及源码/03-核心板/V1.0/05.src/smart_pdu/src/common.h

@@ -29,15 +29,16 @@
 //是否在OS环境下运行
 #define OS_HANDWARE 1
 
-#define WEB_ROOT       "../web"
-#define PARAS_FILE     "pduParas"
+#define WEB_ROOT            "../web"
+#define PARAS_FILE          "pduParas"
 
-#define DATABASE_NAME  "pdu_dat.db" 
-#define SNMP_MIB_NAME  "pduMIB"
+#define DATABASE_NAME       "pdu_dat.db"
+#define DATABASE_BAK_NAME   "pdu_dat_bak.db"
+#define SNMP_MIB_NAME       "pduMIB"
 
 
-#define INTERL_MODBUS_PORT "/dev/ttyAS5"
-#define INTERL_MODBUS_BAUD 115200
+#define INTERL_MODBUS_PORT  "/dev/ttyAS5"
+#define INTERL_MODBUS_BAUD  115200
 
 
 //继电器接口级联
@@ -45,8 +46,8 @@
 #define INTERL_SENSOR_MODBUS_BAUD 9600
 
 //表头级联接口
-#define CASCADE_MODBUS_PORT     "/dev/ttyAS5"
-#define CASCADE_MODBUS_BAUD     9600
+#define CASCADE_MODBUS_PORT     "/dev/ttyAS4"
+#define CASCADE_MODBUS_BAUD     115200
 
 #define AC_SINGLE_S_CUR_CHN_NUM 8
 #define AC_SINGLE_B_CUR_CHN_NUM 4

+ 30 - 4
04-软件设计及源码/03-核心板/V1.0/05.src/smart_pdu/src/sys.c

@@ -35,6 +35,8 @@ typedef struct {
     int  dlen;
     int  blen;
 }node_t;
+static int set_net(NetworkInfo_t *para);
+
 
 static int node_free(node_t *nd)
 {
@@ -110,8 +112,30 @@ int sys_reboot(void)
 #include "upgrade.h"
 int sys_set_factory(void)
 {
-    paras_reset();
-    return system("reboot -f");
+    int r=0;
+
+#ifdef KEY_PARAS_IN_FILE
+    r = paras_reset();
+#else
+    char dir[100],tmp[200];
+
+    extern GlobalDeviceManager __globalDeviceManage;
+    sqlite_deinit(&__globalDeviceManage.db);
+
+    sys_get_path(dir, "");
+    snprintf(tmp, "cp -f %s/%s %s/%s", dir, DATABASE_BAK_NAME, dir, DATABASE_NAME);
+
+    LOGD("___ %s\n", tmp);
+    r = system(tmp);
+    if(r==0) {
+        r = set_net(&DFLT_PARAS.dev._network_info);
+        if(r==0) {
+            exit(0);
+        }
+    }
+#endif
+
+    return r;
 }
 
 
@@ -125,8 +149,10 @@ int sys_get_path(char *path, char *name)
     char *p = strrchr(path, '/');
     if(p && strlen(path)>1) {
         *p = 0;
-        strcat(path, "/");
-        strcat(path, name);
+        if(p && strlen(name)>0) {
+            strcat(path, "/");
+            strcat(path, name);
+        }
     }
     
     return 0;

+ 1 - 1
04-软件设计及源码/03-核心板/V1.0/05.src/smart_pdu/src/sys.h

@@ -2,7 +2,7 @@
 #define __SYS_H__
 
 #include <stdint.h>
-#include "pthread.h"
+#include <pthread.h>
 #include "common.h"