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)
   140   141   142   143   144   145   146   147   148   149   150