This commit is contained in:
Glz
2024-06-16 21:54:30 +08:00
4 changed files with 7 additions and 3 deletions

View File

@@ -16,7 +16,7 @@ void by_frame_init(void)
{ {
lwrb_init(&lwrb_ctx, frame_buffer_recv, sizeof(frame_buffer_recv)); // lwrb 最大元素数量为 buff 大小减一 lwrb_init(&lwrb_ctx, frame_buffer_recv, sizeof(frame_buffer_recv)); // lwrb 最大元素数量为 buff 大小减一
uart_init(BY_FRAME_UART_INDEX, BY_FRAME_UART_BAUDRATE, BY_FRAME_UART_TX_PIN, BY_FRAME_UART_RX_PIN); uart_init(BY_FRAME_UART_INDEX, BY_FRAME_UART_BAUDRATE, BY_FRAME_UART_TX_PIN, BY_FRAME_UART_RX_PIN);
uart_rx_interrupt(BY_FRAME_UART_INDEX, ENABLE); // uart_rx_interrupt(BY_FRAME_UART_INDEX, ENABLE);
} }
void by_frame_send(uint32_t *data_array) void by_frame_send(uint32_t *data_array)

View File

@@ -4,6 +4,7 @@
float (*mid_track)[2]; float (*mid_track)[2];
int32_t mid_track_count; int32_t mid_track_count;
float pure_angle; float pure_angle;
float pure_angle_half;
float dx_near; float dx_near;
float curvature; float curvature;
float (*rpts)[2]; float (*rpts)[2];
@@ -176,7 +177,7 @@ void MidLineTrack()
int aim_idx_judge = clip(round(aim_judge_far / RESAMPLEDIST), 0, mid_track_count - 1); int aim_idx_judge = clip(round(aim_judge_far / RESAMPLEDIST), 0, mid_track_count - 1);
// 近锚点位置 // 近锚点位置
int aim_idx_near = clip(round(0.09 / RESAMPLEDIST), 0, rptsn_num - 1); int aim_idx_near = clip(round(aim_distance / 2 / RESAMPLEDIST), 0, rptsn_num - 1);
float dx1 = mid_track[3 * (mid_track_count / 4)][1] - mid_track[aim_idx_judge][1]; float dx1 = mid_track[3 * (mid_track_count / 4)][1] - mid_track[aim_idx_judge][1];
float dy1 = mid_track[3 * (mid_track_count / 4)][0] - mid_track[aim_idx_judge][0]; float dy1 = mid_track[3 * (mid_track_count / 4)][0] - mid_track[aim_idx_judge][0];
@@ -212,8 +213,10 @@ void MidLineTrack()
if (dy > 0) { if (dy > 0) {
pure_angle = -atanf(dx / dy) / PI32 * 180.0f; pure_angle = -atanf(dx / dy) / PI32 * 180.0f;
last_pure_angle = pure_angle; last_pure_angle = pure_angle;
last_pure_angle_half = pure_angle_half;
} else { } else {
pure_angle = last_pure_angle; pure_angle = last_pure_angle;
pure_angle_half = last_pure_angle_half;
} }
} }

View File

@@ -4,6 +4,7 @@
extern float (*mid_track)[2]; extern float (*mid_track)[2];
extern int32_t mid_track_count; extern int32_t mid_track_count;
extern float pure_angle; extern float pure_angle;
extern float pure_angle_half;
extern float dx_near; extern float dx_near;
extern int8_t turn_flag ; extern int8_t turn_flag ;

View File

@@ -57,7 +57,7 @@ int main(void)
Page_Run(); Page_Run();
by_buzzer_run(); by_buzzer_run();
tiny_frame_param[0].f32 = pure_angle; tiny_frame_param[0].f32 = pure_angle;
tiny_frame_param[1].f32 = dx_near; tiny_frame_param[1].f32 = pure_angle_half;
tiny_frame_param[2].u8[0] = (uint8_t)state_type; // 0: 无状态 1: 弯道 2: 直行 tiny_frame_param[2].u8[0] = (uint8_t)state_type; // 0: 无状态 1: 弯道 2: 直行
tiny_frame_param[2].u8[1] = (uint8_t)garage_type; // 0: 无车库 1: 有车库 tiny_frame_param[2].u8[1] = (uint8_t)garage_type; // 0: 无车库 1: 有车库
if (mt9v03x_finish_flag) { if (mt9v03x_finish_flag) {