Page 145 - The Unofficial Guide to Lego Mindstorms Robots
P. 145
134
Power Management
pbFORTH includes a simple power management scheme that allows you to turn the unit off. It doesn't ac tually turn off
co mpletely; it just goes into a low power consum ption mode until you press the On-Off button to turn it on. This is exactly the
sa me behavior as with the default RCX firmware. Three words in pb FORTH are related to power:
POWER_INIT (--)
w
This ord initializes pbFORTH's power management.
P OWER_OFF (--)
Use this word to turn the RCX off. Note that this does not clear the display, turn off active inputs, or turn off running outputs.
It does, however, put the interpreter in a kind of sleep mode; you should probably do this if you're going to stop using
pb FORTH for a while, say overnight.
POWER_GET (address code--)
This word serves two purposes, d epending on the value of code. The result is placed in the variable represented by address.
pbFORTH provides the RCX_POW ER variable for use with this word. The possibilities are shown in Table 6–10.
Table 6-10. POWER_GET Code and Value Possibilities
Co de (hex) Value
4 000 On-Off button state: 0 is pressed, 2 i s not pressed
4001 Current battery level
fo
The llowing example shows how to print out the current battery level:
RCX_POWER DUP 4001 POWER_GET @ .
11E ok
Sounds
Finally , pbFORTH can play the built-in beep sounds of the RCX, although it does not offer the possibility of playing arbitrary
notes. The two words related to sound are:
SOUND_PLAY (sound code--)
T his word plays the sound described by the sound parameter, which can have the values shown in Table 6-11.
T able 6-11. SOUND_PLAY Sounds
Sound Number Description
0 Short beep
1 Two medium beeps
(table continued on next page)