@@ -70,20 +70,22 @@ void pb_background_pursuit_update(void) {
7070
7171 // 1. PROJECT TARGET POINT
7272 // Use sp_a, sp_b, sp_c, sp_d and p_lookahead to find target_x and target_y
73- float target_x = 0.0f ;
74- float target_y = 0.0f ;
73+ //TODO
74+ //float target_x = 0.0f;
75+ //float target_y = 0.0f;
7576
7677 // 2. CHECK EXIT CONDITION
7778 // Decide when to set pursuit_running = false (e.g. reaching sp_x_end)
7879
7980 // 3. PURE PURSUIT MATH
8081 // Calculate m_left and m_right based on target_x/y relative to global_x/y
81- float m_left = 1.0f ;
82- float m_right = 1.0f ;
82+ // float m_left = 1.0f;
83+ // float m_right = 1.0f;
8384
8485 // 4. DRIVE
85- pbio_servo_run_velocity (left_servo_ptr , (int32_t )(p_target_speed * m_left ));
86- pbio_servo_run_velocity (right_servo_ptr , (int32_t )(p_target_speed * m_right ));
86+ pbio_servo_run_forever (left_servo_ptr , (int32_t )(p_target_speed * m_left ));
87+ pbio_servo_run_forever (right_servo_ptr , (int32_t )(p_target_speed * m_right ));
88+
8789}
8890
8991// --- MicroPython API ---
@@ -132,10 +134,11 @@ mp_obj_t experimental_start_spline(size_t n_args, const mp_obj_t *args) {
132134mp_obj_t experimental_stop_pursuit (void ) {
133135 pursuit_running = false;
134136 if (left_servo_ptr && right_servo_ptr ) {
135- pbio_servo_stop (left_servo_ptr , PBIO_CONTROL_STOP_BRAKE );
136- pbio_servo_stop (right_servo_ptr , PBIO_CONTROL_STOP_BRAKE );
137+ pbio_servo_stop (left_servo_ptr , PBIO_CONTROL_ON_COMPLETION_BRAKE );
138+ pbio_servo_stop (right_servo_ptr , PBIO_CONTROL_ON_COMPLETION_BRAKE );
137139 }
138140 return mp_const_none ;
141+
139142}
140143
141144#endif
0 commit comments