Browse Source

update,更新编码器删除功能

external_Interrupt
tianjialong 2 years ago
parent
commit
d1c2c25e1d
  1. 10
      MDK-ARM/LWIP.uvguix.29643
  2. 27
      usersrc/encoder.c
  3. 2
      usersrc/encoder.h
  4. 6
      usersrc/udpclient.c
  5. 4
      usersrc/usermain.c

10
MDK-ARM/LWIP.uvguix.29643
File diff suppressed because it is too large
View File

27
usersrc/encoder.c

@ -2,6 +2,7 @@
#include "zboard.h"
#include <stdio.h>
#include "zport.h"
#include "udpclient.h"
static encoder_light_state_t camera_encoder_state = STANDBY;
static encoder_light_state_t driven_encoder_gear_state = STANDBY;
@ -138,3 +139,29 @@ encoder_light_state_t encoder_get_state(encoder_usage_t encoder)
}
return ENCODER_STATE_NUMBER_AND_ERR_STATE;
}
void encoder_all_encoder_clear_counter_and_structer_count(void)
{
udp_client_get_active_report_data_structer()->encoder_1_count = 0;
udp_client_get_active_report_data_structer()->encoder_2_count = 0;
encoder_all_clear_counter();
}
void encoder_switch_encoder_clear_count_and_structer_count(encoder_usage_t encoder)
{
switch (encoder)
{
case CAMERA_ENCODER:
udp_client_get_active_report_data_structer()->encoder_1_count = 0;
encoder_clear_counter(CAMERA_ENCODER);
break;
case DRIVEN_ENCODER_GEAR:
udp_client_get_active_report_data_structer()->encoder_2_count = 0;
encoder_clear_counter(DRIVEN_ENCODER_GEAR);
break;
default:
break;
}
}

2
usersrc/encoder.h

@ -30,3 +30,5 @@ bool encoder_read_with_encoder(encoder_usage_t encoder, uint32_t *encoder_value)
void encoder_light_schedule(void);
void encoder_set_state(encoder_usage_t encoder, encoder_light_state_t state);
encoder_light_state_t encoder_get_state(encoder_usage_t encoder);
void encoder_all_encoder_clear_counter_and_structer_count(void);
void encoder_switch_encoder_clear_count_and_structer_count(encoder_usage_t encoder);

6
usersrc/udpclient.c

@ -268,13 +268,13 @@ void udp_client_parse(int recv_datalen)
switch (rxcmd->data)
{
case CLEAR_ENCODER_ALL:
encoder_all_clear_counter();
encoder_all_encoder_clear_counter_and_structer_count();
break;
case CLEAR_ENCODER_1:
encoder_clear_counter(CAMERA_ENCODER);
encoder_switch_encoder_clear_count_and_structer_count(CAMERA_ENCODER);
break;
case CLEAR_ENCODER_2:
encoder_clear_counter(DRIVEN_ENCODER_GEAR);
encoder_switch_encoder_clear_count_and_structer_count(DRIVEN_ENCODER_GEAR);
break;
default:

4
usersrc/usermain.c

@ -49,12 +49,12 @@ static void onkey(zkey_t *key, zkey_state_t key_state)
{
if (strcmp(key->name, CHEAR_ENCODER_1_KEY_NAME) == 0)
{
encoder_clear_counter(CAMERA_ENCODER);
encoder_switch_encoder_clear_count_and_structer_count(CAMERA_ENCODER);
printf("clear encoder 1 count\r\n");
}
else if (strcmp(key->name, CHEAR_ENCODER_2_KEY_NAME) == 0)
{
encoder_clear_counter(DRIVEN_ENCODER_GEAR);
encoder_switch_encoder_clear_count_and_structer_count(DRIVEN_ENCODER_GEAR);
printf("clear encoder 2 count\r\n");
}
}

Loading…
Cancel
Save