| Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
#include <BatteryMonitorBehavior.h>
Inheritance diagram for BatteryMonitorBehavior:

Think of this as a simple example class. For exercise, try using a MotionSequenceMC instead of switching the ears back manually using a PostureMC
Definition at line 20 of file BatteryMonitorBehavior.h.
Public Member Functions | |
| BatteryMonitorBehavior () | |
| constructor | |
| virtual | ~BatteryMonitorBehavior () |
| destructor | |
| virtual void | DoStart () |
| Listens for the PowerSourceID::LowPowerWarnSID. | |
| virtual void | DoStop () |
| Stops listening for events. | |
| virtual void | processEvent (const EventBase &event) |
| Adds a BatteryMonitorMC to motman if power goes low. | |
| virtual std::string | getName () const |
| Identifies the behavior in menus and such. | |
Static Public Member Functions | |
| std::string | getClassDescription () |
| Gives a short description of what this class of behaviors does... you should override this (but don't have to). | |
| bool | shouldWarn () |
| returns true if the warning should be active (power remaining less than high_power_p, no external power, but also checks that a power update has been received) | |
Static Public Attributes | |
| const unsigned int | max_t = 10000 |
| max time between ear flips when at "high power" mark | |
| const unsigned int | high_power_p = 20 |
| percent of 100 which is point at which to begin warning | |
| const unsigned int | no_power_p = 14 |
| percent of 100 at which power will fail (approximate!) | |
Protected Member Functions | |
| void | startWarning () |
| adds a pose and a timer to get the ears flipping | |
| void | stopWarning () |
| removes pose, in case battery magically charges | |
| unsigned int | calcFlipDelay () |
| makes the ears flip more rapidly as power declines. Flips back and forth once every 15 seconds at 15%, down to flipping constantly at 5%. | |
| void | setFlipper (bool set) |
| sets the ears on a 210 or the headlight on a 220 - true toggles current, false clears | |
Protected Attributes | |
| PostureMC * | pose |
| if we are currently warning of low battery, holds a pose, NULL otherwise | |
| MotionManager::MC_ID | pose_id |
| id of pose if we are currently warning, MotionManager::invalid_MC_ID otherwise | |
| MotionManager::MC_ID | led_id |
| id of LedMC if we are currently warning, MotionManager::invalid_MC_ID otherwise | |
Private Member Functions | |
| BatteryMonitorBehavior (const BatteryMonitorBehavior &) | |
| don't copy behaviors | |
| BatteryMonitorBehavior | operator= (const BatteryMonitorBehavior &) |
| don't assign behaviors | |
|
|
constructor
Definition at line 27 of file BatteryMonitorBehavior.h. |
|
|
destructor
Definition at line 29 of file BatteryMonitorBehavior.h. |
|
|
don't copy behaviors
|
|
|
makes the ears flip more rapidly as power declines. Flips back and forth once every 15 seconds at 15%, down to flipping constantly at 5%.
Definition at line 125 of file BatteryMonitorBehavior.h. References high_power_p, max_t, no_power_p, ERS210Info::PowerRemainOffset, WorldState::sensors, and state. |
|
|
Listens for the PowerSourceID::LowPowerWarnSID.
Reimplemented from BehaviorBase. Definition at line 32 of file BatteryMonitorBehavior.h. References EventRouter::addListener(), BehaviorBase::DoStart(), erouter, EventBase::powerEGID, processEvent(), shouldWarn(), and EventBase::statusETID. |
Here is the call graph for this function:

|
|
Stops listening for events.
Reimplemented from BehaviorBase. Definition at line 43 of file BatteryMonitorBehavior.h. References BehaviorBase::DoStop(), erouter, EventRouter::forgetListener(), pose, and stopWarning(). |
Here is the call graph for this function:

|
|
Gives a short description of what this class of behaviors does... you should override this (but don't have to).
Reimplemented from BehaviorBase. Definition at line 97 of file BatteryMonitorBehavior.h. |
|
|
Identifies the behavior in menus and such.
Implements BehaviorBase. Definition at line 96 of file BatteryMonitorBehavior.h. |
|
|
don't assign behaviors
|
|
|
Adds a BatteryMonitorMC to motman if power goes low.
Reimplemented from BehaviorBase. Definition at line 50 of file BatteryMonitorBehavior.h. References EventRouter::addTimer(), ASSERTRET, calcFlipDelay(), erouter, ERS210Info::FrameTime, EventBase::getGeneratorID(), EventBase::getName(), EventBase::getSourceID(), MotionManager::kEmergencyPriority, MotionManager::kIgnoredPriority, led_id, LedEngine::major, motman, ERS210Info::NumFrames, pose, EventBase::powerEGID, ERS210Info::PowerRemainOffset, WorldState::sensors, setFlipper(), MotionManager::setPriority(), shouldWarn(), startWarning(), state, stopWarning(), and EventBase::timerEGID. |
Here is the call graph for this function:

|
|
sets the ears on a 210 or the headlight on a 220 - true toggles current, false clears
Definition at line 134 of file BatteryMonitorBehavior.h. References WorldState::ERS210Mask, WorldState::ERS220Mask, WorldState::outputs, pose, WorldState::robotDesign, PostureMC::setOutputCmd(), and state. |
Here is the call graph for this function:

|
|
returns true if the warning should be active (power remaining less than high_power_p, no external power, but also checks that a power update has been received)
Definition at line 100 of file BatteryMonitorBehavior.h. References high_power_p, WorldState::powerFlags, ERS210Info::PowerRemainOffset, WorldState::sensors, and state. |
|
|
adds a pose and a timer to get the ears flipping
Definition at line 104 of file BatteryMonitorBehavior.h. References MotionManager::addMotion(), EventRouter::addTimer(), erouter, MotionManager::kEmergencyPriority, led_id, LedEngine::major, motman, MotionManager::peekMotion(), pose, pose_id, ERS210Info::PowerRemainOffset, Socket::printf(), WorldState::sensors, serr, setFlipper(), and state. |
Here is the call graph for this function:

|
|
removes pose, in case battery magically charges
Definition at line 115 of file BatteryMonitorBehavior.h. References erouter, MotionManager::invalid_MC_ID, led_id, motman, pose, pose_id, Socket::printf(), MotionManager::removeMotion(), EventRouter::removeTimer(), and serr. |
Here is the call graph for this function:

|
|
percent of 100 which is point at which to begin warning
Definition at line 23 of file BatteryMonitorBehavior.h. |
|
|
id of LedMC if we are currently warning, MotionManager::invalid_MC_ID otherwise
Definition at line 143 of file BatteryMonitorBehavior.h. |
|
|
max time between ear flips when at "high power" mark
Definition at line 22 of file BatteryMonitorBehavior.h. |
|
|
percent of 100 at which power will fail (approximate!)
Definition at line 24 of file BatteryMonitorBehavior.h. |
|
|
if we are currently warning of low battery, holds a pose, NULL otherwise
Definition at line 141 of file BatteryMonitorBehavior.h. |
|
|
id of pose if we are currently warning, MotionManager::invalid_MC_ID otherwise
Definition at line 142 of file BatteryMonitorBehavior.h. |
|
Tekkotsu v1.5 |
Generated Fri Oct 10 15:55:08 2003 by Doxygen 1.3.4 |