diff --git a/applications/user_sys.h b/applications/user_sys.h index 80e49f9..84927c5 100644 --- a/applications/user_sys.h +++ b/applications/user_sys.h @@ -19,7 +19,7 @@ #define SYS_HW_VERSION (0X13U) -#define SYS_SW_VERSION (0X12U) +#define SYS_SW_VERSION (0X14U) #define SYS_IOT_UPLOAD_CYCLE_MIN (0X003CU) // 高位在后,低位在前 #define SYS_IOT_RETRY (0X03U) #define SYS_TEMP_ALARM_THRESHOLD (0X32U) diff --git a/bsp/src/at_device_ml307.c b/bsp/src/at_device_ml307.c index ab68f8d..370cc6e 100644 --- a/bsp/src/at_device_ml307.c +++ b/bsp/src/at_device_ml307.c @@ -345,6 +345,8 @@ static int at_device_ml307_connect_tcp(struct at_device *device) int at_send_data(struct at_device *device, const char *data, rt_size_t send_len) { + size_t len = 0, error_code; + #define ML307_SEND_RESP_TIME (5000) at_response_t resp = at_create_resp(AT_CLIENT_RECV_BUFF_LEN, 0, ML307_SEND_RESP_TIME); @@ -356,7 +358,7 @@ int at_send_data(struct at_device *device, const char *data, rt_size_t send_len) } if (at_obj_exec_cmd(device->client, resp, TCP_SEND_DATA, socket_id, send_len, data) == RT_EOK) { - size_t len = 0; + if (at_resp_parse_line_args_by_kw(resp, "+MIPSEND:", "+MIPSEND:%*d,%d", &len) > 0) { if (len == send_len) @@ -367,6 +369,11 @@ int at_send_data(struct at_device *device, const char *data, rt_size_t send_len) } } } + else if (at_resp_parse_line_args_by_kw(resp, "+CME ERROR:", "+CME ERROR: %d", &error_code) > 0) + { + ml307_conncet_tcp_flag = 0; + LOG_E("send data fail error_code: %d", error_code); + } at_delete_resp(resp); return -RT_ERROR; } diff --git a/bsp/src/bsp_button.c b/bsp/src/bsp_button.c index 7d74201..a92c697 100644 --- a/bsp/src/bsp_button.c +++ b/bsp/src/bsp_button.c @@ -94,7 +94,8 @@ static void _CommonBtnEvtCb (void *arg) // } // button_cnt++; } - else if ((flex_button_event_read(&user_button[USER_BUTTON_1]) == FLEX_BTN_PRESS_LONG_HOLD)&&(flex_button_event_read(&user_button[USER_BUTTON_0]) == FLEX_BTN_PRESS_DOUBLE_CLICK)) + else if ((flex_button_event_read(&user_button[USER_BUTTON_1]) == FLEX_BTN_PRESS_LONG_HOLD) + &&(flex_button_event_read(&user_button[USER_BUTTON_0]) == FLEX_BTN_PRESS_DOUBLE_CLICK)) { LOG_I("本地清除阀门信息"); rt_uint8_t mac_addr[6] = {0}; diff --git a/bsp/src/bsp_flash.c b/bsp/src/bsp_flash.c index e28649f..62530a2 100644 --- a/bsp/src/bsp_flash.c +++ b/bsp/src/bsp_flash.c @@ -904,7 +904,7 @@ int BSP_Flash_Init (void) Flash_SetProductTimeLimit (2025, 2, 10, 13, 50, 20, kFactoryTimeId); Set_ExpirationTime (MAX_EXPIRATION_DAYS); - Flash_Set_Calibration_State(kSysGasCalibStatus); // 标定状态 + Flash_Set_Calibration_State(kNotCalibrated); // 标定状态 Flash_Set_Valve_Num(0); sci.hw_ver = SYS_HW_VERSION; sci.sw_ver = SYS_SW_VERSION; diff --git a/bsp/src/bsp_ml307.c b/bsp/src/bsp_ml307.c index 0d48baa..c24984d 100644 --- a/bsp/src/bsp_ml307.c +++ b/bsp/src/bsp_ml307.c @@ -26,7 +26,7 @@ #if IOT_MODULE_SWITCH == 1 #define ML307_THREAD_STACK_SIZE (4096 + 2048) #define ML307_RECV_THREAD_STACK_SIZE (4096 + 2048) -#define ML307_LIFE_THREAD_STACK_SIZE (4096) +#define ML307_LIFE_THREAD_STACK_SIZE (4096+1024) #define ML307_THREAD_PRIORITY 25 #define ML307_THREAD_TICKS 50 #define ML307_RECV_THREAD_PRIORITY 24 @@ -984,7 +984,7 @@ int Ml307_Process_Events (Ml307Event ml307_recv_event, struct at_device *device, { // 收不到说明在平台未注册或者信号不行,此时ml307_connect_sever_flag 为0,但ml307_conncet_tcp_flag = 1;此时不发起重连,等待事件触发就行 ret = RT_ERROR; - rt_thread_mdelay (IMEI_Delay()); + } } } @@ -999,6 +999,7 @@ int Ml307_Process_Events (Ml307Event ml307_recv_event, struct at_device *device, ret = RT_EOK; break; } + rt_thread_mdelay (IMEI_Delay()); } } if (rt_strcmp (event->event_name, "掉电事件") == RT_EOK) @@ -1018,8 +1019,9 @@ int Ml307_Process_Events (Ml307Event ml307_recv_event, struct at_device *device, { if (ret != RT_EOK) { - + ml307_connect_sever_flag = 0; + if (!ml307_disconnect_retry_flag) { LOG_D("与服务器断开,重连网络中");