Page 70 - The Unofficial Guide to Lego Mindstorms Robots
P. 70
59
Output Commands
NQC includes several commands for controlling the outputs of the RCX. You've already seen one of these, OnFwd, in our first
simple example.
On(const outputs)
This command turns on the specified outputs. The outputs should be some combination of the constant values OUT_A, OUT_B,
and OUT_C. Multiple outputs can be specified b y adding them together, as shown in the first example. When an output is
tu rned on, its current power and direction are consulted to determine what actually happens.
Off(const outputs)
Th is command turns off th e specified outputs, putting them in brake mode. For motors, this means that the motor shaft will be
hard to turn.
Float(const outputs)
Float() is really a variation of Off(). No power is sen t to the output, but the shaft of an attached motor will turn freely.
This is a useful option if you want your robot to coast to a stop.
You can set the direction of outputs with th e following three commands:
Fwd(const outputs)
hi
Use t s command to set the direction of the specified outputs to forward.
Rev(const outputs)
This comman d sets the direction of the specified outputs to reverse.
Toggle(const outputs)
To switch the direction of one or more outputs, use this command.
To determine the output power, use the following command:
SetPower(const outputs, expression speed)
This command sets the power of the given outputs. Any expression that evaluates to a value from one to seven can be used as
the speed. You may use the constant values OUT_LOW (1), OUT_HALF (4), and OUT_FULL (7) if you desire.
T o fully determine an output's actions, you should set its mode , direction, and power ex plicitly. By default, all three outputs are
set to full power and the forward direction. Therefore, calling On()is enough to get the motors running.
NQC provides two handy "combination" commands:
OnFwd(const outpu ts)
T his command turns on the specified outputs in the forward direction.
OnRev(const outputs)
This command turns on the specified outputs in the reverse direction.