|
|
@ -66,6 +66,22 @@ static void udp_client_create_basic_response(basic_report_data_t *rxcmd, int rec |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void udp_client_create_get_encoder_response(get_encoder_report_t *get_encoder_cmd, int recv_datalen) |
|
|
|
{ |
|
|
|
get_encoder_respont_t get_encoder_respont_structer; |
|
|
|
|
|
|
|
get_encoder_respont_structer.index = get_encoder_cmd->index; |
|
|
|
get_encoder_respont_structer.cmd_id = get_encoder_cmd->cmd_id; |
|
|
|
encoder_read_with_encoder(CAMERA_ENCODER, &get_encoder_respont_structer.encoder1); |
|
|
|
encoder_read_with_encoder(DRIVEN_ENCODER_GEAR, &get_encoder_respont_structer.encoder2); |
|
|
|
get_encoder_respont_structer.checksum = computesum8((char *)&get_encoder_respont_structer, sizeof(get_encoder_respont_t) - 1); |
|
|
|
|
|
|
|
if (sendto(sock_Client, &get_encoder_respont_structer, sizeof(get_encoder_respont_t), 0, (struct sockaddr *)&addr_server, sizeof(struct sockaddr_in)) == SOCKET_ERROR) |
|
|
|
{ |
|
|
|
printf("send basic_response error\r\n"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void udp_client_recv_data_dump(int recv_datalen) |
|
|
|
{ |
|
|
|
/* debug使用 */ |
|
|
@ -168,6 +184,7 @@ void udp_client_parse(int recv_datalen) |
|
|
|
else if (recv_datalen <= basic_report_data_size) |
|
|
|
{ |
|
|
|
basic_report_data_t *rxcmd = (basic_report_data_t *)s_receBuf; |
|
|
|
get_encoder_report_t *get_encoder_cmd = (get_encoder_report_t *)s_receBuf; |
|
|
|
switch (rxcmd->cmd_id) |
|
|
|
{ |
|
|
|
case CMD_SET_AUTOMATIC_REPORTING_FREQUENCY: /* 设置自动上报频率 */ |
|
|
@ -179,7 +196,9 @@ void udp_client_parse(int recv_datalen) |
|
|
|
udp_client_create_basic_response(rxcmd, recv_datalen); |
|
|
|
break; |
|
|
|
case CMD_GET_ENCODER_DATA: /* 获取编码器数据 */ |
|
|
|
/* code */ |
|
|
|
cmd_checksum(get_encoder_cmd); |
|
|
|
udp_client_create_get_encoder_response(get_encoder_cmd, recv_datalen); |
|
|
|
|
|
|
|
break; |
|
|
|
case CMD_SET_ACTIVE: /* 设置主动上报 */ |
|
|
|
cmd_checksum(rxcmd); |
|
|
|