Quellcode durchsuchen

添加阈值处理

guohui vor 1 Jahr
Ursprung
Commit
0313a34837

+ 5 - 4
f407/applications/datadef.h

@@ -479,7 +479,10 @@ enum {
     PKT_TYPE_PARAS,             
     PKT_TYPE_POWER_CH,          //power_ch_t
     PKT_TYPE_POWER_TOTAL,       //power_total_t
-    PKT_TYPE_CH_ALL,            //uint8_t, 0:all close  1:all open
+    PKT_TYPE_POWER_RESET,
+    PKT_TYPE_CH_ALL,
+    PKT_TYPE_SCAN,
+    PKT_TYPE_FACTORY,
     PKT_TYPE_ALARM,
     PKT_TYPE_SENSOR,
     PKT_TYPE_BREAKER,
@@ -497,9 +500,6 @@ enum {
     SUB_TYPE_POWER_START_DELAY,
     SUB_TYPE_POWER_STOP_DELAY,
     
-    SUB_TYPE_CONSUMP_RESET,
-    SUB_TYPE_BOARD_SCAN,
-    
     SUB_TYPE_MAX
 };
 
@@ -509,6 +509,7 @@ typedef struct {
     uint8_t   type;
     uint8_t   subtype;
     uint8_t   nack;
+    uint32_t  flag;
     uint32_t  dlen;
     uint8_t   data[0];
 }pkt_hdr_t;

+ 196 - 116
f407/applications/power.c

@@ -11,6 +11,9 @@
 #define BRD_NUM         3 //BRD_MAX
 #define BRD_TIMEOUT     100
 
+#define LIMIT_HOF(x)  (x*1.1f)
+#define LIMIT_LOF(x)  (x*0.9f)
+
 typedef struct {
     void*           mb;
     lock_t          lck;
@@ -217,14 +220,96 @@ static uint8_t get_ch_idx(board_data_t *pbrd, uint8_t sch)
     
     return ch;
 }
-static int threshold_proc(board_data_t *pbrd)
+static int threshold_proc(power_handle_t *h, board_data_t *pbrd)
 {
-    int i,j,r=-1;
-    
+    int i,j,r=-1,times=1;
+    power_ch_t *pch=NULL;
     
+    for (i=0; i<pbrd->chs; i++) {
+        pch = &pbrd->pch[i];
+        if(h->prod->pwr_type==PDU_AC_I3O3) {
+            times = 3;
+        }
+        
+        for(j=0; j<times; j++) {
+            if(pch->thr.v_upper.en) {
+                if(pch->power[i].voltage>pch->thr.v_upper.val) {
+                    if(pch->alarm.v_upper==0) {
+                        pch->alarm.v_upper = 1;
+                        //trigger alarm event here ...
+                    }
+                }
+                else if(pch->power[i].voltage<pch->thr.v_lower.val) {
+                    if(pch->alarm.v_lower==0) {
+                        pch->alarm.v_lower = 1;
+                        //trigger alarm event here ...
+                    }
+                }
+                else {
+                    pch->alarm.v_upper = 0;
+                    pch->alarm.v_lower = 0;
+                }
+            }
+            
+            if(pch->thr.c_upper.en) {
+                if(pch->power[i].current>pch->thr.c_upper.val) {
+                    if(pch->alarm.c_upper==0) {
+                        pch->alarm.c_upper = 1;
+                        //trigger alarm event here ...
+                    }
+                }
+                else {
+                    pch->alarm.c_upper = 0;
+                }
+            }
+            
+            if(pch->thr.p_upper.en) {
+                if(pch->power[i].power>pch->thr.p_upper.val) {
+                    if(pch->alarm.p_upper==0) {
+                        pch->alarm.p_upper = 1;
+                        //trigger alarm event here ...
+                    }
+                }
+                else {
+                    pch->alarm.p_upper = 0;
+                }
+            }
+            
+            if(pch->thr.w_upper.en) {
+                if(pch->power[i].current>pch->thr.w_upper.val) {
+                    if(pch->alarm.w_upper==0) {
+                        pch->alarm.w_upper = 1;
+                        //trigger alarm event here ...
+                    }
+                }
+                else {
+                    pch->alarm.w_upper = 0;
+                }
+            }
+        }
+    }
     
     return 0;
 }
+static int total_proc(power_handle_t *h, board_data_t *pbrd)
+{
+    int i,j,r=-1,times=1;
+    power_ch_t *pch=NULL;
+    
+    for (i=0; i<pbrd->chs; i++) {
+        pch = &pbrd->pch[i];
+        if(h->prod->pwr_type==PDU_AC_I3O3) {
+            times = 3;
+        }
+        
+        
+        
+        
+        
+    }
+}
+
+
 static int board_read(power_handle_t *h, board_data_t *pbrd)
 {
     int i,j,r=-1;
@@ -451,11 +536,12 @@ static int board_read(power_handle_t *h, board_data_t *pbrd)
             case DC_OUT_TYPE:
             case DC_IN_TYPE:
             default:
+            r = -1;
             break;
         }
         
         if(r==0) {
-            threshold_proc(pbrd);
+            threshold_proc(h, pbrd);
         }
     }
     lock_d_release(h->lck);
