Motor control interface.
More...
#include <c++/Motor.H>
|
| Motor (const Port port) |
| construct a motor connected to {port}
|
|
| ~Motor () |
| destroy our motor instance
|
|
const void | speed (const unsigned char speed) const |
| set the motor speed
|
|
const void | direction (const MotorDirection dir) const |
| set the motor direction
|
|
const void | forward () const |
| set motor direction to forward
|
|
const void | forward (const unsigned char s) const |
| set motor direction to forward at speed {s}
|
|
const void | reverse () const |
| set the motor direction to reverse
|
|
const void | reverse (const unsigned char s) const |
| set the motor direction to reverse at speed {s}
|
|
const void | brake () const |
| set the motor to brake
|
|
const void | brake (int duration) const |
| set the motor to brake and delay return
|
|
const void | off () const |
| turn the motor off this disables power and the motor coasts to a stop
|
|
Motor control interface.
This class is designed to manipulate motors attached to an RCX
- See also
- The other control classes: MotorPair, Sound, Lamp
- Design Note
- I avoided using derived classes since they were typically three times larger. Also, if one is using Motor(Motor::A), all the decision logic is optimized away in the compiler, so no extra space is used for that.
Definition at line 38 of file Motor.H.
◆ Limits
motor speed range
Enumerator |
---|
min | Minimum velocity (0)
|
max | Maximum velocity (255)
|
Definition at line 52 of file Motor.H.
◆ Port
valid port designators
Enumerator |
---|
A | RCX output pad A.
|
B | RCX output pad B.
|
C | RCX output pad C.
|
Definition at line 43 of file Motor.H.
◆ Motor()
Motor::Motor |
( |
const Port |
port | ) |
|
|
inline |
construct a motor connected to {port}
- Parameters
-
port | designator of pad to which this motor is connected |
Definition at line 61 of file Motor.H.
◆ ~Motor()
destroy our motor instance
- Side Effects:\n When the class is destroyed, the motor is turned off.
Definition at line 73 of file Motor.H.
References off().
◆ brake() [1/2]
const void Motor::brake |
( |
| ) |
const |
|
inline |
◆ brake() [2/2]
const void Motor::brake |
( |
int |
duration | ) |
const |
|
inline |
set the motor to brake and delay return
- Parameters
-
duration | time in mSec to delay before returning |
- Returns
- nothing
- Todo:
- describe what brake means
Definition at line 123 of file Motor.H.
References brake(), and delay().
Referenced by brake().
◆ direction()
set the motor direction
- Parameters
-
dir | must be one of the MotorDirection values |
- Returns
- Nothing
Definition at line 86 of file Motor.H.
Referenced by brake(), MotorPair::brake(), MotorPair::direction(), forward(), MotorPair::left(), off(), MotorPair::off(), MotorPair::pivotLeft(), MotorPair::pivotRight(), reverse(), and MotorPair::right().
◆ forward() [1/2]
const void Motor::forward |
( |
| ) |
const |
|
inline |
set motor direction to forward
- Returns
- Nothing
Definition at line 91 of file Motor.H.
References direction(), and fwd.
◆ forward() [2/2]
const void Motor::forward |
( |
const unsigned char |
s | ) |
const |
|
inline |
set motor direction to forward at speed {s}
- Parameters
-
s | the desired speed. Must be between min (0) and max (255) |
- Returns
- Nothing
Definition at line 98 of file Motor.H.
References forward(), and speed().
Referenced by forward().
◆ off()
const void Motor::off |
( |
| ) |
const |
|
inline |
◆ reverse() [1/2]
const void Motor::reverse |
( |
| ) |
const |
|
inline |
set the motor direction to reverse
- Returns
- Nothing
Definition at line 103 of file Motor.H.
References direction(), and rev.
◆ reverse() [2/2]
const void Motor::reverse |
( |
const unsigned char |
s | ) |
const |
|
inline |
set the motor direction to reverse at speed {s}
- Parameters
-
s | the desired speed. Must be between min (0) and max (255) |
- Returns
- Nothing
Definition at line 110 of file Motor.H.
References reverse(), and speed().
Referenced by reverse().
◆ speed()
const void Motor::speed |
( |
const unsigned char |
speed | ) |
const |
|
inline |
The documentation for this class was generated from the following file: