feat: 增加 vofa 打印到上位机功能
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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, ...);
|
||||||
|
|||||||
@@ -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; // 图像远端输入
|
||||||
|
|||||||
10
app/main.c
10
app/main.c
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user