예제 #1
0
def lock_carriage_move_elevator(speed: float) -> InstantCommand:
    def move():
        RobotMap.lifter_component.set_carriage_speed(-1)
        RobotMap.lifter_component.set_elevator_speed(speed)

    return InstantCommand(move)
예제 #2
0
def move_down_instant() -> InstantCommand:
    target_position = LifterComponent.positions[
        RobotMap.lifter_component.prev_position()]
    return InstantCommand(
        lambda: RobotMap.lifter_component.lift_to_distance(target_position))
예제 #3
0
def toggle_spread() -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.gripper_component.toggle_spread_state())
예제 #4
0
def move_to_position_instant(position: str) -> InstantCommand:
    return InstantCommand(lambda: RobotMap.lifter_component.lift_to_distance(
        LifterComponent.positions[position]))
예제 #5
0
def spread() -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.gripper_component.set_spread_state(True))
예제 #6
0
def close() -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.gripper_component.set_spread_state(False))
예제 #7
0
def stop() -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.gripper_component.set_motor_speeds(0, 0))
예제 #8
0
def move_left_right(speed: float) -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.gripper_component.set_motor_speeds(speed, speed))
예제 #9
0
def spit() -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.gripper_component.set_motor_speeds(-1, -1))
예제 #10
0
def stop() -> InstantCommand:
    return InstantCommand(lambda: RobotMap.climb_component.stop())
예제 #11
0
def set_low_gear() -> InstantCommand:
    return InstantCommand(RobotMap.driver_component.set_low_gear)
예제 #12
0
def curve_drive(linear: float, angular: float) -> InstantCommand:
    return InstantCommand(
        lambda: RobotMap.driver_component.set_curve(linear, angular))
예제 #13
0
def toggle_gear() -> InstantCommand:
    return InstantCommand(RobotMap.driver_component.toggle_gear)