Procházet zdrojové kódy

1、电量清0有误,改正
2、交换机报警少了个"|"

guohui před 2 roky
rodič
revize
cbcb775c86
6 změnil soubory, kde provedl 40 přidání a 12 odebrání
  1. 1 1
      pro/src/app.c
  2. 4 4
      pro/src/cascade.c
  3. 2 2
      pro/src/common.h
  4. 1 1
      pro/src/netswitch.c
  5. 29 1
      pro/src/smtp.c
  6. 3 3
      pro/src/switch_ctrl.c

+ 1 - 1
pro/src/app.c

@@ -2437,8 +2437,8 @@ int _global_device_manage_init(GlobalDeviceManager* _globalDeviceManager)
     thread_start(THREAD_ID_SHMW, shm_thread, _globalDeviceManager, 10*MB, 0);
 
     thread_start(THREAD_ID_BREAKER_SCANNER,breaker_scanner_thread,_globalDeviceManager,1*MB,0);
+    thread_start(THREAD_ID_BREAKER, breaker_thread, _globalDeviceManager, 5*MB, 0);
 
-	thread_start(THREAD_ID_BREAKER, breaker_thread, _globalDeviceManager, 5*MB, 0);
     dev_Alarm_Run_message(_globalDeviceManager,language_alarm_Init_Success[0],"Server Thread");
     
    #endif

+ 4 - 4
pro/src/cascade.c

@@ -1344,7 +1344,6 @@ static int master_cmd(cascade_handle_t *cas, cmd_data_t *cmd)
                 rdata.data = (uint8_t*)&cas->sBreaker;
                 r = mb_write_read(cas, cur_dev_addr, &wdata, &rdata);
                 if(r==0) {
-                   // power_add(cas);
                    breaker_add(cas);
                 }
             }
@@ -1379,14 +1378,14 @@ static int master_query(cascade_handle_t *cas)
         return -1;
     }
 
-    wdata.dlen = sizeof(*cmd);
+    wdata.dlen = sizeof(cmd_data_t);
     wdata.data = (uint8_t*)cmd;
  
     switch(cmd->cmd) {
 
         case CASCADE_CMD_QUERY_CH:
         {
-            //LOGD("____ master query CASCADE_CMD_QUERY_CH, cnt: %d\n", cas->info.cnt);
+            //LOGD("__00__ master query CASCADE_CMD_QUERY_CH, cnt: %d\n", cas->sInfo.cnt);
             if(cas->sInfo.cnt==0) {
                 return -1;
             }
@@ -1402,6 +1401,7 @@ static int master_query(cascade_handle_t *cas)
             else {
                 LOGE("____ master query CASCADE_CMD_QUERY_CH failed\n");
             }
+            //LOGD("__11__ master query CASCADE_CMD_QUERY_CH, cnt: %d\n", cas->sInfo.cnt);
         }
         break;
         case CASCADE_CMD_BREAKER_QUERY:
@@ -1614,7 +1614,7 @@ static void* cmd_thread(void *arg)
         LOGD("____ slave CASCADE_CMD_CLOSE\n");
     }
 
-    int flag=(pcmd->cmd==CASCADE_CMD_OPEN)?1:0;
+    int flag=((pcmd->cmd==CASCADE_CMD_OPEN)?1:0);
     if(pcmd->chId == 0xff) {
         int sendAddr = 0;
         for(i=0; i<info->cnt; i++) {

+ 2 - 2
pro/src/common.h

@@ -605,8 +605,8 @@ typedef struct
 //SMTP管理
 typedef struct
 {
-    int                 use;
     int                 idx;
+    int                 use;
     char                account[64];
 }smtp_recv_t;
 typedef struct
@@ -621,7 +621,7 @@ typedef struct
     char                account[64];                    //用户账号
     char                password[24]; 		            //用户密码
     char                server[64]; 			        //服务器
-    char                port[10];    		                //端口
+    char                port[10];    		            //端口
     char                auth[16];    			        //认证方式  
 }smtp_manager_t;
 typedef struct

+ 1 - 1
pro/src/netswitch.c

@@ -835,7 +835,7 @@ static int sw_alarm(netswitch_evts_t *evts, netswitch_info_t *old, netswitch_inf
         if(evts->evt[i].dev) {
             if(evts->evt[i].dev==EVT_MAC_CHG) {
                 //snprintf(temp, sizeof(temp), "port[%d] mac changed from %s to %s\n", i+1, old->port[i].mac, new->port[i].mac);
-                sprintf(temp, "|$%s$|, $%s$|%d  %s -> %s\n", language_alarm_MAC_changed[0], language_alarm_Ch[0], i+1, old->port[i].mac, new->port[i].mac);
+                sprintf(temp, "|$%s$|, |$%s$|%d  %s -> %s\n", language_alarm_MAC_changed[0], language_alarm_Ch[0], i+1, old->port[i].mac, new->port[i].mac);
                 strcat(alarm_str, temp);
                 flag = 1;
             }

+ 29 - 1
pro/src/smtp.c

@@ -4155,6 +4155,8 @@ int smtp_init(void)
 
     dev_smtp_init(h->gdm->db, &h->gdm->smtp_sett);
     thread_start(THREAD_ID_SMTP, smtp_thread, h, 5*MB, 0);
+
+    //smtp_test();
 #endif
 
     return 0;
@@ -4193,10 +4195,36 @@ int smtp_send(char *sub, char *body)
 int smtp_test(void)
 {
     int r=0,cnt=0;
+    char temp[200];
 
 #ifdef USE_SMTP
+  smtp_sett_t sett={
+    .man = {
+      .product_id = 0,
+      .mode = 1,
+      .account = "rcp064867@163.com",
+      .password = "wanhong0219107X",
+      .server = "smtp.163.com",
+      .port = "25",
+      .auth = "PLAIN",
+    },
+
+    .rcv = {
+      .recv = {
+          {0, 1, "1556907721@qq.com"},
+          {1, 1, "cijiu0219@sina.com"},
+          {2, 1, "jiuci4902@gmail.com"},
+          {3, 1, "cijiu0219@hotmail.com"},
+          {4, 1, "cijiu990219@outlook.com"},
+      }
+    },
+  };
+
+    char *sub="123";
+    char *body="hello everyone";
     while(cnt++<10) {
-        r = smtp_send("123", "hello 123!");
+        sprintf(temp, "%s %d", body, cnt);
+        r = smtp_send(sub, temp);
         sleep(2);
     }
 #endif

+ 3 - 3
pro/src/switch_ctrl.c

@@ -2026,12 +2026,12 @@ int g_switch_set_t_ac_reset(void* manger,int saddr)
         return -1;
     }
     unsigned int offset = 0;
-    unsigned short data_temp[2];
+    unsigned short data_temp[10];
     int ret=0;
     //重置耗电量
     offset = _SWITCH_T_AC_RESET_CONSUMPTION;
-    data_temp[0] = 1;
-    ret= g_modbus_write_x_reg(manger,saddr,offset,2,data_temp);
+    data_temp[0] = data_temp[1] = data_temp[2] = 1;
+    ret= g_modbus_write_x_reg(manger,saddr,offset,3,data_temp);
     if (ret<0)
     {
         return ret;