@@ -701,98 +787,91 @@ int power_clear(void)
 }
 
 
-int power_reset_consump(uint8_t addr)
+int power_reset(void)
 {
     int i,r=-1;
     uint16_t offset = 0;
     power_handle_t *h=&pwrHandle;
-    board_data_t *pb=NULL;
-    
-    if(addr>h->brd_max) {
-        return -1;
-    }
-    pb = h->pbrd[addr];
-    if(!pb) {
-        return -1;
-    }
+    board_data_t *pbrd=NULL;
     
-    switch(pb->type) {
-        case AC_SINGLE_S_TYPE:
-        case AC_SINGLE_B_TYPE:
-        {
-            uint16_t tmp[8];
-            offset = POWER_AC_CH_STAT_L;
-            for(i=0; i<pb->chs; i++) {
-                tmp[i] = pb->pch[i].power[0].status;
-            }
-            r = write_reg(h, pb->addr, offset, tmp, pb->chs);
-        }
-        break;
-        
-        case DCPDU_TYPE:
-        {
-            offset = POWER_DC_ALARM_CTRL_TOTAL;
-        }
-        break;
-        
-        case TREE_AC_TYPE:
-        {
-            uint16_t data_temp[20];
-            
-            offset = POWER_AC3_RESET_CONSUMP;
-            data_temp[0] = data_temp[1] = data_temp[2] = 1;
-            r = write_reg(h, pb->addr, offset, data_temp, 3);
-            if (r<0) {
-                return r;        
-            }
-            
-            //初始化报警阈值
-            uint32_t value = 0;
-            memset(data_temp, 0, sizeof(data_temp));
-            offset = POWER_AC3_THRESHOLD_VOL_MAX;
-            r = write_reg(h, pb->addr, offset, data_temp, 18);
-            if (r<0) {
-                return r;        
-            }
-            offset = POWER_AC3_THRESHOLD_VOL_MIN;
-            r = write_reg(h, pb->addr, offset, data_temp, 18);
-            if (r<0) {
-                return r;        
-            }
-            
-            offset = POWER_AC3_THRESHOLD_CUR_MAX;
-            r = write_reg(h, pb->addr, offset, data_temp, 18);
-            if (r<0) {
-                return r;
-            }
-            offset = POWER_AC3_THRESHOLD_PWR_MAX;
-            r = write_reg(h, pb->addr, offset, data_temp, 18);
-            if (r<0) {
-                return r;        
-            }
-            offset = POWER_AC3_THRESHOLD_PWRCON_MAX;
-            r = write_reg(h, pb->addr, offset, data_temp, 18);
-            if (r<0) {
-                return r;
-            }
-            
-            for (i = 0; i < pb->chs; i++) {
-                memset(data_temp, 0, sizeof(data_temp));
-                offset = POWER_AC3_OUT_ENABLE + i;
-                data_temp[0] = pb->pch[i].power[0].status;
-                r = write_reg(h, pb->addr, offset, data_temp, 2);
-                if (r<0) {
-                    return r;        
+    lock_d_hold(h->lck);
+    for(i=0; i<=h->brd_max; i++) {
+        pbrd = h->pbrd[i];
+        if(pbrd) {
+            switch(pbrd->type) {
+                case AC_SINGLE_S_TYPE:
+                case AC_SINGLE_B_TYPE:
+                {
+                    uint16_t tmp[8];
+                    offset = POWER_AC_CH_STAT_L;
+                    for(i=0; i<pbrd->chs; i++) {
+                        tmp[i] = pbrd->pch[i].power[0].status;
+                    }
+                    r = write_reg(h, pbrd->addr, offset, tmp, pbrd->chs);
+                }
+                break;
+                
+                case DCPDU_TYPE:
+                {
+                    offset = POWER_DC_ALARM_CTRL_TOTAL;
+                }
+                break;
+                
+                case TREE_AC_TYPE:
+                {
+                    uint16_t data_temp[20];
+                    
+                    offset = POWER_AC3_RESET_CONSUMP;
+                    data_temp[0] = data_temp[1] = data_temp[2] = 1;
+                    r = write_reg(h, pbrd->addr, offset, data_temp, 3);
+                    if (r<0) {
+                        break;
+                    }
+                    
+                    //初始化报警阈值
+                    uint32_t value = 0;
+                    memset(data_temp, 0, sizeof(data_temp));
+                    offset = POWER_AC3_THRESHOLD_VOL_MAX;
+                    r = write_reg(h, pbrd->addr, offset, data_temp, 18);
+                    if (r<0) {
+                        break;
+                    }
+                    offset = POWER_AC3_THRESHOLD_VOL_MIN;
+                    r = write_reg(h, pbrd->addr, offset, data_temp, 18);
+                    if (r<0) {
+                        break;
+                    }
+                    
+                    offset = POWER_AC3_THRESHOLD_CUR_MAX;
+                    r = write_reg(h, pbrd->addr, offset, data_temp, 18);
+                    if (r<0) {
+                        break;
+                    }
+                    offset = POWER_AC3_THRESHOLD_PWR_MAX;
+                    r = write_reg(h, pbrd->addr, offset, data_temp, 18);
+                    if (r<0) {
+                        break;
+                    }
+                    offset = POWER_AC3_THRESHOLD_PWRCON_MAX;
+                    r = write_reg(h, pbrd->addr, offset, data_temp, 18);
+                    if (r<0) {
+                        break;
+                    }
+                    
+                    for (i = 0; i < pbrd->chs; i++) {
+                        memset(data_temp, 0, sizeof(data_temp));
+                        offset = POWER_AC3_OUT_ENABLE + i;
+                        data_temp[0] = pbrd->pch[i].power[0].status;
+                        r = write_reg(h, pbrd->addr, offset, data_temp, 2);
+                    }
                 }
+                break;
             }
         }
-        break;
-        
-        default:
-        return -1;
     }
+    lock_d_release(h->lck);
     
-    return 0;
+    return r;
 }
 
 
@@ -814,12 +893,14 @@ int power_set_sw(power_ch_t *pch)
     if (pch->thr.w_upper.en == 1)
         st |= ENABLE_AC3_W_UP;
     
+    lock_d_hold(h->lck);
     switch(pch->info.type) {
         case AC_SINGLE_S_TYPE:
         case AC_SINGLE_B_TYPE:
         {
             offset = POWER_AC_CH_STAT_L + pch->info.ch;
             tmp[0] = pch->power[0].status; tmp[1] = 0;
+            r = write_reg(h, pc.info.addr, offset, tmp, 2);
         }
         break;
         
@@ -831,6 +912,7 @@ int power_set_sw(power_ch_t *pch)
             mask = ~(1 << pch->info.ch);
             tmp[0] &= mask;
             tmp[0] |= (st << pch->info.ch);
+            r = write_reg(h, pc.info.addr, offset, tmp, 2);
         }
         break;
         
@@ -847,24 +929,23 @@ int power_set_sw(power_ch_t *pch)
             
             tmp[0] = st;
             offset = reg + +pch->info.ch;
+            r = write_reg(h, pc.info.addr, offset, tmp, 2);
         }
         break;
-        
-        default:
-        return -1;
     }
-    r = write_reg(h, pc.info.addr, offset, tmp, 2);
+    lock_d_release(h->lck);
     
     return r;
 }
 
 int power_set_alarm(power_ch_t *pch)
 {
-    int r=-1;
+    int r=0;
     uint16_t offset = 0;
     uint16_t nStatus = 0;
     power_handle_t *h=&pwrHandle;
     
+    lock_d_hold(h->lck);
     switch(pch->info.type) {
         case AC_SINGLE_S_TYPE:
         case AC_SINGLE_B_TYPE:
@@ -901,15 +982,18 @@ int power_set_alarm(power_ch_t *pch)
         break;
         
         default:
-        return -1;
+        r = -1;
     }
     
-    if(pch->thr.v_upper.act==1) nStatus |= BIT(1);
-    if(pch->thr.v_lower.act==1) nStatus |= BIT(2);
-    if(pch->thr.c_upper.act==1) nStatus |= BIT(0);
-    if(pch->thr.p_upper.act==1) nStatus |= BIT(3);
-    if(pch->thr.w_upper.act==1) nStatus |= BIT(4);
-    r = write_reg(h, pch->info.addr, offset, &nStatus, 1);
+    if(r==0) {
+        if(pch->thr.v_upper.act==1) nStatus |= BIT(1);
+        if(pch->thr.v_lower.act==1) nStatus |= BIT(2);
+        if(pch->thr.c_upper.act==1) nStatus |= BIT(0);
+        if(pch->thr.p_upper.act==1) nStatus |= BIT(3);
+        if(pch->thr.w_upper.act==1) nStatus |= BIT(4);
+        r = write_reg(h, pch->info.addr, offset, &nStatus, 1);
+    }
+    lock_d_release(h->lck);
     
     return r;
 }
@@ -917,10 +1001,11 @@ int power_set_alarm(power_ch_t *pch)
 
 int power_set_threshold(power_ch_t *pch)
 {
-    int r=-1;
+    int r=0;
     uint16_t offset;
     power_handle_t *h=&pwrHandle;
     
+    lock_d_hold(h->lck);
     switch(pch->info.type) {
         case AC_SINGLE_S_TYPE:
         case AC_SINGLE_B_TYPE:
@@ -1080,7 +1165,12 @@ int power_set_threshold(power_ch_t *pch)
             }
         }
         break;
+        
+        default:
+        r = -1;
+        break;
     }
