|
|
@ -5,9 +5,9 @@ |
|
|
|
|
|
|
|
#define MOTOR_DRIVE "MOTOR_DRIVE" |
|
|
|
|
|
|
|
#define uart_num UART_NUM_0 |
|
|
|
#define tx_io_num 4 |
|
|
|
#define rx_io_num 5 |
|
|
|
#define uart_num UART_NUM_1 |
|
|
|
#define tx_io_num 1 |
|
|
|
#define rx_io_num 2 |
|
|
|
#define buffer_size 128 |
|
|
|
|
|
|
|
void motor_drive_uart_init() { |
|
|
@ -42,13 +42,18 @@ void motor_drive_turn(int direction, int speed_level, double position) { |
|
|
|
|
|
|
|
double motor_drive_read_encoder() { |
|
|
|
uint8_t i = 0; |
|
|
|
uint8_t generate_buffer_size = 0; |
|
|
|
uint8_t buffer[20] = {0}; |
|
|
|
|
|
|
|
// Generate cmd |
|
|
|
motor_drive_buffer_cmd_generate(buffer, 0x90, 4, 0X5A97FF00); |
|
|
|
generate_buffer_size = motor_drive_buffer_cmd_generate(buffer, 0x90, 4, 0X5A97FF00); |
|
|
|
if (generate_buffer_size == 0){ |
|
|
|
ESP_LOGW(MOTOR_DRIVE, "generate_buffer_size null"); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
// Send cmd |
|
|
|
// uart_write_bytes(UART_NUM_2, (const char*)test_str, strlen(test_str)); |
|
|
|
uart_write_bytes(uart_num, (const char *)buffer, generate_buffer_size); |
|
|
|
|
|
|
|
// Wait receive |
|
|
|
// while (1) { |
|
|
@ -114,7 +119,7 @@ void motor_drive_hex_to_str(char *hex, int hex_len, char *str) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data) { |
|
|
|
uint8_t motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data) { |
|
|
|
uint8_t i = 0; |
|
|
|
uint8_t checksum = 0; |
|
|
|
uint8_t buffer_data_uint8 = 0; |
|
|
@ -122,7 +127,7 @@ void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffe |
|
|
|
uint8_t hex_to_str_size = buffer_data_size; |
|
|
|
if (buffer == NULL) { |
|
|
|
ESP_LOGW(MOTOR_DRIVE, "buffer nil ,init error"); |
|
|
|
return; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
buffer[0] = 0X3E; |
|
|
|
buffer[1] = cmd; |
|
|
@ -144,6 +149,8 @@ void motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buffe |
|
|
|
motor_drive_hex_to_str((char *)buffer, (5 + hex_to_str_size), (char *)strbuffer); |
|
|
|
ESP_LOGI(MOTOR_DRIVE, "%s", strbuffer); |
|
|
|
motor_drive_buffer_cmd_parse(buffer); |
|
|
|
|
|
|
|
return (5 + hex_to_str_size); |
|
|
|
} |
|
|
|
|
|
|
|
void motor_drive_buffer_cmd_parse(uint8_t *buffer) { |
|
|
@ -166,6 +173,4 @@ void motor_drive_buffer_cmd_parse(uint8_t *buffer) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void motor_drive_set_motor_size() { |
|
|
|
|
|
|
|
} |
|
|
|
void motor_drive_set_motor_size() {} |