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

添加控制板升级的配置

guohui 1 год назад
Родитель
Сommit
50f8368510
6 измененных файлов с 114 добавлено и 61 удалено
  1. 3 3
      pro/config/cfg.h
  2. 5 3
      pro/src/Cellular.c
  3. 3 0
      pro/src/common.h
  4. 8 0
      pro/src/dflt.c
  5. 56 55
      pro/src/json_handle.c
  6. 39 0
      pro/src/paras.c

+ 3 - 3
pro/config/cfg.h

@@ -24,8 +24,8 @@
 //#define PRJ_TEST
 //#define PRJ_TEST_AC_I1_O1
 //#define PRJ_TEST_AC_I3_O1
-#define PRJ_TEST_AC_I3_O3
-//#define PRJ_ESOUTH_DC_I1_O4_RGB5
+//#define PRJ_TEST_AC_I3_O3
+#define PRJ_ESOUTH_DC_I1_O4_RGB5
 
 //#define PRJ_IP_AC_I3_O3
 //#define PRJ_INST2302_DC_OLED
@@ -49,7 +49,7 @@
 
 //#define USE_CELL
 //#define USE_WIFI
-//#define USE_BOARD_UPGRADE
+#define USE_BOARD_UPGRADE
 
 
 #if (CHIP_TYPE == CHIP_T113s)

+ 5 - 3
pro/src/Cellular.c

@@ -367,8 +367,10 @@ at_para_t init_para[]={
         {AT_CMD_CREG,       "?"},
         //{AT_CMD_QIDEACT,    "="CONTEXT_ID},
         {AT_CMD_QIACT,      "="CONTEXT_ID},
-        {AT_CMD_CGDCONT,    "="CONTEXT_ID",\"IPV4V6\",\"cmnet\""},
-        {AT_CMD_QCFG,       "=\"usbnet\",3"},   //set module to rndis mode
+        {AT_CMD_CGDCONT,    ""},
+        {AT_CMD_QICSGP,     ""},
+        {AT_CMD_QCFG,       "=\"usbnet\",1"},   //set module to ecm mode
+        {AT_CMD_QNETDEVCTL, "=3,"CONTEXT_ID",0"},
         {AT_CMD_CMGF,       "=1"},
         {AT_CMD_CSCS,       "=GSM"},
         
@@ -658,7 +660,7 @@ static int cell_init(cell_handle_t *h)
             sprintf(p[i].para, "=%s,\"IPV4V6\",\"%s\"", CONTEXT_ID, h->pcell->apn);
         }
         else if(p[i].cmd==AT_CMD_QICSGP) {
-            sprintf(p[i].para, "=%s,3,\"%s\"", CONTEXT_ID, h->pcell->apn);
+            sprintf(p[i].para, "=%s,3,\"%s\",\"%s\",\"%s\"", CONTEXT_ID, h->pcell->apn,h->pcell->username,h->pcell->password);
         }
 
         r = send_cmd(h, p[i].cmd, p[i].para, NULL, 0);

+ 3 - 0
pro/src/common.h