+    lock_d_release(h->lck);
     
     return r;
 }
@@ -1092,6 +1182,7 @@ int power_set_start_delay(power_ch_t *pch)
     uint16_t tmp[2],reg,offset;
     power_handle_t *h=&pwrHandle;
     
+    lock_d_hold(h->lck);
     switch(pch->info.type) {
         case AC_SINGLE_S_TYPE:
         case AC_SINGLE_B_TYPE:
@@ -1138,8 +1229,9 @@ int power_set_start_delay(power_ch_t *pch)
         case DC_OUT_TYPE:
         case DC_IN_TYPE:
         default:
-        return -1;
+        r = -1;
     }
+    lock_d_release(h->lck);
     
     return r;
 }
@@ -1149,6 +1241,7 @@ int power_set_stop_delay(power_ch_t *pch)
     uint16_t tmp[2],reg,offset;
     power_handle_t *h=&pwrHandle;
     
+    lock_d_hold(h->lck);
     switch(pch->info.type) {
         case AC_SINGLE_S_TYPE:
         case AC_SINGLE_B_TYPE:
@@ -1193,8 +1286,10 @@ int power_set_stop_delay(power_ch_t *pch)
         case DC_OUT_TYPE:
         case DC_IN_TYPE:
         default:
-        return -1;
+        r = -1;
+        break;
     }
