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 19 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 26 of file BatteryMonitorBehavior.h. |
|
destructor
Definition at line 28 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 124 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 31 of file BatteryMonitorBehavior.h. References EventRouter::addListener(), BehaviorBase::DoStart(), erouter, EventBase::powerEGID, processEvent(), shouldWarn(), and EventBase::statusETID. |
|
Stops listening for events.
Reimplemented from BehaviorBase. Definition at line 42 of file BatteryMonitorBehavior.h. References BehaviorBase::DoStop(), erouter, EventRouter::forgetListener(), pose, and stopWarning(). |
|
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 96 of file BatteryMonitorBehavior.h. |
|
Identifies the behavior in menus and such.
Implements BehaviorBase. Definition at line 95 of file BatteryMonitorBehavior.h. |
|
don't assign behaviors
|
|
Adds a BatteryMonitorMC to motman if power goes low.
Reimplemented from BehaviorBase. Definition at line 49 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. |
|
sets the ears on a 210 or the headlight on a 220 - true toggles current, false clears
Definition at line 133 of file BatteryMonitorBehavior.h. References WorldState::ERS210Mask, WorldState::ERS220Mask, WorldState::outputs, pose, WorldState::robotDesign, PostureMC::setOutputCmd(), and state. |
|
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 99 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 103 of file BatteryMonitorBehavior.h. References MotionManager::addMotion(), EventRouter::addTimer(), erouter, MotionManager::kEmergencyPriority, led_id, LedEngine::major, motman, MotionManager::peekMotion(), pose, pose_id, ERS210Info::PowerRemainOffset, WorldState::sensors, setFlipper(), and state. |
|
removes pose, in case battery magically charges
Definition at line 114 of file BatteryMonitorBehavior.h. References erouter, MotionManager::invalid_MC_ID, led_id, motman, pose, pose_id, MotionManager::removeMotion(), and EventRouter::removeTimer(). |
|
percent of 100 which is point at which to begin warning
Definition at line 22 of file BatteryMonitorBehavior.h. |
|
id of LedMC if we are currently warning, MotionManager::invalid_MC_ID otherwise
Definition at line 142 of file BatteryMonitorBehavior.h. |
|
max time between ear flips when at "high power" mark
Definition at line 21 of file BatteryMonitorBehavior.h. |
|
percent of 100 at which power will fail (approximate!)
Definition at line 23 of file BatteryMonitorBehavior.h. |
|
if we are currently warning of low battery, holds a pose, NULL otherwise
Definition at line 140 of file BatteryMonitorBehavior.h. |
|
id of pose if we are currently warning, MotionManager::invalid_MC_ID otherwise
Definition at line 141 of file BatteryMonitorBehavior.h. |
Tekkotsu v1.4 |
Generated Sat Jul 19 00:08:49 2003 by Doxygen 1.3.2 |