diff --git a/main/main.c b/main/main.c index 2915e6b..742e5b5 100644 --- a/main/main.c +++ b/main/main.c @@ -52,9 +52,9 @@ void app_main(void) { constructor_bluetooth_processer(&s_bluetooth_processer); ble_spp_server_demo_app_main(&s_bluetooth_processer); timer_group_init(TIMER_GROUP_0, TIMER_0, false, timer_group0_interval_num, timer_interval_ms); - // motor_drive_uart_init(); - ble_uart_init(UART_NUM_1, 1, 2); - char* test_str = "This is a test string.\n"; + motor_drive_uart_init(); + // ble_uart_init(UART_NUM_1, 1, 2); + // char* test_str = "This is a test string.\n"; while (true) { bluetooth_gatts_try_process_data(); @@ -68,16 +68,16 @@ void app_main(void) { // s_bluetooth_processer.motor_drive_turn_flag = false; // } - // if (s_bluetooth_processer.auto_report_flag) { - // motor_drive_read_encoder(); - // s_bluetooth_processer.auto_report_flag = false; - // } + if (s_bluetooth_processer.auto_report_flag) { + motor_drive_read_encoder(); + s_bluetooth_processer.auto_report_flag = false; + } // motor_drive_set_packages_ctr(35.68); // motor_drive_set_packages_data_max64bit(0x34,4,0X76482534); - uart_write_bytes(UART_NUM_1, (const char*)test_str, strlen(test_str)); - ets_delay_us(1000000); + // uart_write_bytes(UART_NUM_1, (const char*)test_str, strlen(test_str)); + // ets_delay_us(1000000); // ble_receive(UART_NUM_2); } diff --git a/main/motor_drive.c b/main/motor_drive.c index 917c734..47db783 100644 --- a/main/motor_drive.c +++ b/main/motor_drive.c @@ -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() { - -} \ No newline at end of file +void motor_drive_set_motor_size() {} \ No newline at end of file diff --git a/main/motor_drive.h b/main/motor_drive.h index 1123a47..df3d03c 100644 --- a/main/motor_drive.h +++ b/main/motor_drive.h @@ -42,5 +42,5 @@ double motor_drive_read_encoder(); void motor_drive_set_packages_data_max64bit(uint8_t cmd, uint8_t buffer_data_size, uint64_t buffer_data); void motor_drive_set_packages_ctr(double position); 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); void motor_drive_buffer_cmd_parse(uint8_t *buffer); \ No newline at end of file