Control#
Introduction#
Control includes methods for timing, program flow, conditional logic, and project termination. These controls let you pause execution, create loops, define logic paths, and end a program. Below is a list of available controls, including methods and core Python keywords:
wait– Pauses execution for a given number of milliseconds or seconds.for– Repeats code for each item in a sequence.if– Executes code if a condition is true.if/else– Runs different code depending on a condition.if/elif/else– Checks multiple conditions in order.while– Repeats code while a condition is true.break– Exits a loop immediately.program_stop– Ends the running program.pass– Placeholder used when no action is needed.
wait#
wait pauses for a specific amount of time before moving to the next method.
Usage:wait(time, units)
Parameters |
Description |
|---|---|
|
The amount of time to wait, as a positive integer. |
|
Milliseconds |
# Move the arm to the desired position and then blink the signal tower
arm.move_to(40, 140, 210, False)
wait(1, SECONDS)
signaltower_1.set_color(signal_tower.BLUE, signal_tower.BLINK)
for#
for iterates over a sequence (such as a list, tuple, dictionary, set, or string) or any iterable object. It executes the block of code once for each item in the sequence.
Usage:
for value in expression_list:
pass
Parameters |
Description |
|---|---|
|
A temporary variable that stores the current element in the iteration. |
|
The collection of elements being looped through (e.g., list, string, range). |
# Move the arm 4 times by 100 millimeters on the y axis
for index in range(4):
arm.move_inc(0, 100, 0)
if#
if executes the indented block of code if the condition evaluates as True.
Usage:
if condition:
pass
Parameters |
Description |
|---|---|
|
An expression or variable that is evaluated when the statement runs. If it evaluates as |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
print("\033[2J")
print(timer.time(SECONDS))
wait(50, MSEC)
if arm.is_done():
timer.clear()
if/else#
if and else determine which indented block of code runs based on whether the condition evaluates as True or False.
Usage:
if condition:
pass
else:
pass
Parameters |
Description |
|---|---|
|
An expression or variable that is evaluated when the statement runs. If it evaluates as |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
timer.clear()
else:
print("\033[2J")
print(timer.time(SECONDS))
wait(50, MSEC)
if/elif/else#
The if/elif/else structure selects which indented block of code runs based on conditions:
ifruns its block if the condition evaluates asTrue.elifchecks additional conditions only if all previous conditions evaluated asFalse. Multipleelifstatements can be used.elseruns its block only if none of the previous conditions evaluated asTrue.
Usage:
if condition:
pass
elif condition:
pass
else:
pass
Parameters |
Description |
|---|---|
|
An expression or variable that is evaluated when the statement runs. The first condition that evaluates as |
# Change the signal tower light if arm can reach to the desired position
while True:
if arm.can_arm_reach_to(200, 200, 200):
signaltower_1.set_color(signal_tower.BLUE, signal_tower.BLINK)
elif arm.can_arm_reach_to(300, 300, 300):
signaltower_1.set_color(signal_tower.GREEN, signal_tower.BLINK)
else:
signaltower_1.set_color(signal_tower.OFF, signal_tower.OFF)
wait(50, MSEC)
while#
while repeatedly runs methods as long as the condition is True. It can also be used like a “Wait until” by adding not to the condition, as shown in the example below.
Usage:
while condition:
pass
Parameters |
Description |
|---|---|
|
An expression or variable that is evaluated before each iteration. If it evaluates as |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(timer.time(SECONDS))
wait(50, MSEC)
# Blink blue light until the move is completed
signaltower_1.set_color(signal_tower.BLUE, signal_tower.BLINK)
arm.move_to(-100, 200, 100, False)
while not arm.is_done():
wait(0.2, SECONDS)
signaltower_1.set_color(signal_tower.BLUE, signal_tower.ON)
break#
break is a keyword that exits a loop immediately.
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(timer.time(SECONDS))
wait(50, MSEC)
program_stop#
program_stop ends a running project.
Usage:brain.program_stop()
Parameters |
Description |
|---|---|
This method has no parameters. |
# Stop the project until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(timer.time(SECONDS))
wait(50, MSEC)
brain.program_stop()
pass#
pass is a keyword that acts as a placeholder for future code and can be used to avoid errors in empty loops, conditionals, and functions.
if condition:
pass
def function():
pass