From: CCC <2393524978@qq.com> Date: Sat, 5 Aug 2023 09:00:03 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=8861544739f210eab151597fb933884e8de09224;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h b/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h index 3f533643..49f74f65 100644 --- a/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h +++ b/2.sdk/sdk/gui/lv_watch/include/ui_nvm_interface.h @@ -187,11 +187,15 @@ typedef struct } __packed nv_watch_health_measure_timed_t; #define NV_WATCH_HOST_NAME_LEN_MAX (128 - 32) +#define NV_PROTOCOL_MD5_KEY_LEN_MAX (64) +#define NV_PROTOCOL_DEVICE_NAME_LEN_MAX (32) typedef struct { char watch_host_name[NV_WATCH_HOST_NAME_LEN_MAX]; int watch_host_port; + char protocol_md5_key[NV_PROTOCOL_MD5_KEY_LEN_MAX]; + char protocol_device_name[NV_PROTOCOL_DEVICE_NAME_LEN_MAX]; uint32_t heartbeat_action_interval; // unit-second uint32_t location_upload_interval; // unit-second uint32_t weather_update_interval; // unit-second diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.c index bb52a31f..09227e0c 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.c @@ -83,8 +83,10 @@ void mmi_watch_protocol_data_nv_default(nv_watch_protocol_data_t * data) { PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: nv default\n", __FUNCTION__, __LINE__); - strcpy(data->watch_host_name, MMI_PROTOCOL_IP_ADDRESS_DEFAULT); + strncpy(data->watch_host_name, MMI_PROTOCOL_IP_ADDRESS_DEFAULT, NV_WATCH_HOST_NAME_LEN_MAX - 1); data->watch_host_port = MMI_PROTOCOL_IP_PORT_DEFAULT; + strncpy(data->protocol_md5_key, MMI_PROTOCOL_MD5_KEY_DEFAULT, NV_PROTOCOL_MD5_KEY_LEN_MAX - 1); + strncpy(data->protocol_device_name, MMI_PROTOCOL_DEVICE_NAME_DEFAULT, NV_PROTOCOL_DEVICE_NAME_LEN_MAX - 1); data->heartbeat_action_interval = MMI_PROTOCOL_HEARTBEAT_ACTION_INTERVAL; data->location_upload_interval = MMI_PROTOCOL_LOCATION_UPLOAD_INTERVAL; data->weather_update_interval = MMI_PROTOCOL_WEATHER_UPDATE_INTERVAL; @@ -114,13 +116,57 @@ int mmi_watch_host_port_get(void) void mmi_watch_host_port_set(int ip_port) { - if(0 <= ip_port) + if(0 >= ip_port) return; s_watch_protocol_data.watch_host_port = ip_port; mmi_watch_protocol_data_nv_write(); } +uint8_t mmi_protocol_md5_key_str_len_get(void) +{ + return (strlen(s_watch_protocol_data.protocol_md5_key)); +} + +char * mmi_protocol_md5_key_str_get(void) +{ + return (s_watch_protocol_data.protocol_md5_key); +} + +void mmi_protocol_md5_key_str_set(char * md5_key) +{ + if(NULL == md5_key) + return; + if(NV_PROTOCOL_MD5_KEY_LEN_MAX <= strlen(md5_key)) + return; + + _lv_memset_00(s_watch_protocol_data.protocol_md5_key, NV_PROTOCOL_MD5_KEY_LEN_MAX); + strcpy(s_watch_protocol_data.protocol_md5_key, md5_key); + mmi_watch_protocol_data_nv_write(); +} + +uint8_t mmi_protocol_device_name_len_get(void) +{ + return (strlen(s_watch_protocol_data.protocol_device_name)); +} + +char * mmi_protocol_device_name_get(void) +{ + return (s_watch_protocol_data.protocol_device_name); +} + +void mmi_protocol_device_name_set(char * device_name) +{ + if(NULL == device_name) + return; + if(NV_PROTOCOL_DEVICE_NAME_LEN_MAX <= strlen(device_name)) + return; + + _lv_memset_00(s_watch_protocol_data.protocol_device_name, NV_PROTOCOL_DEVICE_NAME_LEN_MAX); + strcpy(s_watch_protocol_data.protocol_device_name, device_name); + mmi_watch_protocol_data_nv_write(); +} + uint32_t mmi_protocol_watch_heartbeat_action_interval_get(void) { return (s_watch_protocol_data.heartbeat_action_interval); diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.h b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.h index c88c72be..c6e17ae4 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_api.h @@ -46,16 +46,18 @@ void mmi_protocol_send_space_free(int cmd); bool mmi_protocol_send_cmd_check(int cmd); void mmi_watch_protocol_data_nv_read(void); - void mmi_watch_protocol_data_nv_default(nv_watch_protocol_data_t * data); char * mmi_watch_host_name_get(void); - void mmi_watch_host_name_set(char * ip_address); - int mmi_watch_host_port_get(void); - void mmi_watch_host_port_set(int ip_port); +uint8_t mmi_protocol_md5_key_str_len_get(void); +char * mmi_protocol_md5_key_str_get(void); +void mmi_protocol_md5_key_str_set(char * md5_str); +uint8_t mmi_protocol_device_name_len_get(void); +char * mmi_protocol_device_name_get(void); +void mmi_protocol_device_name_set(char * device_name); void mmi_protocol_watch_timed_mission_action(void); diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c index f3e2e4c9..d7bfa16f 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c @@ -42,7 +42,7 @@ int mmi_protocol_fzd_convert_md5_data_get(MMI_PROTOCOL_FZD_ACTION_ENUM action, i action_str_len = strlen(action_str); //device name - sprintf(convert_md5_str, "%s", MMI_PROTOCOL_FZD_DEVICE_NAME); + sprintf(convert_md5_str, "%s", mmi_protocol_device_name_get()); //separator strncat(convert_md5_str, MMI_PROTOCOL_FZD_SEPARATOR, MMI_PROTOCOL_FZD_SEPARATOR_LEN); @@ -83,7 +83,7 @@ bool mmi_protocol_fzd_send_content_md5_data_get(unsigned char * input_buff, int { bool result = false; unsigned char output[16] = {0}; - int temp_len = MMI_PROTOCOL_FZD_MD5_KEY_LEN + input_len + 1; + int temp_len = mmi_protocol_md5_key_str_len_get() + input_len + 1; unsigned char * temp_buff = lv_mem_alloc(temp_len); if(NULL == temp_buff) @@ -96,7 +96,7 @@ bool mmi_protocol_fzd_send_content_md5_data_get(unsigned char * input_buff, int { _lv_memset_00(temp_buff, temp_len); _lv_memcpy(temp_buff, input_buff, input_len); - _lv_memcpy(temp_buff + input_len, MMI_PROTOCOL_FZD_MD5_KEY_STR, MMI_PROTOCOL_FZD_MD5_KEY_LEN); + _lv_memcpy(temp_buff + input_len, mmi_protocol_md5_key_str_get(), mmi_protocol_md5_key_str_len_get()); mbedtls_md5_ret(temp_buff, temp_len - 1, output); for(int i = 0; i < 16; i++) { @@ -240,6 +240,20 @@ static bool mmi_protocol_fzd_send_content_construct(MMI_PROTOCOL_FZD_ACTION_ENUM return true; } +static uint32_t mmi_protocol_fzd_receive_data_fixed_len_get(void) +{ + uint32_t t_len = 0; + + // receive fixed:[DEVICE_NAME*DEVICE_ID*CONTENT_LENGTH*] + t_len = (MMI_PROTOCOL_FZD_BRACKET_LEN * 2 + mmi_protocol_device_name_len_get() + + MMI_PROTOCOL_FZD_SEPARATOR_LEN * 3 + MMI_PROTOCOL_FZD_DEVICE_ID_LEN + + MMI_PROTOCOL_FZD_CONTENT_LEN_LEN); + + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, t_len); + + return t_len; +} + void mmi_protocol_fzd_receive_buff_free(void) { s_receive_space_struct.receive_len = 0; @@ -340,6 +354,7 @@ bool mmi_protocol_fzd_receive_data_parse(void) bool result = false; unsigned char* recv_buffer = s_receive_space_struct.receive_ptr; int recv_len = s_receive_space_struct.receive_len; + uint32_t recv_fixed_len = mmi_protocol_fzd_receive_data_fixed_len_get(); char imei[16] = {0}; uint8_t i = 0; unsigned char * content_ptr = NULL; @@ -360,7 +375,7 @@ bool mmi_protocol_fzd_receive_data_parse(void) } //length - if(MMI_PROTOCOL_FZD_RECEIVE_FIXED_CONTENT_LEN > recv_len) + if(recv_fixed_len > recv_len) { PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: data length error\n", __FUNCTION__, __LINE__); mmi_protocol_fzd_incomplete_buff_store(recv_buffer, recv_len); @@ -371,7 +386,7 @@ bool mmi_protocol_fzd_receive_data_parse(void) // [DEVICE_NAME*DEVICE_ID*CONTENT_LEN*ACTION_STRING,ACTION_CONTENT] offset_head_bracket = 0; offset_device_name = offset_head_bracket + MMI_PROTOCOL_FZD_BRACKET_LEN; - offset_first_sep = offset_device_name + MMI_PROTOCOL_FZD_DEVICE_NAME_LEN; + offset_first_sep = offset_device_name + mmi_protocol_device_name_len_get(); offset_device_id = offset_first_sep + MMI_PROTOCOL_FZD_SEPARATOR_LEN; offset_second_sep = offset_device_id + MMI_PROTOCOL_FZD_DEVICE_ID_LEN; offset_content_len = offset_second_sep + MMI_PROTOCOL_FZD_SEPARATOR_LEN; @@ -380,10 +395,10 @@ bool mmi_protocol_fzd_receive_data_parse(void) app_adp_get_imei_req(imei); //head - for(i = 0; (NULL != (recv_buffer + i)) && (i < recv_len - MMI_PROTOCOL_FZD_RECEIVE_FIXED_CONTENT_LEN); i++) + for(i = 0; (NULL != (recv_buffer + i)) && (i < recv_len - recv_fixed_len); i++) { if(0 == strncmp(recv_buffer + i + offset_head_bracket, MMI_PROTOCOL_FZD_HEAD_BRACKET, MMI_PROTOCOL_FZD_BRACKET_LEN) // [ - && (0 == strncmp(recv_buffer + i + offset_device_name, MMI_PROTOCOL_FZD_DEVICE_NAME, MMI_PROTOCOL_FZD_DEVICE_NAME_LEN)) // NAME + && (0 == strncmp(recv_buffer + i + offset_device_name, mmi_protocol_device_name_get(), mmi_protocol_device_name_len_get())) // NAME && (0 == strncmp(recv_buffer + i + offset_first_sep, MMI_PROTOCOL_FZD_SEPARATOR, MMI_PROTOCOL_FZD_SEPARATOR_LEN)) // * && (0 == strncmp(recv_buffer + i + offset_device_id, imei, MMI_PROTOCOL_FZD_DEVICE_ID_LEN)) // ID && (0 == strncmp(recv_buffer + i + offset_second_sep, MMI_PROTOCOL_FZD_SEPARATOR, MMI_PROTOCOL_FZD_SEPARATOR_LEN)) // * @@ -407,7 +422,7 @@ bool mmi_protocol_fzd_receive_data_parse(void) //length content_len = mmi_hex_string_to_number(content_len_ptr, MMI_PROTOCOL_FZD_CONTENT_LEN_LEN); PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: content_len=%d, recv_len=%d\n", __FUNCTION__, __LINE__, content_len, recv_len); - if(MMI_PROTOCOL_FZD_RECEIVE_FIXED_CONTENT_LEN + content_len > recv_len) + if(recv_fixed_len + content_len > recv_len) { PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: data length error\n", __FUNCTION__, __LINE__); mmi_protocol_fzd_incomplete_buff_store(recv_buffer, recv_len); @@ -1081,6 +1096,7 @@ bool mmi_protocol_fzd_parse_SERVER_SET_CALL(unsigned char * next_buff, unsigned } //[XX*YYYY*0018*REMIND,08:10-1-1,08:10-1-2, 08:10-1-3-0111110] +//[SZKW*860132060004801*0034*REMIND,10:00-1-1,10:02-1-3-0111000,10:03-1-3-0111111] bool mmi_protocol_fzd_parse_SERVER_SET_REMIND(unsigned char * next_buff, unsigned int next_buff_len) { bool result = false; @@ -1111,31 +1127,34 @@ bool mmi_protocol_fzd_parse_SERVER_SET_REMIND(unsigned char * next_buff, unsigne temp_ptr = km_strtok_r(group_str, ":", &last); server_set_alarm[i].hour = atoi(temp_ptr); - //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: temp_ptr=%s,temp_ptr1=%s\n", __FUNCTION__, __LINE__, temp_ptr, last); temp_ptr = km_strtok_r(NULL, "-", &last); server_set_alarm[i].min = atoi(temp_ptr); - //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: temp_ptr=%s,temp_ptr1=%s\n", __FUNCTION__, __LINE__, temp_ptr, last); temp_ptr = km_strtok_r(NULL, "-", &last); server_set_alarm[i].on_off = atoi(temp_ptr); - //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: temp_ptr=%s,temp_ptr1=%s\n", __FUNCTION__, __LINE__, temp_ptr, last); temp_ptr = km_strtok_r(NULL, "-", &last); - //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: temp_ptr=%s,temp_ptr1=%s\n", __FUNCTION__, __LINE__, temp_ptr, last); + //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: temp_ptr=%s,last=%s\n", __FUNCTION__, __LINE__, temp_ptr, last); if(1 == atoi(temp_ptr)) { server_set_alarm[i].repeat_bitmap = 0; } - else + else if(2 == atoi(temp_ptr)) { server_set_alarm[i].repeat_bitmap = 0xff; + } + else + { + //server_set_alarm[i].repeat_bitmap = 0xff; + server_set_alarm[i].repeat_bitmap = 0x80; if(NULL != last) { uint8_t j = 0; for(j = 0; j < 7; j++) { - server_set_alarm[i].repeat_bitmap &= ((('0' == *(last + j)) ? 0 : 1) << j); + //server_set_alarm[i].repeat_bitmap &= ((('0' == *(last + j)) ? 0 : 1) << j); + server_set_alarm[i].repeat_bitmap |= ((('0' == *(last + j)) ? 0 : 1) << j); } } } @@ -1151,6 +1170,12 @@ bool mmi_protocol_fzd_parse_SERVER_SET_REMIND(unsigned char * next_buff, unsigne alarm_set_alarm_by_ui(&server_set_alarm, i); + //uint8_t x = 0; + //for(x = 0; x < i; x++) + //{ + // PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %d,%d\n", __LINE__, server_set_alarm[x].on_off, server_set_alarm[x].repeat_bitmap); + //} + return result; } @@ -2346,11 +2371,11 @@ bool mmi_protocol_fzd_parse_WATCH_GET_VC_CONTACT(unsigned char * next_buff, unsi else { t_offset += 4; - PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, t_offset); + //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, t_offset); } i += 4; - PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, i); + //PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, i); } t_next++; @@ -2405,7 +2430,7 @@ bool mmi_protocol_fzd_parse_WATCH_VC_CALL_REQUEST(unsigned char * next_buff, uns t_ticket = next_buff; - PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: t_value=%d\n", __FUNCTION__, __LINE__, t_value); + PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: t_value=%s\n", __FUNCTION__, __LINE__, t_value); PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: t_tokens,%d,%s\n", __LINE__, strlen(t_tokens), t_tokens+0); PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, t_tokens+31); PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, t_tokens+63); diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h index a18c2269..2c497e21 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h @@ -26,23 +26,23 @@ FORMAT: [MD5_DATADEVICE_NAME*DEVICE_ID*CONTENT_LENGTH*CONTENT_KEY,CONTENT_VALUE] ****************************************/ -#ifdef __MMI_ZHSX_SUPPORT_WULIAN_SERVER__ -#define MMI_PROTOCOL_FZD_MD5_KEY_STR "3JyCjsw4ryXKzjzudayY" -#else -#define MMI_PROTOCOL_FZD_MD5_KEY_STR "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP" // "FDF9532BB5914C0F9D0999CAF99DEBB9" // "XMQcHi0lGIdru6xzW7lygBwBT8N0c09P" -#endif -#define MMI_PROTOCOL_FZD_MD5_KEY_LEN (strlen(MMI_PROTOCOL_FZD_MD5_KEY_STR)) // (32) +//#ifdef __MMI_ZHSX_SUPPORT_WULIAN_SERVER__ +//#define MMI_PROTOCOL_FZD_MD5_KEY_STR "3JyCjsw4ryXKzjzudayY" +//#else +//#define MMI_PROTOCOL_FZD_MD5_KEY_STR "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP" // "FDF9532BB5914C0F9D0999CAF99DEBB9" // "XMQcHi0lGIdru6xzW7lygBwBT8N0c09P" +//#endif +//#define MMI_PROTOCOL_FZD_MD5_KEY_LEN (strlen(MMI_PROTOCOL_FZD_MD5_KEY_STR)) // (32) #define MMI_PROTOCOL_FZD_MD5_DATA_LEN (32) #define MMI_PROTOCOL_FZD_HEAD_BRACKET "[" #define MMI_PROTOCOL_FZD_BRACKET_LEN (strlen(MMI_PROTOCOL_FZD_HEAD_BRACKET)) -#ifdef __MMI_ZHSX_SUPPORT_WULIAN_SERVER__ -#define MMI_PROTOCOL_FZD_DEVICE_NAME "qAELPTKmFanR4RHe" -#else -#define MMI_PROTOCOL_FZD_DEVICE_NAME "SZKW" // "ZHSX" -#endif -#define MMI_PROTOCOL_FZD_DEVICE_NAME_LEN (strlen(MMI_PROTOCOL_FZD_DEVICE_NAME)) +//#ifdef __MMI_ZHSX_SUPPORT_WULIAN_SERVER__ +//#define MMI_PROTOCOL_FZD_DEVICE_NAME "qAELPTKmFanR4RHe" +//#else +//#define MMI_PROTOCOL_FZD_DEVICE_NAME "SZKW" // "ZHSX" +//#endif +//#define MMI_PROTOCOL_FZD_DEVICE_NAME_LEN (strlen(MMI_PROTOCOL_FZD_DEVICE_NAME)) #define MMI_PROTOCOL_FZD_SEPARATOR "*" #define MMI_PROTOCOL_FZD_SEPARATOR_LEN (strlen(MMI_PROTOCOL_FZD_SEPARATOR)) #define MMI_PROTOCOL_FZD_TAIL_BRACKET "]" @@ -50,11 +50,11 @@ FORMAT: [MD5_DATADEVICE_NAME*DEVICE_ID*CONTENT_LENGTH*CONTENT_KEY,CONTENT_VALUE] #define MMI_PROTOCOL_FZD_CONTENT_LEN_LEN (4) // send fixed:[MD5_DATADEVICE_NAME*DEVICE_ID*CONTENT_LENGTH*] -#define MMI_PROTOCOL_FZD_SEND_FIXED_CONTENT_LEN (MMI_PROTOCOL_FZD_BRACKET_LEN * 2 + MMI_PROTOCOL_FZD_MD5_DATA_LEN + MMI_PROTOCOL_FZD_DEVICE_NAME_LEN \ - + MMI_PROTOCOL_FZD_SEPARATOR_LEN * 3 + MMI_PROTOCOL_FZD_DEVICE_ID_LEN + MMI_PROTOCOL_FZD_CONTENT_LEN_LEN) +//#define MMI_PROTOCOL_FZD_SEND_FIXED_CONTENT_LEN (MMI_PROTOCOL_FZD_BRACKET_LEN * 2 + MMI_PROTOCOL_FZD_MD5_DATA_LEN + MMI_PROTOCOL_FZD_DEVICE_NAME_LEN \ +// + MMI_PROTOCOL_FZD_SEPARATOR_LEN * 3 + MMI_PROTOCOL_FZD_DEVICE_ID_LEN + MMI_PROTOCOL_FZD_CONTENT_LEN_LEN) // receive fixed:[DEVICE_NAME*DEVICE_ID*CONTENT_LENGTH*] -#define MMI_PROTOCOL_FZD_RECEIVE_FIXED_CONTENT_LEN (MMI_PROTOCOL_FZD_BRACKET_LEN * 2 + MMI_PROTOCOL_FZD_DEVICE_NAME_LEN \ - + MMI_PROTOCOL_FZD_SEPARATOR_LEN * 3 + MMI_PROTOCOL_FZD_DEVICE_ID_LEN + MMI_PROTOCOL_FZD_CONTENT_LEN_LEN) +//#define MMI_PROTOCOL_FZD_RECEIVE_FIXED_CONTENT_LEN (MMI_PROTOCOL_FZD_BRACKET_LEN * 2 + MMI_PROTOCOL_FZD_DEVICE_NAME_LEN \ +// + MMI_PROTOCOL_FZD_SEPARATOR_LEN * 3 + MMI_PROTOCOL_FZD_DEVICE_ID_LEN + MMI_PROTOCOL_FZD_CONTENT_LEN_LEN) #define MMI_PROTOCOL_FZD_ACTION_STR_LEN_MAX (31) // "LK" diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c index 44d5c552..f325634a 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.c @@ -9,6 +9,8 @@ static MMI_PROTOCOL_SMS_PARSE_STRUCT s_sms_parse_info[] = { {"SETIP:", 6, mmi_protocol_sms_parse_set_ip}, + {"SETMD5KEY:", 10, mmi_protocol_sms_parse_set_md5_key}, + {"SETDEVICENAME:", 14, mmi_protocol_sms_parse_set_device_name}, {"SETUPLOAD:", 10, mmi_protocol_sms_parse_set_upload}, {"POWEROFF", 8, mmi_protocol_sms_parse_power_off}, {"SETFACTORY", 10, mmi_protocol_sms_parse_set_factory}, @@ -145,6 +147,80 @@ bool mmi_protocol_sms_parse_set_ip(char * fixed_str, char * data, char * number) return true; } +// SETMD5KEY:xyz890 +static char s_md5_key[NV_PROTOCOL_MD5_KEY_LEN_MAX] = {0}; +static void mmi_protocol_sms_set_md5_key_cb(watch_app_adp_sms_send_result_type_t result) +{ + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, result); + + if(APP_SMS_SEND_SUCCESS == result) + { + mmi_protocol_md5_key_str_set(s_md5_key); + } + else if(APP_SMS_SEND_FAIL == result) + { + // + } +} + +bool mmi_protocol_sms_parse_set_md5_key(char * fixed_str, char * data, char * number) +{ + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: num=%s\n", __FUNCTION__, __LINE__, number); + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, data); + + uint16_t t_data_len = strlen(data); + if(0 == t_data_len || NV_PROTOCOL_MD5_KEY_LEN_MAX <= t_data_len) + { + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + _lv_memset_00(s_md5_key, sizeof(s_md5_key)); + _lv_memcpy(s_md5_key, data, t_data_len); + + mmi_protocol_sms_parse_sms_reply(NULL, fixed_str, number, mmi_protocol_sms_set_md5_key_cb); + + return true; +} + + +// SETDEVICENAME:abc123 +static char s_device_name[NV_PROTOCOL_DEVICE_NAME_LEN_MAX] = {0}; +static void mmi_protocol_sms_set_device_name_cb(watch_app_adp_sms_send_result_type_t result) +{ + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %d\n", __FUNCTION__, __LINE__, result); + + if(APP_SMS_SEND_SUCCESS == result) + { + mmi_protocol_device_name_set(s_device_name); + } + else if(APP_SMS_SEND_FAIL == result) + { + // + } +} + +bool mmi_protocol_sms_parse_set_device_name(char * fixed_str, char * data, char * number) +{ + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: num=%s\n", __FUNCTION__, __LINE__, number); + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, data); + + uint16_t t_data_len = strlen(data); + if(0 == t_data_len || NV_PROTOCOL_DEVICE_NAME_LEN_MAX <= t_data_len) + { + SMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); + return false; + } + + _lv_memset_00(s_device_name, sizeof(s_device_name)); + _lv_memcpy(s_device_name, data, t_data_len); + + mmi_protocol_sms_parse_sms_reply(NULL, fixed_str, number, mmi_protocol_sms_set_device_name_cb); + + return true; +} + + //SETUPLOAD:300 static uint32_t upload_interval = 0; static void mmi_protocol_sms_set_upload_cb(watch_app_adp_sms_send_result_type_t result) diff --git a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h index 7da4a176..b5a60ba5 100644 --- a/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h +++ b/2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_sms.h @@ -41,6 +41,8 @@ typedef struct bool mmi_protocol_sms_content_parse(char * sms_content, char * sms_send_number); bool mmi_protocol_sms_parse_set_ip(char * fixed_str, char * data, char * number); +bool mmi_protocol_sms_parse_set_md5_key(char * fixed_str, char * data, char * number); +bool mmi_protocol_sms_parse_set_device_name(char * fixed_str, char * data, char * number); bool mmi_protocol_sms_parse_set_upload(char * fixed_str, char * data, char * number); bool mmi_protocol_sms_parse_power_off(char * fixed_str, char * data, char * number); bool mmi_protocol_sms_parse_set_factory(char * fixed_str, char * data, char * number); diff --git a/2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_manage.c b/2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_manage.c index 25603811..dc74ad02 100644 --- a/2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_manage.c +++ b/2.sdk/sdk/gui/lv_watch/modem/mmi_modem_tcp/mmi_modem_tcp_manage.c @@ -156,7 +156,12 @@ void mmi_modem_tcp_connect(void *param) } #ifdef __MMI_ZHSX_SUPPORT__ - res = ValNetworkSocketInit_with_callback(NULL, mmi_watch_host_name_get(), mmi_watch_host_port_get(), (socket_callback)manage_socket_callback); + char * t_host_name = mmi_watch_host_name_get(); + int t_host_port = mmi_watch_host_port_get(); + + printf("[@CHENG_DEBUG][%s][%d]: %s,%d\n", __FUNCTION__, __LINE__, t_host_name, t_host_port); + + res = ValNetworkSocketInit_with_callback(NULL, t_host_name, t_host_port, (socket_callback)manage_socket_callback); #else res = ValNetworkSocketInit_with_callback(NULL, HOST_NAME, HOST_PORT, (socket_callback)manage_socket_callback); #endif