diff --git a/app/gl_tracking.h b/app/gl_tracking.h index 8b2de2c..70dd50d 100644 --- a/app/gl_tracking.h +++ b/app/gl_tracking.h @@ -2,6 +2,7 @@ #define TRACKING extern float (*mid_track)[2]; +extern int32_t mid_track_count; extern float pure_angle; extern float dx_near; diff --git a/app/jj_blueteeth.c b/app/jj_blueteeth.c index 9b9765b..62a0efc 100644 --- a/app/jj_blueteeth.c +++ b/app/jj_blueteeth.c @@ -2,11 +2,6 @@ #include "zf_common_headfile.h" -#define BT_UART_BAUDRATE (115200) -#define BT_UART_INDEX UART_8 -#define BT_UART_TX_PIN UART8_MAP0_TX_C4 -#define BT_UART_RX_PIN UART8_MAP0_RX_C5 - bool bt_rx_flag = false; uint8_t bt_buffer; // 接收字符存入 diff --git a/app/jj_blueteeth.h b/app/jj_blueteeth.h index b9765b6..2e6b419 100644 --- a/app/jj_blueteeth.h +++ b/app/jj_blueteeth.h @@ -3,6 +3,11 @@ #include "stdio.h" +#define BT_UART_BAUDRATE (115200) +#define BT_UART_INDEX UART_8 +#define BT_UART_TX_PIN UART8_MAP0_TX_C4 +#define BT_UART_RX_PIN UART8_MAP0_RX_C5 + void jj_bt_init(); void jj_bt_run(); void jj_bt_printf(const char *format, ...); diff --git a/app/page/page_rtcam.c b/app/page/page_rtcam.c index 9d520ee..5080eb4 100644 --- a/app/page/page_rtcam.c +++ b/app/page/page_rtcam.c @@ -2,6 +2,9 @@ #include "page_ui_widget.h" #include "page.h" +#include "jj_blueteeth.h" +#include "gl_data.h" + #define LINE_HEAD 11 #define LINE_END 16 @@ -21,7 +24,7 @@ static int8_t Curser_Last = LINE_HEAD; // 定义光标位置 static void Setup() { ips200_clear(); - Print_Curser(Curser, Curser_Last,RGB565_PURPLE); + Print_Curser(Curser, Curser_Last, RGB565_PURPLE); } /** @@ -69,7 +72,7 @@ static void Event(page_event event) Curser = LINE_HEAD; } - Print_Curser(Curser, Curser_Last,RGB565_PURPLE); + Print_Curser(Curser, Curser_Last, RGB565_PURPLE); } /** diff --git a/app/page/page_ui_widget.c b/app/page/page_ui_widget.c index 95351dd..4e7da69 100644 --- a/app/page/page_ui_widget.c +++ b/app/page/page_ui_widget.c @@ -8,7 +8,7 @@ * @param Curser_In 当前光标位置 * @param Curser_Last_In 上一时刻光标位置 */ -void Print_Curser(uint8_t Curser_In, uint8_t Curser_Last_In,uint16_t color) +void Print_Curser(uint8_t Curser_In, uint8_t Curser_Last_In, uint16_t color) { // ips200_show_string(0, Curser_Last_In * 18, " "); // ips200_show_string(0, Curser_In * 18, ">"); @@ -151,39 +151,45 @@ void Show_Marked_Image(void) ips200_draw_frame(START_X - 3, START_Y - 3, START_X + IMAGE_DISPLAY_WIDTH + 2, START_Y + IMAGE_DISPLAY_HEIGHT + 2, 2, RGB565_BLUE); // 确认边线数组在显示前不会清空 for (uint i = 0; i < PT_MAXLEN; i++) { - //寻近线逆透视后边线数组 - uint16_t l_x = START_X + (uint16_t)((float)pts_inv_r[i][1] * horizontal_zoom_rate); - uint16_t l_y = START_Y + (uint16_t)((float)pts_inv_r[i][0] * vertical_zoom_rate); - uint16_t r_x = START_X + (uint16_t)((float)pts_inv_l[i][1] * horizontal_zoom_rate); - uint16_t r_y = START_Y + (uint16_t)((float)pts_inv_l[i][0] * vertical_zoom_rate); - //寻远线逆透视后边线数组 - // uint16_t far_l_x = START_X + (uint16_t)((float)pts_far_inv_r[i][1] * horizontal_zoom_rate); - // uint16_t far_l_y = START_Y + (uint16_t)((float)pts_far_inv_r[i][0] * vertical_zoom_rate); - // uint16_t far_r_x = START_X + (uint16_t)((float)pts_far_inv_l[i][1] * horizontal_zoom_rate); - // uint16_t far_r_y = START_Y + (uint16_t)((float)pts_far_inv_l[i][0] * vertical_zoom_rate); - //寻近线中线数组 - // uint16_t mid_x_l = START_X + (uint16_t)(mid_left[i][1] * horizontal_zoom_rate); - // uint16_t mix_y_l = START_Y + (uint16_t)(mid_left[i][0] * vertical_zoom_rate); - // uint16_t mid_x_r = START_X + (uint16_t)(mid_right[i][1] * horizontal_zoom_rate); - // uint16_t mix_y_r = START_Y + (uint16_t)(mid_right[i][0] * vertical_zoom_rate); + // 寻近线逆透视后边线数组 + uint16_t l_x = START_X + (uint16_t)((float)pts_inv_r[i][1] * horizontal_zoom_rate); + uint16_t l_y = START_Y + (uint16_t)((float)pts_inv_r[i][0] * vertical_zoom_rate); + uint16_t r_x = START_X + (uint16_t)((float)pts_inv_l[i][1] * horizontal_zoom_rate); + uint16_t r_y = START_Y + (uint16_t)((float)pts_inv_l[i][0] * vertical_zoom_rate); + // 寻远线逆透视后边线数组 + // uint16_t far_l_x = START_X + (uint16_t)((float)pts_far_inv_r[i][1] * horizontal_zoom_rate); + // uint16_t far_l_y = START_Y + (uint16_t)((float)pts_far_inv_r[i][0] * vertical_zoom_rate); + // uint16_t far_r_x = START_X + (uint16_t)((float)pts_far_inv_l[i][1] * horizontal_zoom_rate); + // uint16_t far_r_y = START_Y + (uint16_t)((float)pts_far_inv_l[i][0] * vertical_zoom_rate); + // 寻近线中线数组 + // uint16_t mid_x_l = START_X + (uint16_t)(mid_left[i][1] * horizontal_zoom_rate); + // uint16_t mix_y_l = START_Y + (uint16_t)(mid_left[i][0] * vertical_zoom_rate); + // uint16_t mid_x_r = START_X + (uint16_t)(mid_right[i][1] * horizontal_zoom_rate); + // uint16_t mix_y_r = START_Y + (uint16_t)(mid_right[i][0] * vertical_zoom_rate); uint16_t mid_x = START_X + (uint16_t)(mid_track[i][1] * horizontal_zoom_rate); uint16_t mix_y = START_Y + (uint16_t)(mid_track[i][0] * vertical_zoom_rate); - //近线数组显示 - ips200_draw_rect(l_x, l_y, l_x + 2, l_y, RGB565_RED); - ips200_draw_rect(r_x - 2, r_y, r_x, r_y, RGB565_BLUE); + // 近线数组显示 + if (i < pts_inv_l_count) { + ips200_draw_rect(l_x, l_y, l_x + 2, l_y + 1, RGB565_RED); + } + if (i < pts_inv_r_count) { + ips200_draw_rect(r_x - 2, r_y, r_x, r_y + 1, RGB565_BLUE); + } - //远线数组显示 - //ips200_draw_rect(far_l_x, far_l_y, far_l_x + 2, far_l_y, RGB565_RED); - //ips200_draw_rect(far_r_x - 2, far_r_y, far_r_x, far_r_y, RGB565_BLUE); + // 远线数组显示 + // ips200_draw_rect(far_l_x, far_l_y, far_l_x + 2, far_l_y, RGB565_RED); + // ips200_draw_rect(far_r_x - 2, far_r_y, far_r_x, far_r_y, RGB565_BLUE); - //左右中线数组显示 - // ips200_draw_rect(mid_x_l, mix_y_l, mid_x_l + 2, mix_y_l, RGB565_BLACK); - // ips200_draw_rect(mid_x_r, mix_y_r, mid_x_r + 2, mix_y_r, RGB565_BLUE); + // 左右中线数组显示 + // ips200_draw_rect(mid_x_l, mix_y_l, mid_x_l + 2, mix_y_l, RGB565_BLACK); + // ips200_draw_rect(mid_x_r, mix_y_r, mid_x_r + 2, mix_y_r, RGB565_BLUE); - //最终中线数字显示 - ips200_draw_rect(mid_x, mix_y, mid_x + 2, mix_y, RGB565_BLACK); + // 最终中线数字显示 + if (i < mid_track_count) { + ips200_draw_rect(mid_x, mix_y, mid_x + 2, mix_y + 1, RGB565_BLACK); + } // ips200_draw_point(START_X + (uint16_t)((float)pts_right[i][1] * horizontal_zoom_rate), START_Y + (uint16_t)((float)pts_right[i][0] * vertical_zoom_rate), RGB565_GREEN); // ips200_draw_point(START_X + (uint16_t)((float)pts_right[i][1] * horizontal_zoom_rate) - 1, START_Y + (uint16_t)((float)pts_right[i][0] * vertical_zoom_rate), RGB565_GREEN);