@@ -376,6 +376,7 @@ typedef struct {
     int         nwire;
     int         ipv4;
     int         ipv6;
+    int         brdupg;
 }WebcfgInfo_t;
 
 typedef struct {
@@ -389,6 +390,8 @@ typedef struct {
 typedef struct {
     int         mode;
     char        apn[32];
+    char        username[32];
+    char        password[32];
 }CellInfo_t;
 
 

+ 8 - 0
pro/src/dflt.c

@@ -71,6 +71,12 @@ GlobalDeviceInfo DFLT_PARAS={
             .nwire  = 0,
             .ipv4   = 1,
             .ipv6   = 1,
+
+        #ifdef USE_BOARD_UPGRADE
+            .brdupg = 1,
+        #else
+            .brdupg = 0,
+        #endif
         },
 
         .misc = {
@@ -109,6 +115,8 @@ GlobalDeviceInfo DFLT_PARAS={
         .cell = {
             .mode = 0,
             .apn  = "cmnet",
+            .username = "",
+            .password = "",
         },
 
         .wifi = {

+ 56 - 55
pro/src/json_handle.c

@@ -289,11 +289,12 @@ char* user_routers_info_to_json(void)
 {
     char *str=NULL;
     cJSON *tmp,*tmp1,*tmp2,*tmp3;
+    GlobalDeviceManager *dm=&__globalDeviceManage;
 
     // 创建 JSON 对象
     cJSON* root = cJSON_CreateObject();   
     //添加结果
-    cJSON_AddStringToObject(root, "msg", language_Operation_Success[__globalDeviceManage._globalDevInfo.product.language]);        
+    cJSON_AddStringToObject(root, "msg", language_Operation_Success[dm->_globalDevInfo.product.language]);        
     // 添加基本键值对
     cJSON_AddNumberToObject(root, "code", 200); 
     //data区
@@ -309,7 +310,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(data1_filed,"alwaysShow",true);  
     //meta 
     cJSON* meta_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data1_filed,"title",language_power_monitor[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data1_filed,"title",language_power_monitor[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data1_filed,"icon","monitor");   
     cJSON_AddBoolToObject(meta_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data1_filed,"link","");     
@@ -322,7 +323,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children1_data1_filed,"hidden",false); 
     cJSON_AddStringToObject(children1_data1_filed,"component","power/monitorall/index");  
     cJSON* children1_meta1_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children1_meta1_data1_filed,"title",language_power_sts_monitor[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children1_meta1_data1_filed,"title",language_power_sts_monitor[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children1_meta1_data1_filed,"icon","monitor");   
     cJSON_AddBoolToObject(children1_meta1_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children1_meta1_data1_filed,"link","");    
@@ -334,7 +335,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children1_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children1_data2_filed,"component","power/channelstatus/index");  
     cJSON* children1_meta1_data2_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children1_meta1_data2_filed,"title",language_power_channel_sts_monitor[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children1_meta1_data2_filed,"title",language_power_channel_sts_monitor[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children1_meta1_data2_filed,"icon","server");   
     cJSON_AddBoolToObject(children1_meta1_data2_filed,"noCache",false); 
     cJSON_AddStringToObject(children1_meta1_data2_filed,"link","");    
@@ -347,7 +348,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children1_data2_1_filed,"hidden",false); 
     cJSON_AddStringToObject(children1_data2_1_filed,"component","power/switchtatus/index");  
     cJSON* children1_meta1_data2_1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children1_meta1_data2_1_filed,"title",language_power_switch_sts_monitor[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children1_meta1_data2_1_filed,"title",language_power_switch_sts_monitor[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children1_meta1_data2_1_filed,"icon","switch");   
     cJSON_AddBoolToObject(children1_meta1_data2_1_filed,"noCache",false); 
     cJSON_AddStringToObject(children1_meta1_data2_1_filed,"link","");    
@@ -360,7 +361,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children1_data3_filed,"hidden",false); 
     cJSON_AddStringToObject(children1_data3_filed,"component","power/monitorhistory/index");  
     cJSON* children1_meta1_data3_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children1_meta1_data3_filed,"title",language_power_history_search[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children1_meta1_data3_filed,"title",language_power_history_search[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children1_meta1_data3_filed,"icon","chart");   
     cJSON_AddBoolToObject(children1_meta1_data3_filed,"noCache",false); 
     cJSON_AddStringToObject(children1_meta1_data3_filed,"link","");    
@@ -378,7 +379,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddStringToObject(data2_filed,"component","Layout");
     cJSON_AddBoolToObject(data2_filed,"alwaysShow",true);  
     cJSON* meta_data2_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data2_filed,"title",language_sensor_monitoring[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data2_filed,"title",language_sensor_monitoring[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data2_filed,"icon","slider");   
     cJSON_AddBoolToObject(meta_data2_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data2_filed,"link","");     
@@ -391,7 +392,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children2_data1_filed,"hidden",false); 
     cJSON_AddStringToObject(children2_data1_filed,"component","sensor/sensorStatus/index");  
     cJSON* children2_meta1_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children2_meta1_data1_filed,"title",language_sensor_status_monitoring[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children2_meta1_data1_filed,"title",language_sensor_status_monitoring[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children2_meta1_data1_filed,"icon","monitor");   
     cJSON_AddBoolToObject(children2_meta1_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children2_meta1_data1_filed,"link","");    
@@ -403,7 +404,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children2_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children2_data2_filed,"component","sensor/sensorHistory/index");  
     cJSON* children2_meta2_data2_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children2_meta2_data2_filed,"title",language_sensor_history_search[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children2_meta2_data2_filed,"title",language_sensor_history_search[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children2_meta2_data2_filed,"icon","chart");   
     cJSON_AddBoolToObject(children2_meta2_data2_filed,"noCache",false); 
     cJSON_AddStringToObject(children2_meta2_data2_filed,"link","");    
@@ -421,7 +422,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddStringToObject(data3_filed,"component","Layout");
     cJSON_AddBoolToObject(data3_filed,"alwaysShow",true);  
     cJSON* meta_data3_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data3_filed,"title",language_Alarm_protection[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data3_filed,"title",language_Alarm_protection[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data3_filed,"icon","bug");   
     cJSON_AddBoolToObject(meta_data3_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data3_filed,"link","");     
@@ -434,7 +435,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children3_data1_filed,"hidden",false); 
     cJSON_AddStringToObject(children3_data1_filed,"component","jgbh/xtjg/index");  
     cJSON* children3_meta1_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children3_meta1_data1_filed,"title",language_Alarm_System[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children3_meta1_data1_filed,"title",language_Alarm_System[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children3_meta1_data1_filed,"icon","list");   
     cJSON_AddBoolToObject(children3_meta1_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children3_meta1_data1_filed,"link","");    
@@ -446,7 +447,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children3_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children3_data2_filed,"component","jgbh/fzsz/index");  
     cJSON* children3_meta2_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children3_meta2_data1_filed,"title",language_Alarm_Threshold_rule[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children3_meta2_data1_filed,"title",language_Alarm_Threshold_rule[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children3_meta2_data1_filed,"icon","build");   
     cJSON_AddBoolToObject(children3_meta2_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children3_meta2_data1_filed,"link","");    
@@ -465,7 +466,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddStringToObject(data4_filed,"component","Layout");
     cJSON_AddBoolToObject(data4_filed,"alwaysShow",true);  
     cJSON* meta_data4_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data4_filed,"title",language_log_information[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data4_filed,"title",language_log_information[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data4_filed,"icon","log");   
     cJSON_AddBoolToObject(meta_data4_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data4_filed,"link","");     
@@ -478,7 +479,7 @@ char* user_routers_info_to_json(void)
    // cJSON_AddBoolToObject(children4_data1_filed,"hidden",false); 
    // cJSON_AddStringToObject(children4_data1_filed,"component","rzxx/gjrz/index");  
    // cJSON* children4_meta1_data1_filed = cJSON_CreateObject(); 
-   // cJSON_AddStringToObject(children4_meta1_data1_filed,"title",language_log_Alarm[__globalDeviceManage._globalDevInfo.product.language]);   
+   // cJSON_AddStringToObject(children4_meta1_data1_filed,"title",language_log_Alarm[dm->_globalDevInfo.product.language]);   
    // cJSON_AddStringToObject(children4_meta1_data1_filed,"icon","#");   
    // cJSON_AddBoolToObject(children4_meta1_data1_filed,"noCache",false); 
    // cJSON_AddStringToObject(children4_meta1_data1_filed,"link","");    
@@ -490,7 +491,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children4_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children4_data2_filed,"component","rzxx/czrz/index");  
     cJSON* children4_meta2_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children4_meta2_data1_filed,"title",language_log_operation[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children4_meta2_data1_filed,"title",language_log_operation[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children4_meta2_data1_filed,"icon","chart");   
     cJSON_AddBoolToObject(children4_meta2_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children4_meta2_data1_filed,"link","");    
@@ -502,7 +503,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children4_data3_filed,"hidden",false); 
     cJSON_AddStringToObject(children4_data3_filed,"component","rzxx/yxrz/index");  
     cJSON* children4_meta3_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children4_meta3_data1_filed,"title",language_log_running[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children4_meta3_data1_filed,"title",language_log_running[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children4_meta3_data1_filed,"icon","documentation");   
     cJSON_AddBoolToObject(children4_meta3_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children4_meta3_data1_filed,"link","");    
@@ -521,7 +522,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(data_filed,"alwaysShow",true);    
     //meta
     cJSON* meta_data_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data_filed,"title",language_user_manage[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data_filed,"title",language_user_manage[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data_filed,"icon","system");   
     cJSON_AddBoolToObject(meta_data_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data_filed,"link","");     
@@ -534,7 +535,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children_data_filed,"hidden",false); 
     cJSON_AddStringToObject(children_data_filed,"component","system/user/index");  
     cJSON* children_meta_data_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children_meta_data_filed,"title",language_user_manage[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children_meta_data_filed,"title",language_user_manage[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children_meta_data_filed,"icon","user");   
     cJSON_AddBoolToObject(children_meta_data_filed,"noCache",false); 
     cJSON_AddStringToObject(children_meta_data_filed,"link","");    
@@ -546,7 +547,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children1_data_filed,"hidden",false); 
     cJSON_AddStringToObject(children1_data_filed,"component","system/role/index");  
     cJSON* children_meta1_data_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children_meta1_data_filed,"title",language_role_manage[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children_meta1_data_filed,"title",language_role_manage[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children_meta1_data_filed,"icon","peoples");   
     cJSON_AddBoolToObject(children_meta1_data_filed,"noCache",false); 
     cJSON_AddStringToObject(children_meta1_data_filed,"link","");    
@@ -558,7 +559,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children2_data_filed,"hidden",false); 
     cJSON_AddStringToObject(children2_data_filed,"component","system/menu/index");  
     cJSON* children_meta2_data_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children_meta2_data_filed,"title",language_menu_manage[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children_meta2_data_filed,"title",language_menu_manage[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children_meta2_data_filed,"icon","tree-table");   
     cJSON_AddBoolToObject(children_meta2_data_filed,"noCache",false); 
     cJSON_AddStringToObject(children_meta2_data_filed,"link","");    
@@ -576,7 +577,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddStringToObject(data5_filed,"component","Layout");
     cJSON_AddBoolToObject(data5_filed,"alwaysShow",true);  
     cJSON* meta_data5_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data5_filed,"title",language_communication_management[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data5_filed,"title",language_communication_management[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data5_filed,"icon","message");   
     cJSON_AddBoolToObject(meta_data5_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data5_filed,"link","");     
@@ -589,7 +590,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children5_data1_filed,"hidden",false); 
     cJSON_AddStringToObject(children5_data1_filed,"component","txgl/wksz/index");  
     cJSON* children5_meta1_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children5_meta1_data1_filed,"title",language_net_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children5_meta1_data1_filed,"title",language_net_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children5_meta1_data1_filed,"icon","input");   
     cJSON_AddBoolToObject(children5_meta1_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children5_meta1_data1_filed,"link","");    
@@ -601,7 +602,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children5_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children5_data2_filed,"component","txgl/rssz/index");  
     cJSON* children5_meta2_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children5_meta2_data1_filed,"title",language_RS485_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children5_meta2_data1_filed,"title",language_RS485_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children5_meta2_data1_filed,"icon","build");   
     cJSON_AddBoolToObject(children5_meta2_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children5_meta2_data1_filed,"link","");    
@@ -613,7 +614,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children5_data3_filed,"hidden",false); 
     cJSON_AddStringToObject(children5_data3_filed,"component","txgl/fourgsz/index");  
     cJSON* children5_meta3_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children5_meta3_data1_filed,"title",language_4G_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children5_meta3_data1_filed,"title",language_4G_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children5_meta3_data1_filed,"icon","build");   
     cJSON_AddBoolToObject(children5_meta3_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children5_meta3_data1_filed,"link","");    
@@ -625,7 +626,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children5_data4_filed,"hidden",false); 
     cJSON_AddStringToObject(children5_data4_filed,"component","txgl/wifisz/index");  
     cJSON* children5_meta4_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children5_meta4_data1_filed,"title",language_WIFI_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children5_meta4_data1_filed,"title",language_WIFI_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children5_meta4_data1_filed,"icon","build");   
     cJSON_AddBoolToObject(children5_meta4_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children5_meta4_data1_filed,"link","");    
@@ -643,7 +644,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddStringToObject(data6_filed,"component","Layout");
     cJSON_AddBoolToObject(data6_filed,"alwaysShow",true);  
     cJSON* meta_data6_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data6_filed,"title",language_serve_manage[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data6_filed,"title",language_serve_manage[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data6_filed,"icon","server");   
     cJSON_AddBoolToObject(meta_data6_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data6_filed,"link","");     
@@ -656,7 +657,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data1_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data1_filed,"component","fwgl/smtpsz/index");  
     cJSON* children6_meta1_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta1_data1_filed,"title",language_SMTP_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta1_data1_filed,"title",language_SMTP_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta1_data1_filed,"icon","edit");   
     cJSON_AddBoolToObject(children6_meta1_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta1_data1_filed,"link","");    
@@ -668,7 +669,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data2_filed,"component","fwgl/snmpsz/index");  
     cJSON* children6_meta2_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta2_data1_filed,"title",language_SNMP_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta2_data1_filed,"title",language_SNMP_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta2_data1_filed,"icon","date-range");   
     cJSON_AddBoolToObject(children6_meta2_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta2_data1_filed,"link","");    
@@ -680,7 +681,7 @@ char* user_routers_info_to_json(void)
    // cJSON_AddBoolToObject(children6_data3_filed,"hidden",false); 
    // cJSON_AddStringToObject(children6_data3_filed,"component","fwgl/stsz/index");  
    // cJSON* children6_meta3_data1_filed = cJSON_CreateObject(); 
-   // cJSON_AddStringToObject(children6_meta3_data1_filed,"title",language_SNMP_TRAP_install[__globalDeviceManage._globalDevInfo.product.language]);   
+   // cJSON_AddStringToObject(children6_meta3_data1_filed,"title",language_SNMP_TRAP_install[dm->_globalDevInfo.product.language]);   
    // cJSON_AddStringToObject(children6_meta3_data1_filed,"icon","#");   
    // cJSON_AddBoolToObject(children6_meta3_data1_filed,"noCache",false); 
    // cJSON_AddStringToObject(children6_meta3_data1_filed,"link","");    
@@ -692,7 +693,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data4_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data4_filed,"component","fwgl/mqsz/index");  
     cJSON* children6_meta4_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta4_data1_filed,"title",language_MQTT_iot_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta4_data1_filed,"title",language_MQTT_iot_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta4_data1_filed,"icon","dashboard");   
     cJSON_AddBoolToObject(children6_meta4_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta4_data1_filed,"link","");    
