Browse Source

bugfixed

devtest
zwsd 3 years ago
parent
commit
b3aac80331
  1. 1
      main/ble_parse_data.c
  2. 15
      main/main.c
  3. 14
      main/motor_drive.c

1
main/ble_parse_data.c

@ -34,6 +34,7 @@ void bluetooth_gatts_try_process_data() {
if (strcmp(parse_bluetooth_processer->order, set_position) == 0) {
parse_bluetooth_processer->auto_report_flag = true;
ESP_LOGI(BLE_PARSE_DATA_TAG, set_position);
motor_drive_set_packages_ctr(352.68);
// motor_cmd_set_position(parse_bluetooth_processer->speedLevel, parse_bluetooth_processer->position, parse_bluetooth_processer->direction);
receipt_json_set_position();
}

15
main/main.c

@ -55,7 +55,7 @@ void app_main(void) {
motor_drive_uart_init();
// ble_uart_init(UART_NUM_1, 1, 2);
// char* test_str = "This is a test string.\n";
double encoder = 0.0;
// double encoder = 0.0;
while (true) {
bluetooth_gatts_try_process_data();
@ -69,14 +69,11 @@ void app_main(void) {
// s_bluetooth_processer.motor_drive_turn_flag = false;
// }
if (s_bluetooth_processer.auto_report_flag) {
encoder = motor_drive_read_encoder();
ESP_LOGI(MAIN_TAG, "encoder :%.2lf",encoder);
s_bluetooth_processer.auto_report_flag = false;
}
// motor_drive_set_packages_ctr(35.68);
// motor_drive_set_packages_data_max64bit(0x34,4,0X76482534);
// if (s_bluetooth_processer.auto_report_flag) {
// encoder = motor_drive_read_encoder();
// ESP_LOGI(MAIN_TAG, "encoder :%.2lf",encoder);
// s_bluetooth_processer.auto_report_flag = false;
// }
// uart_write_bytes(UART_NUM_1, (const char*)test_str, strlen(test_str));
// ets_delay_us(1000000);

14
main/motor_drive.c

@ -90,18 +90,20 @@ void motor_drive_set_packages_ctr(double position) {
uint8_t strbuffer[20] = {0};
position_int = position * 100;
ESP_LOGI(MOTOR_DRIVE, "%d", position_int);
if (position_int != 0) {
while ((position_int / 256) > 0) {
position_remainder = position_int % 256;
while ((position_int / 0XFF) > 0) {
position_remainder = position_int & 0XFF;
ESP_LOGI(MOTOR_DRIVE, "position_remainder :%d", position_remainder);
buffer[position_buffer_size] = position_remainder;
position_buffer_size += 1;
position_int = position_int / 256;
position_int = position_int >> 8;
checksum += position_remainder;
}
buffer[position_buffer_size] = position_int;
checksum += position_int;
checksum %= 256;
checksum = checksum & 0XFF;
buffer[9] = checksum;
}
for (int i = 0; i < 10; i++) {
@ -137,7 +139,7 @@ size_t motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buf
buffer[1] = cmd;
buffer[2] = 0X1;
buffer[3] = buffer_data_size;
buffer[4] = (0X3E + cmd + 0X1 + buffer_data_size) % 255;
buffer[4] = (0X3E + cmd + 0X1 + buffer_data_size) % 0XFF;
if (buffer_data_size > 0) {
hex_to_str_size = buffer_data_size + 1;
@ -147,7 +149,7 @@ size_t motor_drive_buffer_cmd_generate(uint8_t *buffer, uint8_t cmd, uint8_t buf
buffer[5 + i] = buffer_data_uint8;
checksum += buffer_data_uint8;
}
buffer[5 + buffer_data_size] = (checksum % 255);
buffer[5 + buffer_data_size] = (checksum % 0XFF);
}
motor_drive_hex_to_str((char *)buffer, (5 + hex_to_str_size), (char *)strbuffer);

Loading…
Cancel
Save