Browse Source

添加主动上报udp_client_active_response函数

external_Interrupt
tianjialong 2 years ago
parent
commit
5e869ae965
  1. 18
      usersrc/udpclient.c

18
usersrc/udpclient.c

@ -50,6 +50,7 @@ active_report_data_t active_report_data_structer;
static int active_report_cycle;
static void active_report_data_structer_init(void)
{
/* index在每次上报一次主动上报数据后+1,时间戳在获取ESync命令时更新,编码器数值在 active_report_data_structer_update中更新,校验和在上传数据前(udp_client_active_response)进行更新*/
active_report_data_structer.index = 0; /* */
active_report_data_structer.cmd_id = ACTIVE_ID; /* 指令id */
active_report_data_structer.time_stamp_s = 0; /* 时间戳 */
@ -90,6 +91,15 @@ static void udp_client_create_get_encoder_response(get_encoder_report_t *get_enc
}
}
static void udp_client_active_response(void)
{
active_report_data_structer.checksum = computesum8((char *)&active_report_data_structer, sizeof(active_report_data_t) - 1);
if (sendto(sock_Client, &active_report_data_structer, sizeof(active_report_data_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使用 */
@ -257,7 +267,8 @@ void udp_cllient_active(void)
{
lastprocess = HAL_GetTick();
active_report_data_structer_update();
printf("encoder1:%d,encoder2:%d\r\n", active_report_data_structer.encoder_1_count, active_report_data_structer.encoder_2_count);
udp_client_active_response();
active_report_data_structer.index += 1;
}
}
}
@ -267,8 +278,9 @@ void udp_cllient_genlock_and_esync_active(void)
if (genlock_and_esync_active_flag)
{
active_report_data_structer_update();
printf("encoder1:%d,encoder2:%d\r\n", active_report_data_structer.encoder_1_count, active_report_data_structer.encoder_2_count);
udp_client_active_response();
active_report_data_structer.index += 1;
active_report_data_structer.time_stamp_s = 0;
genlock_and_esync_active_flag = false;
}

Loading…
Cancel
Save