Browse Source

读取编码器数据指令完成并测试通过

new_pcb
tianjialong 2 years ago
parent
commit
22dad655e6
  1. 28
      usersrc/udpclient.c

28
usersrc/udpclient.c

@ -138,6 +138,21 @@ static void udp_client_clear_encoder_cmd_receipt(protocol_clear_encoder_order_t
}
}
static void udp_client_read_encoder_cmd_receipt(protocol_read_encoder_order_t *order)
{
protocol_read_encoder_receipt_t receipt;
receipt.index = order->index;
receipt.cmd_id = order->cmd_id + ORDER_RECEIPT_INTERCONVERSION;
active_report_data_structer_update();
receipt.encoder1 = active_report_data_structer.encoder_1_count;
receipt.encoder2 = active_report_data_structer.encoder_2_count;
receipt.checksum = computesum8((char *)&receipt, sizeof(protocol_read_encoder_receipt_t) - 1);
if (sendto(sock_Client, &receipt, sizeof(protocol_read_encoder_receipt_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)
@ -311,7 +326,7 @@ void udp_client_parse(int recv_datalen)
// }
protocol_basic_t *protocol_basic_cmd = (protocol_basic_t *)s_receBuf;
protocol_clear_encoder_order_t *protocol_clear_encoder_cmd = (protocol_clear_encoder_order_t *)s_receBuf;
// protocol_read_encoder_order_t *protocol_read_encoder_cmd = (protocol_read_encoder_order_t *)s_receBuf;
protocol_read_encoder_order_t *protocol_read_encoder_cmd = (protocol_read_encoder_order_t *)s_receBuf;
// protocol_active_order_t *protocol_active_cmd = (protocol_active_order_t *)s_receBuf;
// protocol_trigger_order_t *protocol_trigger_cmd = (protocol_trigger_order_t *)s_receBuf;
// protocol_modify_network_configurations_order_t *protocol_modify_network_configurations_cmd = (protocol_modify_network_configurations_order_t *)s_receBuf;
@ -333,7 +348,16 @@ void udp_client_parse(int recv_datalen)
break;
case PROTOCOL_CMD_READ_ENCODER: /* 读取编码器数据指令 */
cmd_checksum(protocol_read_encoder_cmd);
if (checksum_flag)
{
/* 校验通过 */
udp_client_read_encoder_cmd_receipt(protocol_read_encoder_cmd);
}
else
{
/* 校验未通过 */
}
break;
case PROTOCOL_CMD_ACTIVE: /* 配置主动上报指令 */

Loading…
Cancel
Save