} else if(testitem == 0x02)\r
{\r
//获取RTC\r
- char send_data[64] = {0};\r
- get_system_time(&send_data[1]);\r
- uint16_t datalen = strlen(&send_data[1]);\r
- for(int i = 0; i < datalen + 1 ; i++)\r
- PRINT("timebuf : %s \r\n",send_data[i]);\r
+ char time_data[64] = {0};\r
+ uint8_t send_data1[20] = {0};\r
+ uint8_t send_data2[7] = {0};\r
+ uint8_t time_stamp[5] = {0};\r
+\r
+ uint32_t msc = 0;\r
+\r
+ uint8_t i = 0;\r
+ get_system_time(time_data);\r
+ uint8_t len = strlen(time_data);\r
+ //1970-01-01 00:00:26\r
+ PRINT("time_data : %s , len : %d\r\n",time_data,len);\r
+\r
+ for (int j = 0; j < len; j ++) \r
+ {\r
+ if(time_data[j] >= '0' && time_data[j] <= '9' ) \r
+ {\r
+ send_data1[i++] = (time_data[j] - '0');\r
+ }\r
+ }\r
+ \r
+ i = 0;\r
+ for(int j = 0; j < 14 ; j+=2)\r
+ {\r
+ send_data2[i++] = send_data1[j] * 10 + send_data1[j+1];\r
+ }\r
+\r
+ msc = ((((send_data2[0] * 100 + send_data2[1] - 1970) * 365 \r
+ + (send_data2[2] -1)* 30 + (send_data2[3] - 1) ) * 24 \r
+ + send_data2[4]) * 60 + send_data2[5]) * 60 \r
+ + send_data2[6];\r
+\r
+ time_stamp[1] = (uint8_t)((msc & 0XFF000000) >> 24);\r
+ time_stamp[2] = (uint8_t)((msc & 0X00FF0000) >> 16);\r
+ time_stamp[3] = (uint8_t)((msc & 0X0000FF00) >> 8);\r
+ time_stamp[4] = (uint8_t)((msc & 0X000000FF) >> 0);\r
+\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_RTC,\r
0x02,\r
- &send_data,\r
- datalen+1);\r
+ time_stamp,\r
+ 5);\r
}\r
\r
+ break;\r
+\r
case BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CUSTOM_CMD:\r
if(testitem == 0x01)\r
{\r
{\r
//读SN\r
uint8_t send_data[64] = {0};\r
- uint32_t datalen;\r
+ uint32_t datalen = 63;\r
zh_get_sn(&send_data[1],&datalen);\r
-\r
+ PRINT("len : %d \r\n",datalen);\r
+ for(int i = 0; i < datalen; i++)\r
+ PRINT("send_data[%d] : %X \r\n",i,send_data[i]);\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_CUSTOM_CMD,\r
0x02,\r
send_data,\r
- datalen+1);\r
+ datalen);\r
} else if(testitem == 0x11)\r
{\r
uint8_t i;\r
\r
// 主模式ID 生产软件 0x02\r
case BLE_TEST_CMD_MODE_SOFT_TEST:\r
- PRINT("111\r\n");\r
factorytest_protocol_soft_test_decode(header.submod,header.testitem,\r
buf+1+2+1+1+1,\r
header.len);\r
wstp_print("%s", timebuf);
}
- memcmp(timedata,&timebuf,strlen(&timebuf));
+ sprintf(timedata,"%s",timebuf);
uint32_t millisec = tv.tv_usec / USEC_TO_MILLI;
wstp_print(":%03d\n", millisec);
- timedata = strcat(timedata,&millisec);
+ // char millisecdata[4] = {0};
+ // millisecdata[0] = (char)((millisec & 0XFF000000)>> 24);
+ // millisecdata[1] = (char)((millisec & 0X00FF0000)>> 16);
+ // millisecdata[2] = (char)((millisec & 0X0000FF00)>> 8);
+ // millisecdata[3] = (char)((millisec & 0X000000FF)>> 0);
+
+ // PRINT("mil %d %d %d %d \r\n",millisecdata[0],millisecdata[1],millisecdata[2],millisecdata[3]);
+
+ // sprintf(timedata,"%s%s",timebuf,millisecdata);
return ERRCODE_SUCC;
}