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

1、控制板阈值单通道线电压无须修正,改回去
2、增加其它小改动

guohui 1 год назад
Родитель
Сommit
e47ac0e2b9
7 измененных файлов с 61 добавлено и 66 удалено
  1. 16 1
      pro/config/cfg.h
  2. 36 61
      pro/src/Cellular.c
  3. 1 1
      pro/src/Cellular.h
  4. 4 0
      pro/src/dflt.c
  5. 1 1
      pro/src/language_hashmap.c
  6. 2 2
      pro/src/switch_ctrl.c
  7. 1 0
      pro/src/sys.h

+ 16 - 1
pro/config/cfg.h

@@ -23,8 +23,10 @@
 //#define PRJ_SG_I3_O3
 //#define PRJ_TEST
 //#define PRJ_TEST_AC_I1_O1
-#define PRJ_ESOUTH_DC_I1_O4_RGB5
 //#define PRJ_TEST_AC_I3_O1
+#define PRJ_TEST_AC_I3_O3
+//#define PRJ_ESOUTH_DC_I1_O4_RGB5
+
 //#define PRJ_IP_AC_I3_O3
 //#define PRJ_INST2302_DC_OLED
 //#define PRJ_INST2106_AC_I1_O1_OLED
@@ -226,6 +228,19 @@
     #define CHANNEL_DELAY                       8
 
     #define PROD_POWER_TYPE                     5
+#elif defined PRJ_TEST_AC_I3_O3
+    #define LANGUAGE                            0           //chinese
+    #define SMPLE_TIME                          30          //ms
+    #define SAVE_TIME                           60000       //ms
+    #define CASCADE_CNT                         0
+
+    #define PHASE_GROUP                         8
+    #define CHANNEL_DELAY                       8
+
+    #define PROD_POWER_TYPE                     3
+
+    #define BRD_MAX                             2
+    #define MONWAY                              1
 #elif defined PRJ_IP_AC_I3_O3
     #define LANGUAGE                            0
     #define SMPLE_TIME                          30          //ms

+ 36 - 61
pro/src/Cellular.c

@@ -32,9 +32,8 @@
 
 
 //#define USE_CELL
+//#define GNSS_ENABLE               //EC200N-CN, 不支持gnss
 
-
-//EC200N-A cellular module
 #define RETRY_TIMES                 3
 #define BUF_LEN                     2000
 #define AT_PORT                     "/dev/ttyUSB1"
@@ -58,6 +57,7 @@
 #define MQTT_CHUNCK_SIZE            1500
 
 
