Page 127
After MOTOR_SET runs, the stack is empty. The first thing you need to push on the stack is power; the last thing is index. In your code, it comes out in the same order:
7 2 0 MOTOR_SET
In this case, 7 is power, 2 is mode, and 0 is index.
The very first pbFORTH word initializes the RCX:
RCX_INIT ( -- )
This word starts the input and output handlers, system timers, and performs other important initializations. After you load pbFORTH on the RCX, call this word before you try to do anything with
the inputs, outputs, buttons, or other RCX services.
Output Control
One word is devoted to controlling the RCX's outputs:
MOTOR_SET (power mode index -- )
This word turns an output on or off. It pops three parameters off the stack. The power parameter should be 1 to 7, where 7 is full power. The mode parameter indicates whether the output should
be turned on going forward (1) or in reverse (2), or if it should be turned off in "brake" (3) or "float" (4) modes. In brake mode, the motor shaft resists turning; in float mode, it turns freely. The top
parameter, index, should be 0, 1, or 2, representing output A, B, or C, respectively.
For example, to turn on output 3 in full reverse, do this:
7 2 2 MOTOR_SET
Remember that constants can make this kind of code a lot nicer. For example:
7 CONSTANT OUT_FULL
ok
2 CONSTANT FORWARD 4 CONSTANT FLOAT
ok
2 CONSTANT OUT_3
ok
OUT_FULL FORWARD OUT_3 MOTOR_SET
ok
OUT_FULL FLOAT OUT_3 MOTOR_SET
ok
Front Panel Buttons
pbFORTH provides two words that allow you to examine which front panels are pressed.