orientation entry/ get_shot turn entry/ orientation.start_motor(AXIS_Z) exit/ orientation.stop_motor(AXIS_Z) get_shot slow_down entry/ reduce_speed() start_turn entry/ calculate_turn() finish_turn entry/ complete_turn() idle entry/ wait entry/ get_shot maintain entry/ orientation.start_motor(AXIS_Z) exit/ orientation.stop_motor(AXIS_Z) get_shot correct_cw entry/ orientation.set_motor_moment(AXIS_Z, -M) correct_ccw entry/ orientation.set_motor_moment(AXIS_Z, M) static entry/ Init scripts: test3sm_constants.py test3sm_orient.py STOP TANGENT(target_a) / update_turn_parameters(target_a, 0.0) BACK(target_a) / update_turn_parameters(target_a, 180.0) [completed()] [completed()] TIME_TICK [orientation_completed()] / DISPATCH(cpu, 'ORIENTED') DISPATCH(navigation, 'ORIENTED') [orientation.get_angular_velocity(AXIS_Z) < DW] [orientation.get_angular_velocity(AXIS_Z) > DW] [completed()] [is_target_dw()] [not is_target_dw()]