+
 enum {
     AT_OK=0,
     AT_ERR,
@@ -318,7 +318,7 @@ static at_cmd_t all_cmd[AT_CMD_MAX]={
     {"AT+QISENDEX",     "OK",         "ERROR",       300},      //发送16进制字符串数据
     {"AT+QISWTMD",      "OK",         "ERROR",       300},      //切换数据访问模式
     {"AT+QNTP",         "OK",         "ERROR",       300},      //进行远程服务器Ping操作
-    {"AT+QPING",        "OK",         "ERROR",       300},      //使用NTP服务器同步本地时间
+    {"AT+QPING",        "+QPING",     "ERROR",       3000},     //使用NTP服务器同步本地时间
     {"AT+QIDNSCFG",     "OK",         "ERROR",       300},      //配置DNS服务器地址
     {"AT+QIDNSGIP",     "OK",         "ERROR",       300},      //用域名获取IP地址
     {"AT+QISDE",        "OK",         "ERROR",       300},      //控制是否回显AT+QISEND要发送的
@@ -360,6 +360,25 @@ static at_cmd_t all_cmd[AT_CMD_MAX]={
     {"AT+CCLK",         "OK",         "ERROR",       300},      //实时时钟
     {"AT+QSCLK",        "OK",         "ERROR",       300},      //禁用/启用睡眠模式  
 };
+at_para_t init_para[]={
+        {AT_CMD_AT,         ""},
+        {AT_CMD_ATE,        "0"},
+        {AT_CMD_CPIN,       "?"},
+        {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_CMGF,       "=1"},
+        {AT_CMD_CSCS,       "=GSM"},
+        
+#ifdef GNSS_ENABLE
+        {AT_CMD_QGPS,       "=1"},
+        {AT_CMD_QGPSCFG,    "=\"gnssconfig\",5"},
+        {AT_CMD_QGPSCFG,    "=\"gpsnmeatype\",1"},
+#endif
+        {-1,                ""},
+    };
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 static at_cmd_t* data_of(int cmd)
@@ -624,32 +643,25 @@ static int cell_reset(cell_handle_t *h)
 static int cell_init(cell_handle_t *h)
 {
     int i,r;
-    at_para_t paras[]={
-        {AT_CMD_AT,         ""},
-        {AT_CMD_ATE,        "0"},
-        {AT_CMD_CPIN,       "?"},
-        {AT_CMD_CREG,       "?"},
-        {AT_CMD_CGACT,      "?"},
-        {AT_CMD_CGDCONT,    "=1,\"IPV4V6\",\"cmnet\""},
-        {AT_CMD_QCFG,       "=\"usbnet\",1"},   //set module to ecm mode
-        {AT_CMD_CMGF,       "=1"},
-        {AT_CMD_CSCS,       "=GSM"},
-        //{AT_CMD_QGPS,       "=1"},
-        //{AT_CMD_QGPSCFG,    "=\"gnssconfig\",5"},
-        //{AT_CMD_QGPSCFG,    "=\"gpsnmeatype\",1"},
-        {-1,                ""},
-    };
+    at_para_t *p=init_para;
 
     if(h->stat==AT_STAT_INITED) {
         return 0;
     }
 
     for(i=0;; i++) {
-        if(paras[i].cmd==-1) {
+        if(p[i].cmd==-1) {
             break;
         }
 
-        r = send_cmd(h, paras[i].cmd, paras[i].para, NULL, 0);
+        if(p[i].cmd==AT_CMD_CGDCONT) {
+            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);
+        }
+
+        r = send_cmd(h, p[i].cmd, p[i].para, NULL, 0);
         if(r!=AT_OK) {
             break;
         }
@@ -657,8 +669,6 @@ static int cell_init(cell_handle_t *h)
 
     if(r==0) {
         h->stat = AT_STAT_INITED;
-
-        cell_sock_init(h);
         cell_get_info(h, &h->all.info);
     }
 
@@ -743,6 +753,7 @@ static int cell_get_gnss(cell_handle_t *h, cell_stat_t *stat)
     int r;
     char buf[200],utc[32],date[32];
 
+#ifdef GNSS_ENABLE
     if(h->stat==AT_STAT_UNINIT) {
         return -1;
     }
@@ -757,6 +768,7 @@ static int cell_get_gnss(cell_handle_t *h, cell_stat_t *stat)
         return -1;
     }
     //
+#endif
 
     return 0;
 }
@@ -823,41 +835,6 @@ static int cell_get_stat(cell_handle_t *h, cell_stat_t *stat)
 
     return 0;
 }
-static int cell_sock_init(cell_handle_t *h)
-{
-    int i,r;
-    at_para_t paras[]={
-        {AT_CMD_QICSGP,     "="CONTEXT_ID},
-        {AT_CMD_QIDEACT,    "="CONTEXT_ID},
-        {AT_CMD_QIACT,      "="CONTEXT_ID},
-        {-1,                ""},
-    };
-
-    if(h->stat==AT_STAT_UNINIT) {
-        return -1;
-    }
-
-    for(i=0;; i++) {
-        if(paras[i].cmd==-1) {
-            break;
-        }
-
-        r = send_cmd(h, paras[i].cmd, paras[i].para, NULL, 0);
-        if(r!=AT_OK) {
-            break;
-        }
-    }
-
-    return r?-1:0;
-}
-static int cell_sock_deinit(cell_handle_t *h)
-{
-    if(h->stat==AT_STAT_UNINIT) {
-        return -1;
-    }
-
-    return 0;
-}
 static int cell_sock_conn(cell_handle_t *h, int sock, char *host, uint16_t port, sock_conn_t *conn)
 {
     int r;
@@ -1177,9 +1154,6 @@ static void* cellular_thread(void *arg)
             if(cnt%5==0) {
                 cell_get_stat(h, &h->all.stat);
             }
-
-            //sprintf(rxbuf, "hello %d", cnt);
-            //cell_send_sms(h, "15228908007", rxbuf);
         }
         sleep(1);
     }