+    lock_d_release(h->lck);
     
     return r;
 }
@@ -1235,18 +1330,3 @@ int power_data_copy(power_data_t *pd, int flag)
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 1 - 1
f407/applications/power.h

@@ -168,7 +168,7 @@ int power_set_alarm(power_ch_t *pch);
 int power_set_threshold(power_ch_t *pch);
 int power_set_start_delay(power_ch_t *pch);
 int power_set_stop_delay(power_ch_t *pch);
-int power_reset_consump(uint8_t addr);
+int power_reset(void);
 
 int power_data_copy(power_data_t *pd, int flag);
 

+ 21 - 15
f407/applications/web.c

@@ -107,7 +107,7 @@ static int ws_handle(web_handle_t *h, pkt_hdr_t *hdr, struct mg_connection *c)
         return -1;
     }
     
-    LOGD("_____ ws handle, type: %d\n", hdr->type);
+    LOGD("_____ ws handle, type: %d, flag: %d\n", hdr->type, hdr->flag);
     switch(hdr->type) {
         case PKT_TYPE_PARAS:
         {
@@ -166,20 +166,26 @@ static int ws_handle(web_handle_t *h, pkt_hdr_t *hdr, struct mg_connection *c)
         
         case PKT_TYPE_CH_ALL:
         {
-            power_ch_t *pch=(power_ch_t*)hdr->data;
-            switch(hdr->subtype) {
-                case SUB_TYPE_CONSUMP_RESET:
-                {
-                    //r = power_reset_consump(addr);
-                }
-                break;
-                
-                case SUB_TYPE_BOARD_SCAN:
-                {
-                    r = power_scan();
-                }
-                break;
-            }
+            //hdr->flag;
+            
+        }
+        break;
+        
+        case PKT_TYPE_POWER_RESET:
+        {
+            //r = power_reset_consump(addr);
+        }
+        break;
+        
+        case PKT_TYPE_SCAN:
+        {
+            //r = power_scan();
+        }
+        break;
+        
+        case PKT_TYPE_FACTORY:
+        {
+            //r = power_scan();
         }
         break;
         

+ 28 - 8
f407/project/app/app.uvoptx

@@ -117,6 +117,10 @@
         <pMon>Segger\JL2CM3.dll</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGUARM</Key>
+        </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>ARMRTXEVENTFLAGS</Key>
@@ -147,18 +151,34 @@
         <Bp>
           <Number>0</Number>
           <Type>0</Type>
-          <LineNumber>1136</LineNumber>
+          <LineNumber>373</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134503936</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename>&lt;1&gt;..\..\rt-thread\libcpu\arm\cortex-m4\cpuport.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\app\../../rt-thread/libcpu/arm/cortex-m4/cpuport.c\373</Expression>
+        </Bp>
+        <Bp>
+          <Number>1</Number>
+          <Type>0</Type>
+          <LineNumber>229</LineNumber>
           <EnabledFlag>1</EnabledFlag>
-          <Address>134499528</Address>
+          <Address>134218896</Address>
           <ByteObject>0</ByteObject>
           <HtxType>0</HtxType>
           <ManyObjects>0</ManyObjects>
           <SizeOfObject>0</SizeOfObject>
           <BreakByAccess>0</BreakByAccess>
           <BreakIfRCount>1</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\rt-thread\src\kservice.c</Filename>
+          <Filename>&lt;1&gt;..\..\rt-thread\libcpu\arm\cortex-m4\context_rvds.S</Filename>
           <ExecCommand></ExecCommand>
-          <Expression>\\app\../../rt-thread/src/kservice.c\1136</Expression>
+          <Expression>\\app\../../rt-thread/libcpu/arm/cortex-m4/context_rvds.S\229</Expression>
         </Bp>
       </Breakpoint>
       <WatchWindow1>
@@ -196,8 +216,8 @@
       <MemoryWindow1>
         <Mm>
           <WinNumber>1</WinNumber>
-          <SubType>8</SubType>
-          <ItemText>path_info.p</ItemText>
+          <SubType>2</SubType>
+          <ItemText>0x20013808</ItemText>
           <AccSizeX>0</AccSizeX>
         </Mm>
       </MemoryWindow1>
@@ -655,7 +675,7 @@
 
   <Group>
     <GroupName>packages/mb</GroupName>
-    <tvExp>1</tvExp>
+    <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -5167,7 +5187,7 @@
 
   <Group>
     <GroupName>rt-thread/comp/finsh</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>

+ 17 - 41
f407/tools/web/data.js

@@ -6,7 +6,10 @@ const PKT_TYPE=function(){
         PKT_TYPE_PARAS:len++,             
         PKT_TYPE_POWER_CH:len++,          //power_ch_t
         PKT_TYPE_POWER_TOTAL:len++,       //power_total_t
+        PKT_TYPE_POWER_RESET:len++,
         PKT_TYPE_CH_ALL:len++,
+        PKT_TYPE_SCAN:len++,
+        PKT_TYPE_FACTORY:len++,
         PKT_TYPE_ALARM:len++,
         PKT_TYPE_SENSOR:len++,
         PKT_TYPE_BREAKER:len++,
@@ -23,8 +26,6 @@ const SUB_TYPE=function(){
         SUB_TYPE_POWER_THRESHOLD:len++,          //power_ch_t
         SUB_TYPE_POWER_START_DELAY:len++,       //power_total_t
         SUB_TYPE_POWER_STOP_DELAY:len++,
-        SUB_TYPE_POWER_RESET_CONSUMP:len++,
-        SUB_TYPE_POWER_SCAN:len++,
     }
 }();
 
@@ -61,10 +62,10 @@ function array_cat(a1,a2){
     }
     return buffer;
 }
-function mk_hdr(type)
+function mk_hdr(type,flag)
 {
     var tmp,length=0;
-    var buffer = new ArrayBuffer(9);
+    var buffer = new ArrayBuffer(13);
 
     tmp = new DataView(buffer, length);
     var t = 0xdead;
@@ -83,6 +84,10 @@ function mk_hdr(type)
     tmp.setUint8(0,0,true);     //nack
     length += 1;
     
+    tmp = new DataView(buffer, length);
+    tmp.setUint32(0,flag,true);     //flag
+    length += 4;
+    
     tmp = new DataView(buffer, length);
     tmp.setUint32(0,0,true);    //dlen
     length += 4;
@@ -108,6 +113,10 @@ function bin_to_hdr(bin) {
     tmp = new DataView(bin, length);
     this.nack = tmp.getUint8(0,true);
     length += 1;
+    
+    tmp = new DataView(bin, length);
+    this.flag = tmp.getUint8(0,true);
+    length += 4;
 
     tmp = new DataView(bin, length);
     this.dlen = tmp.getUint32(0,true);
@@ -354,15 +363,6 @@ function bin_to_powert(bin) {
     
     this.len = length;
 }
-function bin_to_chall(bin) {
-    var tmp, length=0;
-
-    tmp = new DataView(bin, length);
-    var chall = tmp.getUint8(0,true);
-    length += 1;
-
-    return chall;
-}
 function bin_to_alarmd(bin) {
     var tmp, length=0;
     
@@ -400,6 +400,10 @@ function hdr_to_bin(js) {
     tmp.setUint8(0,js.nack,true);
     length += 1;
     
+    tmp = new DataView(buffer, length);
+    tmp.setUint32(0,js.flag,true);
+    length += 4;
+    
     tmp = new DataView(buffer, length);
     tmp.setUint32(0,js.dlen,true);
     length += 4;
@@ -645,16 +649,6 @@ function powert_to_bin(js) {
 
     return bin;
 }
-function chall_to_bin(js) {
-    var tmp, length=0;
-    var bin = new ArrayBuffer(1);
-
-    tmp = new DataView(bin, length);
-    tmp.setUint8(0,js,true);
-    length += 1;
-
-    return bin;
-}
 function alarmd_to_bin(js) {
     var tmp, length=0;
     var bin,buffer = new ArrayBuffer(1);
@@ -687,10 +681,6 @@ XXX.hdr = function() {
             case PKT_TYPE.PKT_TYPE_POWER_TOTAL:
                 tmp = BIN.powert.j2b(js.powert);
                 break;
-                
-           case PKT_TYPE.PKT_TYPE_CH_ALL:
-                tmp = BIN.chall.j2b(js.chall);
-                break;
                
            case PKT_TYPE.PKT_TYPE_ALARM:
                 tmp = BIN.alarm.j2b(js.alarmd);
@@ -721,10 +711,6 @@ XXX.hdr = function() {
             case PKT_TYPE.PKT_TYPE_POWER_TOTAL:
                 hdr.powert = BIN.powert.b2j(data);
                 break;
-            
-            case PKT_TYPE.PKT_TYPE_CH_ALL:
-                hdr.chall = BIN.chall.b2j(data);
-                break;
                
            case PKT_TYPE.PKT_TYPE_ALARM:
                 hdr.alarmd = BIN.alarmd.b2j(data);
@@ -763,15 +749,6 @@ XXX.powert=function() {
         return new bin_to_powert(bin);
     }
 };
-XXX.chall=function() {
-    this.j2b = function (js) {
-        return new chall_to_bin(js);
-    }
-
-    this.b2j = function (bin) {
-        return new bin_to_chall(bin);
-    }
-};
 XXX.alarmd=function() {
     this.j2b = function (js) {
         return new alarmd_to_bin(js);
@@ -788,7 +765,6 @@ var BIN=new function() {
     this.paras = new XXX.paras();
     this.powerc = new XXX.powerc();
     this.powert = new XXX.powert();
-    this.chall = new XXX.chall();
     this.alarmd = new XXX.alarmd();
 }();
 

+ 3 - 3
f407/tools/wsServer/mg.cpp

@@ -9,7 +9,7 @@
 #define PWR_TYPE PDU_AC_I3O3
 
 
-static const char *s_listen_on = "ws://localhost:8888";
+static const char *s_listen_on = "ws://localhost";
 static const char *s_web_root = ".";
 static void send_powerc(struct mg_connection* c);
 
@@ -125,7 +125,7 @@ static void powerc_rand(power_ch_t* pc, uint8_t addr, uint8_t ch, uint8_t sch)
     pc->info.addr = addr;
     pc->info.ch = ch;
     pc->info.sch = sch;
-    pc->info.pid = 0;
+    pc->info.ph_id = 0;
     pc->info.start_delay = 0;
     pc->info.stop_delay = 0;
     
@@ -216,7 +216,7 @@ int main(void) {
 
   srand((uint32_t)time(NULL));
   mg_mgr_init(&mgr);  // Initialise event manager
-  printf("ws server on %s/websocket\n", s_listen_on);
+  printf("ws server on %s/ws\n", s_listen_on);
   mg_timer_add(&mgr, 1000, MG_TIMER_REPEAT, timer_fn, &mgr);
   mg_http_listen(&mgr, s_listen_on, fn, NULL);  // Create HTTP listener
   for (;;) mg_mgr_poll(&mgr, 200);             // Infinite event loop