Homepage Demos Overview Downloads Tutorials Reference
Credits

BatteryMonitorBehavior Class Reference

#include <BatteryMonitorBehavior.h>

Inheritance diagram for BatteryMonitorBehavior:

Inheritance graph
[legend]
List of all members.

Detailed Description

A background behavior which will monitor the power level and flip the ears when appropriate on a 210, or blink the headlight if a 220.

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

PostureMCpose
 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 & Destructor Documentation

BatteryMonitorBehavior::BatteryMonitorBehavior  )  [inline]
 

constructor

Definition at line 27 of file BatteryMonitorBehavior.h.

virtual BatteryMonitorBehavior::~BatteryMonitorBehavior  )  [inline, virtual]
 

destructor

Definition at line 29 of file BatteryMonitorBehavior.h.

BatteryMonitorBehavior::BatteryMonitorBehavior const BatteryMonitorBehavior  )  [private]
 

don't copy behaviors


Member Function Documentation

unsigned int BatteryMonitorBehavior::calcFlipDelay  )  [inline, protected]
 

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.

Referenced by processEvent().

virtual void BatteryMonitorBehavior::DoStart  )  [inline, virtual]
 

Listens for the PowerSourceID::LowPowerWarnSID.

Reimplemented from BehaviorBase.

Definition at line 32 of file BatteryMonitorBehavior.h.

virtual void BatteryMonitorBehavior::DoStop  )  [inline, virtual]
 

Stops listening for events.

Reimplemented from BehaviorBase.

Definition at line 43 of file BatteryMonitorBehavior.h.

std::string BatteryMonitorBehavior::getClassDescription  )  [inline, static]
 

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.

virtual std::string BatteryMonitorBehavior::getName  )  const [inline, virtual]
 

Identifies the behavior in menus and such.

Implements BehaviorBase.

Definition at line 96 of file BatteryMonitorBehavior.h.

BatteryMonitorBehavior BatteryMonitorBehavior::operator= const BatteryMonitorBehavior  )  [private]
 

don't assign behaviors

virtual void BatteryMonitorBehavior::processEvent const EventBase event  )  [inline, virtual]
 

Adds a BatteryMonitorMC to motman if power goes low.

Reimplemented from BehaviorBase.

Definition at line 50 of file BatteryMonitorBehavior.h.

Referenced by DoStart().

void BatteryMonitorBehavior::setFlipper bool  set  )  [inline, protected]
 

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.

Referenced by processEvent(), and startWarning().

bool BatteryMonitorBehavior::shouldWarn  )  [inline, static]
 

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.

Referenced by DoStart(), and processEvent().

void BatteryMonitorBehavior::startWarning  )  [inline, protected]
 

adds a pose and a timer to get the ears flipping

Definition at line 104 of file BatteryMonitorBehavior.h.

Referenced by processEvent().

void BatteryMonitorBehavior::stopWarning  )  [inline, protected]
 

removes pose, in case battery magically charges

Definition at line 115 of file BatteryMonitorBehavior.h.

Referenced by DoStop(), and processEvent().


Member Data Documentation

const unsigned int BatteryMonitorBehavior::high_power_p = 20 [static]
 

percent of 100 which is point at which to begin warning

Definition at line 23 of file BatteryMonitorBehavior.h.

Referenced by calcFlipDelay(), and shouldWarn().

MotionManager::MC_ID BatteryMonitorBehavior::led_id [protected]
 

id of LedMC if we are currently warning, MotionManager::invalid_MC_ID otherwise

Definition at line 143 of file BatteryMonitorBehavior.h.

Referenced by BatteryMonitorBehavior(), processEvent(), startWarning(), and stopWarning().

const unsigned int BatteryMonitorBehavior::max_t = 10000 [static]
 

max time between ear flips when at "high power" mark

Definition at line 22 of file BatteryMonitorBehavior.h.

Referenced by calcFlipDelay().

const unsigned int BatteryMonitorBehavior::no_power_p = 14 [static]
 

percent of 100 at which power will fail (approximate!)

Definition at line 24 of file BatteryMonitorBehavior.h.

Referenced by calcFlipDelay().

PostureMC* BatteryMonitorBehavior::pose [protected]
 

if we are currently warning of low battery, holds a pose, NULL otherwise

Definition at line 141 of file BatteryMonitorBehavior.h.

Referenced by BatteryMonitorBehavior(), DoStop(), processEvent(), setFlipper(), startWarning(), and stopWarning().

MotionManager::MC_ID BatteryMonitorBehavior::pose_id [protected]
 

id of pose if we are currently warning, MotionManager::invalid_MC_ID otherwise

Definition at line 142 of file BatteryMonitorBehavior.h.

Referenced by BatteryMonitorBehavior(), startWarning(), and stopWarning().


The documentation for this class was generated from the following file:

Tekkotsu v2.1
Generated Tue Mar 16 23:22:01 2004 by Doxygen 1.3.5