Browse Source

update

devtest
zwsd 3 years ago
parent
commit
e397650129
  1. 3
      .vscode/settings.json
  2. 7
      main/ble_parse_data.c
  3. 3
      main/ble_parse_data.h
  4. 2
      main/main.c
  5. 11
      main/motor_drive.c

3
.vscode/settings.json

@ -64,6 +64,7 @@
"thread": "c",
"ratio": "c",
"typeinfo": "c",
"utility": "c"
"utility": "c",
"sdkconfig.h": "c"
},
}

7
main/ble_parse_data.c

@ -240,4 +240,11 @@ void string_copy_by_num(char *dest, const char *src, uint8_t count, uint8_t num)
for (i = 0; i < num; i++) {
dest[i] = src[(count * 15) + i];
}
}
void bluetooth_active_notify(uint8_t *buffer, uint8_t buffer_size) {
if (parse_bluetooth_processer->table_handle_m != 0) {
esp_ble_gatts_send_indicate(parse_bluetooth_processer->table_gatts_if_m, parse_bluetooth_processer->table_conn_id_m, //
parse_bluetooth_processer->table_handle_m, buffer_size, buffer, false);
}
}

3
main/ble_parse_data.h

@ -60,4 +60,5 @@ void receipt_json_set_position();
void receipt_json_get_status();
void bluetooth_auto_report_format_receipt();
void bluetooth_tx_buffer_send_indicate(cb_t format);
void string_copy_by_num(char *dest, const char *src, uint8_t count, uint8_t num);
void string_copy_by_num(char *dest, const char *src, uint8_t count, uint8_t num);
void bluetooth_active_notify(uint8_t *buffer, uint8_t buffer_size);

2
main/main.c

@ -63,7 +63,7 @@ void app_main(void) {
// receipt_json_get_status();
// s_bluetooth_processer.auto_report_flag = false;
// }
motor_drive_read_encoder();
// if ((motor_drive_read_encoder() == s_bluetooth_processer.position) && s_bluetooth_processer.motor_drive_turn_flag == true) {
// ESP_LOGI("test", "info log ok\n");
// s_bluetooth_processer.motor_drive_turn_flag = false;

11
main/motor_drive.c

@ -1,5 +1,6 @@
#include "motor_drive.h"
#include "ble_parse_data.h"
#include "driver/uart.h"
#include "esp_log.h"
@ -44,6 +45,7 @@ double motor_drive_read_encoder() {
size_t encoder_buffer_size = 5;
uint8_t buffer[5] = {0X3E, 0X90, 0X01, 0X00, 0XCF};
uint16_t encoder_data = 0;
char *notify_err = "read encoder error";
// Generate cmd
// encoder_buffer_size = motor_drive_buffer_cmd_generate(buffer, 0x90, 4, 0X5A97FF00);
@ -63,6 +65,7 @@ double motor_drive_read_encoder() {
encoder_buffer_size = uart_read_bytes(uart_num, buffer, 12, 2000 / portTICK_RATE_MS);
if (encoder_buffer_size != 12 || buffer[0] != 0X3E) {
ESP_LOGW(MOTOR_DRIVE, "encoder size:%d,buffer[0] = 0X%x", encoder_buffer_size, buffer[0]);
bluetooth_active_notify((uint8_t *)notify_err, strlen(notify_err));
return -1;
}
@ -87,6 +90,7 @@ void motor_drive_set_packages_ctr(double position) {
uint8_t position_buffer_size = 5; //()
uint8_t checksum = 0;
uint8_t buffer[10] = {0x3E, 0XA7, 0X01, 0X04, 0XEA, 0X00, 0X00, 0X00, 0X00, 0X00};
char *notify_err = "set size error";
position_int = position * 100;
@ -115,12 +119,12 @@ void motor_drive_set_packages_ctr(double position) {
position_buffer_size = uart_read_bytes(uart_num, buffer, 13, 2000 / portTICK_RATE_MS);
if (position_buffer_size != 13 || buffer[0] != 0X3E) {
ESP_LOGW(MOTOR_DRIVE, "set motor size error ,buffer_size:%d,buffer[0] = 0X%x", position_buffer_size, buffer[0]);
bluetooth_active_notify((uint8_t *)notify_err, strlen(notify_err));
return;
}
// Parse receive
// motor_drive_buffer_cmd_parse(buffer);
}
void motor_drive_hex_to_str(const char *hex, int hex_len, char *str) {
@ -193,7 +197,7 @@ void motor_drive_buffer_cmd_parse(uint8_t *buffer) {
u_int8_t motor_drive_set_motor_current_size() {
size_t set_current_buffer_size = 5;
uint8_t buffer[5] = {0X3E, 0X19, 0X01, 0X00, 0X58};
char *notify_err = "Set current size err";
uart_flush(uart_num);
uart_write_bytes(uart_num, buffer, 5);
@ -204,6 +208,7 @@ u_int8_t motor_drive_set_motor_current_size() {
set_current_buffer_size = uart_read_bytes(uart_num, buffer, 5, 2000 / portTICK_RATE_MS);
if (set_current_buffer_size != 5 || buffer[0] != 0X3E) {
ESP_LOGW(MOTOR_DRIVE, "Set current size:%d,buffer[0] = 0X%x", set_current_buffer_size, buffer[0]);
bluetooth_active_notify((uint8_t *)notify_err, strlen(notify_err));
return 1;
}
@ -214,6 +219,7 @@ double motor_drive_read_single_turn_angle() {
uint16_t turn_angle_data = 0;
size_t turn_angle_buffer_size = 5;
uint8_t buffer[5] = {0X3E, 0X94, 0X01, 0X00, 0XD3};
char *notify_err = "Turn angle size err";
uart_flush(uart_num);
uart_write_bytes(uart_num, buffer, 5);
@ -225,6 +231,7 @@ double motor_drive_read_single_turn_angle() {
turn_angle_buffer_size = uart_read_bytes(uart_num, buffer, 8, 2000 / portTICK_RATE_MS);
if (turn_angle_buffer_size != 8 || buffer[0] != 0X3E) {
ESP_LOGW(MOTOR_DRIVE, "Turn angle size:%d,buffer[0] = 0X%x", turn_angle_buffer_size, buffer[0]);
bluetooth_active_notify((uint8_t *)notify_err, strlen(notify_err));
return -1;
}

Loading…
Cancel
Save