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", "thread": "c",
"ratio": "c", "ratio": "c",
"typeinfo": "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++) { for (i = 0; i < num; i++) {
dest[i] = src[(count * 15) + 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 receipt_json_get_status();
void bluetooth_auto_report_format_receipt(); void bluetooth_auto_report_format_receipt();
void bluetooth_tx_buffer_send_indicate(cb_t format); 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(); // receipt_json_get_status();
// s_bluetooth_processer.auto_report_flag = false; // 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) { // if ((motor_drive_read_encoder() == s_bluetooth_processer.position) && s_bluetooth_processer.motor_drive_turn_flag == true) {
// ESP_LOGI("test", "info log ok\n"); // ESP_LOGI("test", "info log ok\n");
// s_bluetooth_processer.motor_drive_turn_flag = false; // s_bluetooth_processer.motor_drive_turn_flag = false;

11
main/motor_drive.c

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

Loading…
Cancel
Save