@@ -704,7 +705,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data5_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data5_filed,"component","fwgl/ntpsz/index");  
     cJSON* children6_meta5_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta5_data1_filed,"title",language_NTP_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta5_data1_filed,"title",language_NTP_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta5_data1_filed,"icon","date-range");   
     cJSON_AddBoolToObject(children6_meta5_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta5_data1_filed,"link","");    
@@ -716,7 +717,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data6_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data6_filed,"component","fwgl/dssz/index");  
     cJSON* children6_meta6_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta6_data1_filed,"title",language_Timing_install[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta6_data1_filed,"title",language_Timing_install[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta6_data1_filed,"icon","date");   
     cJSON_AddBoolToObject(children6_meta6_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta6_data1_filed,"link","");    
@@ -728,7 +729,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data7_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data7_filed,"component","fwgl/sxsz/index");  
     cJSON* children6_meta7_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta7_data1_filed,"title",language_Sequential_setting[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta7_data1_filed,"title",language_Sequential_setting[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta7_data1_filed,"icon","drag");   
     cJSON_AddBoolToObject(children6_meta7_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta7_data1_filed,"link","");    
@@ -740,7 +741,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children6_data8_filed,"hidden",false); 
     cJSON_AddStringToObject(children6_data8_filed,"component","fwgl/fzsz/index");  
     cJSON* children6_meta8_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children6_meta8_data1_filed,"title",language_Group_setting[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children6_meta8_data1_filed,"title",language_Group_setting[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children6_meta8_data1_filed,"icon","education");   
     cJSON_AddBoolToObject(children6_meta8_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children6_meta8_data1_filed,"link","");    
@@ -761,7 +762,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddStringToObject(data7_filed,"component","Layout");
     cJSON_AddBoolToObject(data7_filed,"alwaysShow",true);  
     cJSON* meta_data7_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(meta_data7_filed,"title",language_maintenance_equipment[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(meta_data7_filed,"title",language_maintenance_equipment[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(meta_data7_filed,"icon","upload");   
     cJSON_AddBoolToObject(meta_data7_filed,"noCache",false); 
     cJSON_AddStringToObject(meta_data7_filed,"link","");     
@@ -774,7 +775,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children7_data1_filed,"hidden",false); 
     cJSON_AddStringToObject(children7_data1_filed,"component","sbwh/sbcq/index");  
     cJSON* children7_meta1_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children7_meta1_data1_filed,"title",language_Device_restart[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children7_meta1_data1_filed,"title",language_Device_restart[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children7_meta1_data1_filed,"icon","button");   
     cJSON_AddBoolToObject(children7_meta1_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children7_meta1_data1_filed,"link","");    
@@ -787,7 +788,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children7_data2_filed,"hidden",false); 
     cJSON_AddStringToObject(children7_data2_filed,"component","sbwh/gjsj/index");  
     cJSON* children7_meta2_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children7_meta2_data1_filed,"title",language_firmware_upgrade[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children7_meta2_data1_filed,"title",language_firmware_upgrade[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children7_meta2_data1_filed,"icon","redis-list");   
     cJSON_AddBoolToObject(children7_meta2_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children7_meta2_data1_filed,"link","");    
@@ -795,20 +796,20 @@ char* user_routers_info_to_json(void)
     if(_GlobalMenuAuthority.GjsjEnabled)cJSON_AddItemToObject(children7_data_array, "children", children7_data2_filed);
 #endif
 
-#ifdef USE_BOARD_UPGRADE
-    tmp = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(tmp,"name","Kzbsj");    
-    cJSON_AddStringToObject(tmp,"path","kzbsj");  
-    cJSON_AddBoolToObject(tmp,"hidden",false); 
-    cJSON_AddStringToObject(tmp,"component","sbwh/kzbsj/index");  
-    tmp1 = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(tmp1,"title",language_ctrlboard_upgrade[__globalDeviceManage._globalDevInfo.product.language]);   
-    cJSON_AddStringToObject(tmp1,"icon","redis-list");   
-    cJSON_AddBoolToObject(tmp1,"noCache",false); 
-    cJSON_AddStringToObject(tmp1,"link","");    
-    cJSON_AddItemToObject(tmp, "meta", tmp1);
-    if(_GlobalMenuAuthority.KzbsjEnabled)cJSON_AddItemToObject(children7_data_array, "children", tmp);
-#endif
+    if(dm->_globalDevInfo.webcfg.brdupg) {
+        tmp = cJSON_CreateObject(); 
+        cJSON_AddStringToObject(tmp,"name","Kzbsj");    
+        cJSON_AddStringToObject(tmp,"path","kzbsj");  
+        cJSON_AddBoolToObject(tmp,"hidden",false); 
+        cJSON_AddStringToObject(tmp,"component","sbwh/kzbsj/index");  
+        tmp1 = cJSON_CreateObject(); 
+        cJSON_AddStringToObject(tmp1,"title",language_ctrlboard_upgrade[dm->_globalDevInfo.product.language]);   
+        cJSON_AddStringToObject(tmp1,"icon","redis-list");   
+        cJSON_AddBoolToObject(tmp1,"noCache",false); 
+        cJSON_AddStringToObject(tmp1,"link","");    
+        cJSON_AddItemToObject(tmp, "meta", tmp1);
+        if(_GlobalMenuAuthority.KzbsjEnabled)cJSON_AddItemToObject(children7_data_array, "children", tmp);
+    }
 
     cJSON* children7_data3_filed = cJSON_CreateObject(); 
     cJSON_AddStringToObject(children7_data3_filed,"name","Hhccsz");    
@@ -816,7 +817,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children7_data3_filed,"hidden",false); 
     cJSON_AddStringToObject(children7_data3_filed,"component","sbwh/hhccsz/index");  
     cJSON* children7_meta3_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children7_meta3_data1_filed,"title",language_back_factor_upgrade[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children7_meta3_data1_filed,"title",language_back_factor_upgrade[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children7_meta3_data1_filed,"icon","server");   
     cJSON_AddBoolToObject(children7_meta3_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children7_meta3_data1_filed,"link","");    
@@ -829,7 +830,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children7_data4_filed,"hidden",false); 
     cJSON_AddStringToObject(children7_data4_filed,"component","sbwh/pzdrdc/index");  
     cJSON* children7_meta4_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children7_meta4_data1_filed,"title",language_Configure_inport_export[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children7_meta4_data1_filed,"title",language_Configure_inport_export[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children7_meta4_data1_filed,"icon","upload");   
     cJSON_AddBoolToObject(children7_meta4_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children7_meta4_data1_filed,"link","");    
@@ -842,7 +843,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children7_data5_filed,"hidden",false); 
     cJSON_AddStringToObject(children7_data5_filed,"component","sbwh/shfw/index");  
     cJSON* children7_meta5_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children7_meta5_data1_filed,"title",language_after_sales_service[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children7_meta5_data1_filed,"title",language_after_sales_service[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children7_meta5_data1_filed,"icon","peoples");   
     cJSON_AddBoolToObject(children7_meta5_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children7_meta5_data1_filed,"link","");    
@@ -855,7 +856,7 @@ char* user_routers_info_to_json(void)
     cJSON_AddBoolToObject(children7_data6_filed,"hidden",false); 
     cJSON_AddStringToObject(children7_data6_filed,"component","sbwh/gysb/index");  
     cJSON* children7_meta6_data1_filed = cJSON_CreateObject(); 
-    cJSON_AddStringToObject(children7_meta6_data1_filed,"title",language_about_Equipment[__globalDeviceManage._globalDevInfo.product.language]);   
+    cJSON_AddStringToObject(children7_meta6_data1_filed,"title",language_about_Equipment[dm->_globalDevInfo.product.language]);   
     cJSON_AddStringToObject(children7_meta6_data1_filed,"icon","table");   
     cJSON_AddBoolToObject(children7_meta6_data1_filed,"noCache",false); 
     cJSON_AddStringToObject(children7_meta6_data1_filed,"link","");    

+ 39 - 0
pro/src/paras.c

@@ -1023,6 +1023,42 @@ static int proc_cellular(dictionary *dic, int op, CellInfo_t *cell)
         }
     }
 
+    token = "cellular:username";
+    if(op==PARAS_READ) {
+        p = (char*)iniparser_getstring(dic, token, NULL);
+        if(!p) {
+            LOGE("___ iniparser_getstring %s failed\n", token);
+            return -1;
+        } else {
+            strcpy(cell->username, p);
+        }
+    }
+    else {
+        r = iniparser_set(dic, token, cell->username);
+        if(r) {
+            LOGE("___ iniparser_set %s failed\n", token);
+            return -1;
+        }
+    }
+
+    token = "cellular:password";
+    if(op==PARAS_READ) {
+        p = (char*)iniparser_getstring(dic, token, NULL);
+        if(!p) {
+            LOGE("___ iniparser_getstring %s failed\n", token);
+            return -1;
+        } else {
+            strcpy(cell->password, p);
+        }
+    }
+    else {
+        r = iniparser_set(dic, token, cell->password);
+        if(r) {
+            LOGE("___ iniparser_set %s failed\n", token);
+            return -1;
+        }
+    }
+
     r = 0;
     if(op==PARAS_READ) {
         r = proc_cellular(dic, PARAS_CHECK, cell);
@@ -3563,6 +3599,7 @@ static int ini_reset(paras_handle_t *h)
     fprintf(fp, "nwire       = \"%d\"\n", info->webcfg.nwire);
     fprintf(fp, "ipv4        = \"%d\"\n", info->webcfg.ipv4);
     fprintf(fp, "ipv6        = \"%d\"\n", info->webcfg.ipv6);
+    fprintf(fp, "brdupg      = \"%d\"\n", info->webcfg.brdupg);
     fprintf(fp, "\n");
 
     fprintf(fp, "[misc]\n");
@@ -3576,6 +3613,8 @@ static int ini_reset(paras_handle_t *h)
     fprintf(fp, "[cellular]\n");
     fprintf(fp, "mode        = \"%d\"\n", info->cell.mode);
     fprintf(fp, "apn         = \"%s\"\n", info->cell.apn);
+    fprintf(fp, "username    = \"%s\"\n", info->cell.username);
+    fprintf(fp, "password    = \"%s\"\n", info->cell.password);
     fprintf(fp, "\n");
     
     fprintf(fp, "[wifi]\n");