Robot Specific Blocks#

All standard VEXcode VR Blocks are available for use in the VIQRC Virtual Skills - Slapshot Playground.

Motion#

This Playground’s Blocks will have access to the IntakeMotor and ArmMotor parameters for all Motion blocks.

When selecting a direction for Motion blocks, intake will spin the motor group forward and outtake spins the motor group in reverse.

Spin#

The Spin block is used to spin a motor indefinitely.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

slapshot_spin_block

Select which motor to use.

slapshot_spin_motor

Select which direction for the motor to move in.

slapshot_spin_direction

In this example, the intake motors will spin in the intake direction for 1 second before stopping.

slapshot_spin_example

Spin for#

The Spin for block is used to spin a motor for a given distance.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

slapshot_spin_for_block

Select which motor to use.

slapshot_spin_for_motor

Select which direction for the motor to move in.

slapshot_spin_for_direction

Set how far the motor will spin by entering a value, and choosing the unit of measurement (degrees or turns).

slapshot_spin_for_unit

By default, the Spin for block will block any subsequent blocks from executing until it’s finished. By expanding the Spin for block to show and don’t wait, blocks will continue to execute while the motor is moving.

slapshot_spin_for_wait

In this example, the intake motor will spin in the intake direction for 180 degrees.

slapshot_spin_for_example

Spin to position#

The Spin to position block is used to spin a motor to a set position.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

slapshot_spin_to_position_block

Select which motor to use.

slapshot_spin_to_position_motor

Set how far the motor will spin by entering a value, and choosing the unit of measurement (degrees or turns).

slapshot_spin_to_position_unit

By default, the Spin to position block will block any subsequent blocks from executing until it’s finished. By expanding the Spin to position block to show and don’t wait, blocks will continue to execute while the motor is moving.

slapshot_spin_to_position_wait

In this example, the intake motor will spin to the 180 degrees position.

slapshot_spin_to_position_example

Stop Motor#

The Stop Motor block is used to stop the motor from moving.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

slapshot_stop_block

Select which motor to use.

slapshot_stop_motor

In this example, the intake motors will spin in the intake direction for 1 second before stopping.

slapshot_spin_example

Set Motor position#

The Set Motor position block is used to set a motor’s encoder position(s) to the entered value.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

slapshot_set_motor_position_block

Select which motor to use.

slapshot_set_motor_position_motor

Set the unit of measurement to use, degrees or turns.

slapshot_set_motor_position_unit

In this example, the Motor’s encoder position is set to 90 degrees before the motor spins to the 0 degrees position.

slapshot_set_motor_position_example

Set Motor velocity#

The Set Motor velocity block is used to set the speed of a motor.

This is a non-waiting block and allows any subsequent blocks to execute without delay.

slapshot_set_motor_velocity_block

Select which motor to use.

slapshot_set_motor_velocity_motor

The Set Motor velocity block will accept a range of -100% to 100%.

In this example, the Motor’s velocity is set to 75% before it spins for 1 turn in the intake direction.

slapshot_set_motor_velocity_example

Set Motor timeout#

The Set Motor timeout block is used to set a time limit for VEX IQ Motor movement blocks.

This prevents motion blocks that do not reach their intended position from preventing subsequent blocks from running.

This is a non-waiting command and allows any subsequent commands to execute without delay.

slapshot_set_motor_timeout_block

Select which motor to use.

slapshot_set_motor_timeout_motor

In this example, the motor timeout is set to 2 seconds before it spins the motor for 3 turns in the outtake direction.

slapshot_set_motor_timeout_example

Sensing#

Byte has access to the standard Brain, Drivetrain, Bumper, Distance Sensing Blocks.

Eye Sensing has been renamed to Optical Sensing to match the Front Optical Sensor.

Byte has access to Motor Sensing Blocks:

Motor is done#

The Motor is done block is used to report if the selected Motor or Motor Group has completed its movement.

slapshot_motor_done_block

Select which Motor or Motor Group to use.

slapshot_motor_done_motor

The Motor is done block reports True when the selected Motor or Motor Group has completed its movement.

The Motor is done block reports False when the selected Motor or Motor Group has not completed its movement.

The Motor is done block is used in blocks with hexagonal (six-sided) spaces.

In this example, the Arm will be raised so the Distance Sensor can report the closest object’s distance.

Example coming soon.

Motor is spinning#

The Motor is spinning block is used to report if the selected Motor or Motor Group is moving.

slapshot_motor_spinning_block

Select which Motor or Motor Group to use.

slapshot_motor_spinning_motor

The Motor is spinning block reports True when the selected Motor or Motor Group is moving.

The Motor is spinning block reports False when the selected Motor or Motor Group is not moving.

The Motor is spinning block is used in blocks with hexagonal (six-sided) spaces.

In this example, the Arm will be raised while the Intake Motor Group is still moving.

Example coming soon.

Position of motor#

The Position of motor block is used to report the position of a Motor or the first motor in a Motor Group.

slapshot_motor_position_block

Select which Motor or Motor Group to use.

slapshot_motor_position_motor

Select when unit to use, degrees or turns.

slapshot_motor_position_unit

The Position of motor block is used in blocks with circular spaces.

In this example, the robot will print the current position of the Arm Motor Group.

Example coming soon.

Velocity of motor#

The Velocity of motor block is used to report the current velocity of a Motor or the first motor in a Motor Group.

slapshot_motor_velocity_block

Select which Motor or Motor Group to use.

slapshot_motor_velocity_motor

The Velocity of motor block is used in blocks with circular spaces.

In this example, the robot will print the current velocity of the Intake Motor Group.

Example coming soon.