@@ -1218,6 +1192,7 @@ int cellular_init(void)
     h->lck = lock_d_init();
 
     thread_start(THREAD_ID_CELLULAR, cellular_thread, h);
+    while(1) sleep(10);
 #endif
 
     return 0;
@@ -1258,7 +1233,7 @@ int cellular_is_connected(void)
     cell_handle_t *h=&ceHandle;
 
 #ifdef USE_CELL
-    r = cell_sock_connected(h);
+    r = h->all.stat.linked;
 #endif
 
     return r;

+ 1 - 1
pro/src/Cellular.h

@@ -127,8 +127,8 @@ enum {
     AT_CMD_QIRD,                       //读取收到的TCP/IP数据
     AT_CMD_QISENDEX,                   //发送16进制字符串数据
     AT_CMD_QISWTMD,                    //切换数据访问模式
-    AT_CMD_QPING,                      //进行远程服务器Ping操作
     AT_CMD_QNTP,                       //使用NTP服务器同步本地时间
+    AT_CMD_QPING,                      //进行远程服务器Ping操作
     AT_CMD_QIDNSCFG,                   //配置DNS服务器地址
     AT_CMD_QIDNSGIP,                   //用域名获取IP地址
     AT_CMD_QISDE,                      //控制是否回显AT+QISEND要发送的

+ 4 - 0
pro/src/dflt.c

@@ -62,7 +62,11 @@ GlobalDeviceInfo DFLT_PARAS={
         },
 
         .webcfg = {
+        #ifdef MONWAY
+            .monway = MONWAY,
+        #else
             .monway = 2,
+        #endif
             .netsw  = 0,
             .nwire  = 0,
             .ipv4   = 1,

+ 1 - 1
pro/src/language_hashmap.c

@@ -44,7 +44,7 @@ int insert_Newhash(HashTable *table, const char *key, const char **value,int val
     unsigned int index = _hash(table,key);
     
     if(table->ptable[index]) {
-        LOGW("hash value is repeat, index: %d, ___%s___, ___%s___\n", index, table->ptable[index]->key, key);
+        //LOGW("hash value is repeat, index: %d, ___%s___, ___%s___\n", index, table->ptable[index]->key, key);
         return HASH_REPEAT;
     }
 

+ 2 - 2
pro/src/switch_ctrl.c

@@ -1967,7 +1967,7 @@ int g_switch_set_t_ac_max_vol_threshold(void* manger,int saddr,char chn,GlobalOv
     memset(data_temp,0,sizeof(data_temp));
     unsigned int value = 0;    
     offset = _SWITCH_T_AC_MAX_VOL_THRESHOLD + chn;
-    value = _global_over_manager->product_vol_upper_threshold * 1000 * sqrt(3);
+    value = _global_over_manager->product_vol_upper_threshold * 1000;
     data_temp[0] = value & 0XFFFF;
     data_temp[1] = (value >> 16) & 0xFFFF; 
     return g_modbus_write_x_reg(manger,saddr,offset,2, data_temp);
@@ -1979,7 +1979,7 @@ int g_switch_set_t_ac_min_vol_threshold(void* manger,int saddr,char chn,GlobalOv
     memset(data_temp,0,sizeof(data_temp));
     unsigned int value = 0;    
     offset = _SWITCH_T_AC_MIN_VOL_THRESHOLD + chn;
-    value = _global_over_manager->product_vol_lower_threshold * 1000 * sqrt(3);
+    value = _global_over_manager->product_vol_lower_threshold * 1000;
     data_temp[0] = value & 0XFFFF;
     data_temp[1] = (value >> 16) & 0xFFFF; 
     return g_modbus_write_x_reg(manger,saddr,offset,2, data_temp);

+ 1 - 0
pro/src/sys.h

@@ -40,6 +40,7 @@ int sys_set_net(NetworkInfo_t *para, int ipVersion);
 int sys_bind_nic(int nic, int fd);
 int sys_nic_connected(int nic, int timeout);
 const char *sys_get_ifname(int nic);
+int sys_route(int nic, char *gateway);
 
 int sys_get_mac(char *mac, int maclen);
 int sys_get_chip_id(int *id);