Просмотр исходного кода

1、解决第2段内存不能用的问题
2、添加power接口

guohui 1 год назад
Родитель
Сommit
d4d9817250

+ 2 - 1
f407/applications/board.c

@@ -12,6 +12,7 @@
 #include <board.h>
 #include <drv_common.h>
 
+static struct rt_memheap system_heap2;
 void rt_hw_board_init()
 {
     extern void hw_board_init(char *clock_src, int32_t clock_src_freq, int32_t clock_target_freq);
@@ -19,7 +20,7 @@ void rt_hw_board_init()
     /* Heap initialization */
 #if defined(RT_USING_HEAP)
     rt_system_heap_init((void *) HEAP_BEGIN1, (void *) HEAP_END1);
-    //rt_system_heap_init((void *) HEAP_BEGIN2, (void *) HEAP_END2);
+    rt_memheap_init(&system_heap2, "sram", (void *)RAM2_START, RAM2_SIZE);
 #endif
 
     hw_board_init(BSP_CLOCK_SOURCE, BSP_CLOCK_SOURCE_FREQ_MHZ, BSP_CLOCK_SYSTEM_FREQ_MHZ);

+ 17 - 0
f407/applications/cboard.c

@@ -0,0 +1,17 @@
+#include "cboard.h"
+#include "rtdbg.h"
+
+
+#if 1
+    #define LOGD            LOG_D
+    #define LOGE            LOG_E
+    #define LOGW            LOG_W
+#else
+    #define LOGD            printf
+    #define LOGE            printf
+    #define LOGW            printf
+#endif
+
+
+
+

+ 10 - 0
f407/applications/cboard.h

@@ -0,0 +1,10 @@
+#ifndef __CBOARD_Hx__
+#define __CBOARD_Hx__
+
+
+
+
+
+
+
+#endif

+ 3 - 0
f407/applications/cfg.h

@@ -51,6 +51,9 @@
     #define PROD_TYPE                           1
     #define PROD_POWER_TYPE                     0
 
+    //#define USE_UI
+
+
 #else
     #error define a PRJ_XXXX please!
 #endif

+ 94 - 1
f407/applications/data.js

@@ -167,6 +167,51 @@ function bin_to_alarm(bin) {
 
     this.len = length;
 }
+function bin_to_thrval(bin) {
+    var tmp, length=0;
+    
+    tmp = new DataView(bin, length);
+    this.en = tmp.getUint8(0,true);
+    length += 1;
+
+    tmp = new DataView(bin, length);
+    this.val = tmp.getFloat32(0,true);
+    length += 4;
+
+    tmp = new DataView(bin, length);
+    this.act = tmp.getUint8(0,true);
+    length += 1;
+
+    this.act_para = [];
+    tmp = new DataView(bin, length);
+    for(var i=0; i<14; i++) {
+        this.act_para[i] = tmp.getUint8(i,true);
+    }
+    length += 14;
+
+    this.len = length;
+}
+function bin_to_thr(bin) {
+    var tmp, length=0;
+    
+    this.v_upper = new bin_to_thrval(bin.slice(length));
+    length += this.v_upper.len;
+    
+    this.v_lower = new bin_to_thrval(bin.slice(length));
+    length += this.v_lower.len;
+    
+    this.c_upper = new bin_to_thrval(bin.slice(length));
+    length += this.c_upper.len;
+    
+    this.p_upper = new bin_to_thrval(bin.slice(length));
+    length += this.p_upper.len;
+    
+    this.w_upper = new bin_to_thrval(bin.slice(length));
+    length += this.w_upper.len;
+
+    this.len = length;
+}
+
 function bin_to_powerc(bin) {
     var tmp, bin2, length=0;
 
@@ -179,6 +224,9 @@ function bin_to_powerc(bin) {
         length += this.power[i].len;
     }
     
+    this.thr = new bin_to_thr(bin.slice(length));
+    length += this.thr.len;
+    
     this.alarm = new bin_to_alarm(bin.slice(length));
     length += this.alarm.len;
     
@@ -365,6 +413,48 @@ function alarm_to_bin(js) {
 
     return buffer;
 }
+function thrval_to_js(js) {
+    var tmp, length=0;
+    var buffer = new ArrayBuffer(js.len);
+    
+    tmp = new DataView(buffer, length);
+    tmp.setUint8(0,js.en,true);
+    length += 1;
+
+    tmp = new DataView(buffer, length);
+    tmp.setFloat32(0,js.val,true);
+    length += 4;
+
+    tmp = new DataView(buffer, length);
+    tmp.getUint8(0,js.act,true);
+    length += 1;
+
+    tmp = new DataView(buffer, length);
+    for(var i=0; i<14; i++) {
+        tmp.setUint8(i,js.act_para[i],true);
+    }
+    length += 14;
+
+    return buffer;
+}
+function thr_to_bin(js) {
+    var bin,tmp, length=0;
+    
+    bin = thrval_to_js(js.v_upper);
+    tmp = thrval_to_js(js.v_lower);
+    
+    bin = array_cat(bin, tmp);
+    tmp = thrval_to_js(js.c_upper);
+    bin = array_cat(bin, tmp);
+    
+    tmp = thrval_to_js(js.p_upper);
+    bin = array_cat(bin, tmp);
+    
+    tmp = thrval_to_js(js.w_upper);
+    bin = array_cat(bin, tmp);
+
+    return bin;
+}
 function powerc_to_bin(js) {
     var bin,tmp, length=0;
     
@@ -375,6 +465,9 @@ function powerc_to_bin(js) {
         bin = array_cat(bin, tmp);
     }
     
+    tmp = thr_to_bin(js.thr);
+    bin = array_cat(bin, tmp);
+    
     tmp = alarm_to_bin(js.alarm);
     bin = array_cat(bin, tmp);
     
@@ -434,7 +527,7 @@ function powert_to_bin(js) {
     length += 4;
 
     for(var i=0; i<3; i++) {
-        bin2 = new total_to_bin(js.total[i]);
+        bin2 = total_to_bin(js.total[i]);
         bin = array_cat(bin, bin2);
     }
 

+ 13 - 18
f407/applications/datadef.h

@@ -42,11 +42,6 @@ enum {
     PDU_AC_I3O3_H,
 };
 
-enum {
-    BOARD_TYPE_DC=0,
-    BOARD_TYPE_AC,
-    BOARD_TYPE_AC3,
-};
 
 enum {
     ALARM_TYPE_POWER=0,
@@ -250,16 +245,15 @@ typedef struct {
     uint8_t             en;
     float               val;                    //threashold value
     uint8_t             act;
-    uint8_t             act_para;
-}thrd_val_t;
+    uint8_t             para[14];               //14*8=128 channels
+}thr_val_t;
 typedef struct {
-    thrd_val_t          volt_upper;
-    thrd_val_t          volt_lower;
-    thrd_val_t          volt_over;
-    thrd_val_t          curr_upper;             //current
-    thrd_val_t          power_upper;
-    thrd_val_t          pcons_upper;            //power consumption
-}thrd_t;
+    thr_val_t           v_upper;
+    thr_val_t           v_lower;
+    thr_val_t           c_upper;                //current
+    thr_val_t           p_upper;
+    thr_val_t           w_upper;                //power consumption
+}thr_t;
 
 typedef struct {
     uint8_t             v_upper;                //电压超上限
@@ -275,15 +269,15 @@ typedef struct {
     uint8_t             addr;
     uint8_t             ch;                      //该通道在全部板上的所排序号,程序始于0,用户始于1
     uint8_t             sch;                     //该通道在其所在的板上的序号,程序始于0,用户始于1
-    uint8_t             ph_id;                   //phase id, 0:L1相 1:L2相 2:L3相
+    uint8_t             pid;                     //phase id, 0:L1相 1:L2相 2:L3相
     
     uint16_t            start_delay;
     uint16_t            stop_delay;
 }info_t;
 typedef struct {
     info_t              info;
-    power_t             power[3];                  //电力信息
-    thrd_t              thrd;                      //阈值
+    power_t             power[3];                 //电力信息
+    thr_t               thr;                      //阈值
     alarm_t             alarm;
     uint32_t            time;
 }power_ch_t;
@@ -300,7 +294,7 @@ typedef struct {
     uint8_t (*reset_consumer)(power_ch_t *pch);
 
     uint8_t (*get_info)(uint8_t addr);
-    uint8_t (*detect)(uint8_t addr);                                //参数后续补齐
+    uint8_t (*detect)(uint8_t addr);                                 //参数后续补齐
     uint8_t (*open_all)(uint8_t addr);                                
     uint8_t (*close_all)(uint8_t addr);
 }board_fn_t;
@@ -311,6 +305,7 @@ typedef struct {
     uint8_t             addr;
     uint8_t             chs;
     uint8_t             sw;                     //开关监测状态
+    uint8_t             ph_loss;
     board_info_t        info;
     power_ch_t          *pch;                   //根据实际通道数申请连续内存
 }board_data_t;

+ 1 - 2
f407/applications/main.c

@@ -124,7 +124,7 @@ static int user_init(void)
     //rt_hw_lcd_init();
     //net_init("0.0.0.0", SERVER_PORT);
     
-    power_init();
+    //power_init();
     while(n<10) {
         r = sd_mount();
         if(r<=0) {
@@ -133,7 +133,6 @@ static int user_init(void)
         
         n++;
     }
-
     web_init();
     
     return 0;

+ 63 - 60
f407/applications/mb.c

@@ -5,70 +5,71 @@
 #define MALLOC   malloc
 #define FREE     free
 
+
 typedef struct {
-    mb_inst_t  *h;
+    mb_inst_t  *hinst;
     uint8_t    mode;
     uint8_t    type;
-}mb_conn_t;
-
-typedef struct {
-    mb_conn_t  rtu;
-    mb_conn_t  tcp;
     
     rt_thread_t tid;
     uint8_t    quit;
     
-    handle_t   rx;
-    handle_t   tx;
     
 }mb_handle_t;
 static mb_handle_t mbHandle={0};
 
 typedef void (*thread_fn_t)(void *arg);
+static int mb_stop(mb_handle_t *h);
 
 
-static void mb_handle(mb_conn_t *c)
-{
-    if(c->mode==MB_MODE_MASTER) {
-        
-    }
-    else {
-        mb_slave_fsm(c->h);
-    }
-}
-
 static void mb_thread(void *arg)
 {
     mb_handle_t *h=(mb_handle_t*)arg;
     
     while(h->quit==0) {
-        mb_handle(&h->rtu);
-        //mb_handle(&h->tcp);
+        mb_slave_fsm(h->hinst);
     }
-    mb_destory(h->rtu.h);
-    mb_destory(h->tcp.h);
     h->quit = 2;
 }
 
-static void mb_start(mb_handle_t *h, int flag)
+static int mb_start(mb_handle_t *h)
 {
-    if(flag) {
-        h->tid = rt_thread_create(NULL, mb_thread, h, 2048, 5, 20);
-        if(h->tid==NULL) {
-            //LOG_E("___ thread create failed\n");
-        }
-        
-        h->quit = 0;
-        rt_thread_startup(h->tid);
+    if(h->mode==MB_MODE_MASTER) {
+        return -1;
     }
-    else {
-        h->quit = 1;
-        while(h->quit!=2);
-        rt_thread_delete(h->tid);
+    
+    if(h->tid) {
+        mb_stop(h);
     }
+    
+    h->tid = rt_thread_create(NULL, mb_thread, h, 2048, 5, 20);
+    if(h->tid==NULL) {
+        //LOG_E("___ thread create failed\n");
+        return -1;
+    }
+    
+    h->quit = 0;
+    rt_thread_startup(h->tid);
+    
+    return 0;
+}
+static int mb_stop(mb_handle_t *h)
+{
+    if(h->mode==MB_MODE_MASTER || h->tid==NULL) {
+        return -1;
+    }
+
+    h->quit = 1;
+    mb_destory(h->hinst);
+    while(h->quit!=2);
+    rt_thread_delete(h->tid);
+    h->tid = NULL;
+    
+    return 0;
 }
 
 
+
 void* mb_init(mb_para_t *para)
 {
     list_cfg_t lc={0,LIST_FULL_FIFO,10};
@@ -81,12 +82,7 @@ void* mb_init(mb_para_t *para)
     h = (mb_handle_t*)MALLOC(sizeof(mb_handle_t));
     if(h) {
         memset(h, 0, sizeof(mb_handle_t));
-        
-        h->rx = list_init(&lc);
-        h->tx = list_init(&lc);
-        
         mb_setup(h, para);
-        mb_start(h, 1);
     }
     
     return h;
@@ -102,28 +98,26 @@ int mb_setup(void *h, mb_para_t *para)
         return -1;
     }
     
-    if(para->type==MB_TYPE_RTU) {
-        
-        if(mh->rtu.h) {
-            mb_disconn(mh->rtu.h);
-            mb_destory(mh->rtu.h);
+    mh->type = (para->type==MB_TYPE_RTU)?MB_BACKEND_TYPE_RTU:MB_BACKEND_TYPE_TCP;
+    mh->mode = para->mode;
+    if(mh->type==MB_TYPE_RTU) {
+        if(mh->hinst) {
+            mb_disconn(mh->hinst);
         }
         
         param.rtu = para->para.rtu;
-        mh->rtu.type = (para->type==MB_TYPE_RTU)?MB_BACKEND_TYPE_RTU:MB_BACKEND_TYPE_TCP;
-        mh->rtu.mode = para->mode;
-        mh->rtu.h = mb_create(mh->rtu.type, &param);
-        if(!mh->rtu.h) {
+        mh->hinst = mb_create(mh->type, &param);
+        if(!mh->hinst) {
             return -1;
         }
-        
     }
-    else if(para->type==MB_TYPE_TCP) {
+    else if(mh->type==MB_TYPE_TCP) {
         
     }
     else {
         return -1;
     }
+    mb_start(h);
     
     return 0;
 }
@@ -136,9 +130,7 @@ int mb_deinit(void *h)
     if(!mh) {
         return -1;
     }
-    mb_start(mh, 0);
-    list_free(mh->rx);
-    list_free(mh->tx);
+    mb_stop(mh);
     FREE(mh);
     
     return 0;
@@ -147,15 +139,15 @@ int mb_deinit(void *h)
 
 //
 
-int mb_read(void *h, uint8_t addr, uint16_t reg, void *data, int len, int timeout)
+int mb_read(void *h, uint8_t addr, uint16_t reg, uint16_t *data, int cnt, int timeout)
 {
     int r=-1,sz=0;
     mb_handle_t *mh=(mb_handle_t*)h;
     
-    if(!mh || !data || len<=0) {
+    if(!mh || !data || cnt<=0) {
         return -1;
     }
-    
+#if 0
     rt_tick_t end = rt_tick_get_millisecond()+timeout;
     while(1) {
         sz = list_size(mh->rx);
@@ -185,19 +177,30 @@ int mb_read(void *h, uint8_t addr, uint16_t reg, void *data, int len, int timeou
             list_back_node(mh->rx, ln);
         }
     }
+#else
+    mb_set_tmo(mh->hinst, timeout, 15);
+    r = mb_read_regs(mh->hinst, addr, cnt, data);
+#endif
     
     return r;
 }
 
 
-int mb_write(void *h, uint8_t addr, uint16_t reg, void *data, int len)
+int mb_write(void *h, uint8_t addr, uint16_t reg, uint16_t *data, int cnt)
 {
+    int r;
     mb_handle_t *mh=(mb_handle_t*)h;
     if(!mh) {
         return -1;
     }
-   
-    return list_append(mh->tx, 0, data, len);
+
+#if 0
+    r = list_append(mh->tx, 0, data, len);
+#else
+    r = mb_read_regs(mh->hinst, addr, cnt, data);
+#endif
+    
+    return r;
 }
 
 

+ 2 - 2
f407/applications/mb.h

@@ -34,8 +34,8 @@ void* mb_init(mb_para_t *para);
 int mb_deinit(void *h);
 int mb_setup(void *h, mb_para_t *para);
 
-int mb_read(void *h, uint8_t addr, uint16_t reg, void *data, int len, int timeout);
-int mb_write(void *h, uint8_t addr, uint16_t reg, void *data, int len);
+int mb_read(void *h, uint8_t addr, uint16_t reg, uint16_t *data, int cnt, int timeout);
+int mb_write(void *h, uint8_t addr, uint16_t reg, uint16_t *data, int cnt);
 
 #endif
 

+ 2 - 2
f407/applications/paras.c

@@ -223,11 +223,11 @@ static int proc_prod(dictionary *dic, int op, product_data_t *prod)
     char *token=NULL;
 
     if(op==PARAS_CHECK) {
-        if(prod->language>=4) {
+        if(prod->language>=LANG_ID_MAX) {
             LOGE("___ check product.language %d is wrong\n", prod->language);
             r = -1;
         }
-        if(prod->type>=2) {
+        if(prod->type>=PDU_AC_I3O3_H) {
             LOGE("___ check product.type %d is wrong\n", prod->type);
             r = -1;
         }

Разница между файлами не показана из-за своего большого размера
+ 947 - 125
f407/applications/power.c


+ 78 - 12
f407/applications/power.h

@@ -21,9 +21,9 @@
 #define POWER_AC_KB_VAL_L                         0x1203          //设置单相小电流通道K、B值
 #define POWER_AC_KB_VAL_H                         0x124D          //设置单相大电流通道K、B值
 #define POWER_AC_RESET_CONSUMP                    0x1400          //重置单相耗电量
-#define POWER_AC_ALARM_CTL                        0x13EC          //超限动作
+#define POWER_AC_ALARM_CTRL                       0x13EC          //超限动作
 #define POWER_AC_TOTAL_THRESHOLD                  0x1450          //设置单相总超限报警阈值 2024.11.12
-#define POWER_AC_ALARM_TOTAL_CTL                  0x1482          //总体超限动作   2024.11.12       
+#define POWER_AC_ALARM_CTRL_TOTAL                 0x1482          //总体超限动作   2024.11.12       
 
 #define POWER_DC_SET_STAT                         0x120A          //设置直流继电器开关状态
 #define POWER_DC_SET_THRESHOLD                    0x12E9          //设置直流继电器超限报警X
@@ -43,22 +43,22 @@
 #define POWER_DC_GET_IN_INFO                      0x1772          //直流PDU采集输入电压与输入电
 #define POWER_DC_GET_START_DELAY                  0x17E6          //直流PDU延时
 #define POWER_DC_GET_STOP_DELAY                   0x17F6          //直流PDU延时
-#define POWER_DC_SET_THRESHOLD_MAX_VOL            0x17A2          //max voltage threshold
-#define POWER_DC_SET_THRESHOLD_MIN_VOL            0x17B2          //min voltage threshold
-#define POWER_DC_SET_THRESHOLD_MAX_CUR            0x17C2          //max current threshold
-#define POWER_DC_SET_THRESHOLD_MIN_CUR            0x17D2          //max current threshold
-#define POWER_DC_SET_THRESHOLD_MAX_POWER          0x1810          //max power threshold
-#define POWER_DC_SET_THRESHOLD_MAX_POWERCON       0x181A          //max powercon threshold
+#define POWER_DC_SET_THRESHOLD_VOL_MAX            0x17A2          //max voltage threshold
+#define POWER_DC_SET_THRESHOLD_VOL_MIN            0x17B2          //min voltage threshold
+#define POWER_DC_SET_THRESHOLD_CUR_MAX            0x17C2          //max current threshold
+#define POWER_DC_SET_THRESHOLD_CUR_MIN            0x17D2          //max current threshold
+#define POWER_DC_SET_THRESHOLD_POWER_MAX          0x1810          //max power threshold
+#define POWER_DC_SET_THRESHOLD_POWERCON_MAX       0x181A          //max powercon threshold
 #define POWER_DC_SET_ALL_OPEN_INFO                0x1806          //ALL OPEN直流PDU开关状
 #define POWER_DC_SET_ALL_CLOSE_INFO               0x1807          //ALL OPEN直流PDU开关状
-#define POWER_DC_SET_ALARM_CTL                    0x182E          //超限动作
+#define POWER_DC_SET_ALARM_CTRL                   0x182E          //超限动作
 #define POWER_DC_SET_CONSUMP_CLEAR   	          0x1838          //重置直流耗电量
 #define POWER_DC_SET_THRESHOLD_TOTAL_VOL_MAX      0x184C          //max total voltage threshold 2024.11.12
 #define POWER_DC_SET_THRESHOLD_TOTAL_VOL_MIN      0x184D          //min total voltage threshold 2024.11.12
 #define POWER_DC_SET_THRESHOLD_TOTAL_CUR_MAX      0x184E          //max total current threshold 2024.11.12
 #define POWER_DC_SET_THRESHOLD_TOTAL_PWR_MAX      0x184F          //max total power threshold 2024.11.12
 #define POWER_DC_SET_THRESHOLD_TOTAL_PWRCON_MAX   0x1850          //max total powercon threshold 2024.11.12
-#define POWER_DC_SET_ALARM_CTL_TOTAL              0x1856          //总体超限动作   2024.11.12       
+#define POWER_DC_SET_ALARM_CTRL_TOTAL             0x1856          //总体超限动作   2024.11.12       
 
 #define POWER_AC3_GET_INFO                        0x1770          //获取三项类型通道
 #define POWER_AC3_IN_INFO                         0x1771          //三项交流输入
@@ -82,16 +82,82 @@
 #define POWER_AC3_THRESHOLD_PWR_MAX               0x1813          //max POWER threshold
 #define POWER_AC3_THRESHOLD_PWRCON_MAX            0x181F          //max PWRCON threshold
 #define POWER_AC3_ALARM_MISSING_PH                0x1856          //缺相报警
-#define POWER_AC3_TOTAL_ALARM_CTL                 0x185F          //总体超限动作 2024.11.12 
-#define POWER_AC3_ALARM_CTL                       0x1860          //超限动作
+#define POWER_AC3_ALARM_CTRL_TOTAL                0x185F          //总体超限动作 2024.11.12 
+#define POWER_AC3_ALARM_CTRL                      0x1860          //超限动作
 #define POWER_AC3_RESET_CONSUMP                   0x189C          //重置PH耗电量
 #define POWER_AC3_RESET_CONSUMP_ALL               0x18A5          //重置all耗电量
 #define POWER_AC3_BREAKER_INFO                    0x17D4          //三相控制板开关检测信息
 
+#define BIT(x)  (1<<x)
+
+
+enum {
+    AC_SINGLE_S_TYPE=1,
+    AC_SINGLE_B_TYPE,
+    AC_MULTI_S_TYPE,
+    AC_MULTI_B_TYPE,
+    DC_OUT_TYPE,
+    DC_IN_TYPE,
+    DCPDU_TYPE,
+    TREE_AC_TYPE,   //三相进三项出
+};
+enum {
+    ENABLE_V_UP         = (1<<1),
+    ENABLE_V_DOWN       = (1<<3),
+    ENABLE_C_UP         = (1<<5),
+    ENABLE_W_UP         = (1<<7),
+    ENABLE_P_UP         = (1<<9),
+    ENABLE_ALL_UP       = (1<<11),
+    ENABLE_ALL_DOWN     = (1<<12),
+};
+
+enum {
+    ENABLE_AC3_V_UP     = (1<<1),
+    ENABLE_AC3_V_DOWN   = (1<<2),
+    ENABLE_AC3_C_UP     = (1<<3),
+    ENABLE_AC3_W_UP     = (1<<4),
+    ENABLE_AC3_P_UP     = (1<<5),
+    ENABLE_AC3_STIME    = (1<<6),
+    ENABLE_AC3_ETIME    = (1<<7),
+};
+
+enum {
+    ALARM_V_UP          = (1<<2),
+    ALARM_V_DOWN        = (1<<4),
+    ALARM_C_UP          = (1<<6), 
+    ALARM_W_UP          = (1<<8),
+    ALARM_P_UP          = (1<<10),
+};
+
+enum {
+    THR_V_UPPER=0,
+    THR_V_LOWER,
+    THR_C_UPPER, 
+    THR_P_UPPER,
+    THR_W_UPPER,
+    
+    THR_MAX,
+};
+
+
+
+//采集KB值
+typedef struct {
+    float   voltage_k;//电压K
+    float   voltage_b;//电压B
+    float   current_k;//电流K
+    float   current_b;//电流B
+}kb_val_t;
+
+
 
 int power_init(void);
 int power_deinit(void);
 int power_clear(void);
 
+int power_scan(int max_addr);
+int power_get_ch(int ch, power_ch_t *pch);
+int power_get_board(int addr, board_data_t *pb);
+
 #endif
 

+ 1 - 0
f407/applications/rtconfig.h

@@ -48,6 +48,7 @@
 #define RT_USING_HEAP
 #define RT_USING_MEMHEAP
 #define RT_USING_MEMHEAP_AS_HEAP
+#define RT_USING_MEMHEAP_AUTO_BINDING
 
 #define RT_USING_DEVICE
 #define RT_USING_CONSOLE

+ 0 - 32
f407/applications/ws.c

@@ -1,32 +0,0 @@
-#include "ws.h"
-#include "thread.h"
-#include "mongoose.h"
-
-
-static void *ws_thread(void *arg)
-{
-    thread_handle_t *th=(thread_handle_t*)arg;
-    
-    while(th->quit==0) {
-        
-        //msleep(100);
-    }
-    
-    pthread_exit(NULL);
-}
-
-
-int ws_init(void)
-{
-    return 0;
-}
-
-
-
-
-
-
-
-
-
-

+ 0 - 11
f407/applications/ws.h

@@ -1,11 +0,0 @@
-#ifndef __WS_Hx__
-#define __WS_Hx__
-
-int ws_init(void);
-
-
-
-
-
-#endif
-

+ 19 - 105
f407/project/app/app.uvoptx

@@ -117,6 +117,11 @@
         <pMon>Segger\JL2CM3.dll</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGUARM</Key>
+          <Name>d</Name>
+        </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>ARMRTXEVENTFLAGS</Key>
@@ -147,7 +152,7 @@
         <Bp>
           <Number>0</Number>
           <Type>0</Type>
-          <LineNumber>122</LineNumber>
+          <LineNumber>136</LineNumber>
           <EnabledFlag>1</EnabledFlag>
           <Address>0</Address>
           <ByteObject>0</ByteObject>
@@ -163,114 +168,18 @@
         <Bp>
           <Number>1</Number>
           <Type>0</Type>
-          <LineNumber>119</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-        <Bp>
-          <Number>2</Number>
-          <Type>0</Type>
-          <LineNumber>143</LineNumber>
+          <LineNumber>138</LineNumber>
           <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
+          <Address>134585612</Address>
           <ByteObject>0</ByteObject>
           <HtxType>0</HtxType>
           <ManyObjects>0</ManyObjects>
           <SizeOfObject>0</SizeOfObject>
           <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
+          <BreakIfRCount>1</BreakIfRCount>
           <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
           <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-        <Bp>
-          <Number>3</Number>
-          <Type>0</Type>
-          <LineNumber>140</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-        <Bp>
-          <Number>4</Number>
-          <Type>0</Type>
-          <LineNumber>145</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-        <Bp>
-          <Number>5</Number>
-          <Type>0</Type>
-          <LineNumber>142</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-        <Bp>
-          <Number>6</Number>
-          <Type>0</Type>
-          <LineNumber>141</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-        <Bp>
-          <Number>7</Number>
-          <Type>0</Type>
-          <LineNumber>144</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>&lt;1&gt;..\..\applications\main.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
+          <Expression>\\app\../../applications/main.c\138</Expression>
         </Bp>
       </Breakpoint>
       <WatchWindow1>
@@ -289,6 +198,11 @@
           <WinNumber>1</WinNumber>
           <ItemText>dev</ItemText>
         </Ww>
+        <Ww>
+          <count>3</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>p</ItemText>
+        </Ww>
       </WatchWindow1>
       <MemoryWindow1>
         <Mm>
@@ -576,7 +490,7 @@
 
   <Group>
     <GroupName>applications/ui</GroupName>
-    <tvExp>1</tvExp>
+    <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -704,7 +618,7 @@
 
   <Group>
     <GroupName>packages/mb</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -844,7 +758,7 @@
 
   <Group>
     <GroupName>packages/db</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -5456,7 +5370,7 @@
 
   <Group>
     <GroupName>rt-thread/comp/fal</GroupName>
-    <tvExp>1</tvExp>
+    <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>

+ 69 - 0
f407/project/app/app.uvprojx

@@ -593,6 +593,75 @@
         </Group>
         <Group>
           <GroupName>packages/db</GroupName>
+          <GroupOption>
+            <CommonProperty>
+              <UseCPPCompiler>0</UseCPPCompiler>
+              <RVCTCodeConst>0</RVCTCodeConst>
+              <RVCTZI>0</RVCTZI>
+              <RVCTOtherData>0</RVCTOtherData>
+              <ModuleSelection>0</ModuleSelection>
+              <IncludeInBuild>0</IncludeInBuild>
+              <AlwaysBuild>2</AlwaysBuild>
+              <GenerateAssemblyFile>2</GenerateAssemblyFile>
+              <AssembleAssemblyFile>2</AssembleAssemblyFile>
+              <PublicsOnly>2</PublicsOnly>
+              <StopOnExitCode>11</StopOnExitCode>
+              <CustomArgument></CustomArgument>
+              <IncludeLibraryModules></IncludeLibraryModules>
+              <ComprImg>1</ComprImg>
+            </CommonProperty>
+            <GroupArmAds>
+              <Cads>
+                <interw>2</interw>
+                <Optim>0</Optim>
+                <oTime>2</oTime>
+                <SplitLS>2</SplitLS>
+                <OneElfS>2</OneElfS>
+                <Strict>2</Strict>
+                <EnumInt>2</EnumInt>
+                <PlainCh>2</PlainCh>
+                <Ropi>2</Ropi>
+                <Rwpi>2</Rwpi>
+                <wLevel>0</wLevel>
+                <uThumb>2</uThumb>
+                <uSurpInc>2</uSurpInc>
+                <uC99>2</uC99>
+                <uGnu>2</uGnu>
+                <useXO>2</useXO>
+                <v6Lang>0</v6Lang>
+                <v6LangP>0</v6LangP>
+                <vShortEn>2</vShortEn>
+                <vShortWch>2</vShortWch>
+                <v6Lto>2</v6Lto>
+                <v6WtE>2</v6WtE>
+                <v6Rtti>2</v6Rtti>
+                <VariousControls>
+                  <MiscControls></MiscControls>
+                  <Define></Define>
+                  <Undefine></Undefine>
+                  <IncludePath></IncludePath>
+                </VariousControls>
+              </Cads>
+              <Aads>
+                <interw>2</interw>
+                <Ropi>2</Ropi>
+                <Rwpi>2</Rwpi>
+                <thumb>2</thumb>
+                <SplitLS>2</SplitLS>
+                <SwStkChk>2</SwStkChk>
+                <NoWarn>2</NoWarn>
+                <uSurpInc>2</uSurpInc>
+                <useXO>2</useXO>
+                <ClangAsOpt>0</ClangAsOpt>
+                <VariousControls>
+                  <MiscControls></MiscControls>
+                  <Define></Define>
+                  <Undefine></Undefine>
+                  <IncludePath></IncludePath>
+                </VariousControls>
+              </Aads>
+            </GroupArmAds>
+          </GroupOption>
           <Files>
             <File>
               <FileName>dbhelper.c</FileName>