@@ -58,7 +58,7 @@ static PT_THREAD(test_servo_basics(struct pt *pt)) {
5858 tt_uint_op (pbio_servo_get_state_user (srv , & start_angle , & speed ), = = , PBIO_SUCCESS );
5959 tt_int_op (speed , = = , 0 );
6060
61- // Test running by angle.
61+ // Test running BY angle.
6262 tt_uint_op (pbio_servo_run_angle (srv , 500 , 180 , PBIO_CONTROL_ON_COMPLETION_HOLD ), = = , PBIO_SUCCESS );
6363 pbio_test_sleep_until (pbio_control_is_done (& srv -> control ));
6464 tt_uint_op (pbio_servo_get_state_user (srv , & angle , & speed ), = = , PBIO_SUCCESS );
@@ -68,6 +68,12 @@ static PT_THREAD(test_servo_basics(struct pt *pt)) {
6868 tt_uint_op (pbio_servo_get_state_user (srv , & angle , & speed ), = = , PBIO_SUCCESS );
6969 tt_want (pbio_test_int_is_close (speed , 0 , 50 )); // Want further slowdown after holding.
7070
71+ // Test running TO angle.
72+ tt_uint_op (pbio_servo_run_target (srv , 500 , -90 , PBIO_CONTROL_ON_COMPLETION_HOLD ), = = , PBIO_SUCCESS );
73+ pbio_test_sleep_until (pbio_control_is_done (& srv -> control ));
74+ tt_uint_op (pbio_servo_get_state_user (srv , & angle , & speed ), = = , PBIO_SUCCESS );
75+ tt_want (pbio_test_int_is_close (angle , -90 , 5 )); // Target should be close.
76+
7177 // Test running for time.
7278 tt_uint_op (pbio_servo_run_time (srv , 500 , 1000 , PBIO_CONTROL_ON_COMPLETION_HOLD ), = = , PBIO_SUCCESS );
7379 pbio_test_sleep_ms (& timer , 500 );
0 commit comments