|
|
@ -9,6 +9,7 @@ |
|
|
|
#include "protocol.h" |
|
|
|
#include "encoder.h" |
|
|
|
#include "zport.h" |
|
|
|
#include "zboard.h" |
|
|
|
|
|
|
|
#define cmd_checksum(data) \ |
|
|
|
if (computesum8((char *)data, recv_datalen - 1) != data->checksum) \ |
|
|
@ -32,6 +33,10 @@ static bool udp_client_active_flag; |
|
|
|
#define AVTIVE_DISABLE 0 |
|
|
|
#define ACTIVE_ENABLE 1 |
|
|
|
|
|
|
|
#define CLEAR_ENCODER_ALL 0 |
|
|
|
#define CLEAR_ENCODER_1 1 |
|
|
|
#define CLEAR_ENCODER_2 2 |
|
|
|
|
|
|
|
static char s_sendBuf[BUFFER_SIZE]; // 发送数据的缓冲区 |
|
|
|
static char s_receBuf[BUFFER_SIZE]; // 接收数据的缓冲区 |
|
|
|
|
|
|
@ -212,6 +217,26 @@ void udp_client_parse(int recv_datalen) |
|
|
|
udp_client_create_basic_response(rxcmd, recv_datalen); |
|
|
|
break; |
|
|
|
case CMD_CLEAR_ENCODER: /* 清除编码器数据 */ |
|
|
|
cmd_checksum(rxcmd); |
|
|
|
|
|
|
|
switch (rxcmd->data) |
|
|
|
{ |
|
|
|
case CLEAR_ENCODER_ALL: |
|
|
|
encoder_all_clear_counter(); |
|
|
|
break; |
|
|
|
case CLEAR_ENCODER_1: |
|
|
|
encoder_clear_counter(&camera_encoder); |
|
|
|
break; |
|
|
|
case CLEAR_ENCODER_2: |
|
|
|
encoder_clear_counter(&driven_encoder_gear); |
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
printf("not find clear encoder cmd\r\n"); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
udp_client_create_basic_response(rxcmd, recv_datalen); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|