feat: 增加 vofa 打印到上位机功能

This commit is contained in:
bmy
2024-03-11 20:25:14 +08:00
parent 681b47736c
commit 3bb5383c06
7 changed files with 36 additions and 14 deletions

View File

@@ -91,15 +91,16 @@ void by_frame_parse(uint8_t data_num, uint32_t *data_array)
fifo_clear(&frame_fifo); // TODO 确认是否有必要清除 fifo_clear(&frame_fifo); // TODO 确认是否有必要清除
// lwrb_reset(&lwrb_struct); // 处理完直接清空缓冲区,避免堆积产生处理阻塞 // lwrb_reset(&lwrb_struct); // 处理完直接清空缓冲区,避免堆积产生处理阻塞
memset(data_array_temp, 0, sizeof(data_array_temp)); memset(data_array_temp, 0, sizeof(data_array_temp));
for (uint8_t i = 0; i < data_num; i++) {
for (uint8_t j = 0; j < 4; j++) { // for (uint8_t i = 0; i < data_num; i++) {
uart_write_byte(DEBUG_UART_INDEX, data_array[i] >> (j * 8)); // for (uint8_t j = 0; j < 4; j++) {
} // uart_write_byte(DEBUG_UART_INDEX, data_array[i] >> (j * 8));
} // }
uart_write_byte(DEBUG_UART_INDEX, 0x00); // }
uart_write_byte(DEBUG_UART_INDEX, 0x00); // uart_write_byte(DEBUG_UART_INDEX, 0x00);
uart_write_byte(DEBUG_UART_INDEX, 0x80); // uart_write_byte(DEBUG_UART_INDEX, 0x00);
uart_write_byte(DEBUG_UART_INDEX, 0x7F); // uart_write_byte(DEBUG_UART_INDEX, 0x80);
// uart_write_byte(DEBUG_UART_INDEX, 0x7F);
} }
break; break;

View File

@@ -9,7 +9,11 @@ void by_vofa_init(by_vofa_t *vofa, uart_index_enum uart_index, uint8_t param_num
void by_vofa_send(by_vofa_t *vofa) void by_vofa_send(by_vofa_t *vofa)
{ {
const uint8_t tail[4] = {0x00, 0x00, 0x80, 0x7F}; const uint8_t tail[4] = {0x00, 0x00, 0x80, 0x7F};
uart_write_buffer(vofa->uart_index, (uint8_t *)vofa->param_ptr, vofa->param_num * 4); const uint8_t *param_ptr_u8 = (uint8_t *)vofa->param_ptr;
for (uint16_t i = 0; i < vofa->param_num * 4; i++) {
uart_write_byte(vofa->uart_index, *(param_ptr_u8 + i));
}
uart_write_buffer(vofa->uart_index, tail, 4); uart_write_buffer(vofa->uart_index, tail, 4);
} }

View File

@@ -21,7 +21,7 @@ enum bt_order {
*/ */
void jj_bt_init() void jj_bt_init()
{ {
uart_init(UART_8, 115200, UART8_MAP0_TX_C4, UART8_MAP0_RX_C5); uart_init(BT_UART_INDEX, BT_UART_BAUDRATE, BT_UART_TX_PIN, BT_UART_RX_PIN);
// uart_tx_interrupt(UART_2, 1); // uart_tx_interrupt(UART_2, 1);
uart_rx_interrupt(UART_8, ENABLE); uart_rx_interrupt(UART_8, ENABLE);
} }

View File

@@ -1,13 +1,21 @@
#ifndef _JJ_BLUETEETH_H_ #ifndef _JJ_BLUETEETH_H_
#define _JJ_BLUETEETH_H_ #define _JJ_BLUETEETH_H_
#include "stdio.h" #include "stdio.h"
#include "zf_driver_uart.h" #include "zf_driver_uart.h"
#define BT_UART_INDEX UART_8
#define BT_UART_BAUDRATE 115200
#define BT_UART_TX_PIN UART8_MAP0_TX_C4
#define BT_UART_RX_PIN UART8_MAP0_RX_C5
extern bool bt_rx_flag; extern bool bt_rx_flag;
extern uint8 bt_buffer; // 接收字符存入 extern uint8 bt_buffer; // 接收字符存入
extern uint32_t bt_run_flag; extern uint32_t bt_run_flag;
extern uint8_t bt_fly_flag; extern uint8_t bt_fly_flag;
extern uint32_t bt_run; extern uint32_t bt_run;
extern uint32_t bt_fly; extern uint32_t bt_fly;
void jj_bt_init(); void jj_bt_init();
void jj_bt_run(); void jj_bt_run();
void bt_printf(const char *format, ...); void bt_printf(const char *format, ...);

View File

@@ -61,6 +61,7 @@ void sport_motion(void)
cnt1++; cnt1++;
cnt2++; cnt2++;
imu660ra_get_gyro(); imu660ra_get_gyro();
in_gyro = imu660ra_gyro_z; // 陀螺仪输入 in_gyro = imu660ra_gyro_z; // 陀螺仪输入
// in_angle = 0; // 图像远端输入 // in_angle = 0; // 图像远端输入

View File

@@ -30,11 +30,15 @@
#include "jj_blueteeth.h" #include "jj_blueteeth.h"
#include "by_imu.h" #include "by_imu.h"
#include "by_vofa.h"
#include "by_buzzer.h" #include "by_buzzer.h"
#include "by_frame.h" #include "by_frame.h"
#include "by_rt_button.h" #include "by_rt_button.h"
#include "by_fan_control.h" #include "by_fan_control.h"
by_vofa_t vofa_test;
float debug_array[2];
int main(void) int main(void)
{ {
TYPE_UNION test_data[2]; TYPE_UNION test_data[2];
@@ -58,9 +62,13 @@ int main(void)
pit_ms_init(TIM1_PIT, 1); // 运动解算,编码器 pit_ms_init(TIM1_PIT, 1); // 运动解算,编码器
printf("ok\r\n"); // printf("ok\r\n");
by_vofa_init(&vofa_test, BT_UART_INDEX, sizeof(debug_array) / sizeof(debug_array[0]), debug_array);
while (1) { while (1) {
debug_array[0] = in_pos;
debug_array[1] = out_pos;
by_vofa_send(&vofa_test); // 发送数据
Page_Run(); Page_Run();
by_frame_parse(2, &test_data[0].u32); by_frame_parse(2, &test_data[0].u32);
by_buzzer_run(); by_buzzer_run();

View File

@@ -231,7 +231,7 @@ uint16_t rgb_gradient(uint16_t i)
r_h = (uint8_t)r; r_h = (uint8_t)r;
g_h = (uint8_t)g; g_h = (uint8_t)g;
b_h = (uint8_t)b; b_h = (uint8_t)b;
printf("%d - r:%d, g:%d, b:%d\r\n", i, r_h, g_h, b_h); // printf("%d - r:%d, g:%d, b:%d\r\n", i, r_h, g_h, b_h);
color |= (r_h & 0x1F) << 11; color |= (r_h & 0x1F) << 11;
color |= (g_h & 0x3F) << 5; color |= (g_h & 0x3F) << 5;
color |= (b_h & 0x1F); color |= (b_h & 0x1F);