Homepage Demos Overview Downloads Tutorials Reference
Credits

WalkControllerBehavior Class Reference

#include <WalkControllerBehavior.h>

Inheritance diagram for WalkControllerBehavior:

Inheritance graph
[legend]
List of all members.

Detailed Description

Listens to control commands coming in from the command port for remotely controlling the walk.

Definition at line 17 of file WalkControllerBehavior.h.

Public Member Functions

 WalkControllerBehavior ()
 constructor

virtual ~WalkControllerBehavior ()
 destructor

virtual void DoStart ()
 By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.

virtual void DoStop ()
 By default, subtracts from the reference counter, and deletes if zero; Note you should still call this when you override this; Warning call this at the end of your DoStop(), not beginning (it might delete this ).

virtual WalkMCgetWalkMC ()
 returns the WalkMC which [will be|is being] used

virtual MotionManager::MC_ID getWalkID ()
 returns the current Walk's MotionCommand ID

virtual void processEvent (const EventBase &)
 The only event we could possibly receive is the stop-if-no-heartbeat timer.

virtual std::string getName () const
 Identifies the behavior in menus and such.


Static Public Member Functions

int mechacmd_callback (char *buf, int bytes)
 called by wireless when there's new data

std::string getClassDescription ()
 Gives a short description of what this class of behaviors does... you should override this (but don't have to).


Static Public Attributes

WalkControllerBehaviortheOne = NULL

Protected Attributes

SharedObject< WalkMCshared_walker
 the WalkMC to use


Private Member Functions

void runCommand (unsigned char *command)
 Executes a command. Called by mechacmd_callback.

 WalkControllerBehavior (const WalkControllerBehavior &)
 don't call

WalkControllerBehavior operator= (const WalkControllerBehavior &)
 don't call


Private Attributes

float dx
 Motion parameter.

float dy
 Motion parameter.

float da
 Motion parameter.

WalkControllerBehaviortheLastOne
Socketcmdsock
 The input command stream socket.


Static Private Attributes

Command Bytes
const char CMD_fwd = 'f'
 handy symbol for matching incoming communication

const char CMD_roto = 'r'
 handy symbol for matching incoming communication

const char CMD_side = 's'
 handy symbol for matching incoming communication

const char CMD_opt0 = '0'
 handy symbol for matching incoming communication

const char CMD_opt1 = '1'
 handy symbol for matching incoming communication

const char CMD_opt2 = '2'
 handy symbol for matching incoming communication

const char CMD_opt3 = '3'
 handy symbol for matching incoming communication

const char CMD_opt4 = '4'
 handy symbol for matching incoming communication

const char CMD_opt5 = '5'
 handy symbol for matching incoming communication

const char CMD_opt6 = '6'
 handy symbol for matching incoming communication

const char CMD_opt7 = '7'
 handy symbol for matching incoming communication

const char CMD_opt8 = '8'
 handy symbol for matching incoming communication

const char CMD_opt9 = '9'
 handy symbol for matching incoming communication


Constructor & Destructor Documentation

WalkControllerBehavior::WalkControllerBehavior const WalkControllerBehavior  )  [private]
 

don't call

WalkControllerBehavior::WalkControllerBehavior  )  [inline]
 

constructor

Definition at line 68 of file WalkControllerBehavior.h.

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

destructor

Definition at line 76 of file WalkControllerBehavior.h.


Member Function Documentation

void WalkControllerBehavior::DoStart  )  [virtual]
 

By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.

Reimplemented from BehaviorBase.

Definition at line 84 of file WalkControllerBehavior.cc.

void WalkControllerBehavior::DoStop  )  [virtual]
 

By default, subtracts from the reference counter, and deletes if zero; Note you should still call this when you override this; Warning call this at the end of your DoStop(), not beginning (it might delete this ).

Reimplemented from BehaviorBase.

Definition at line 102 of file WalkControllerBehavior.cc.

std::string WalkControllerBehavior::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 93 of file WalkControllerBehavior.h.

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

Identifies the behavior in menus and such.

Implements BehaviorBase.

Definition at line 92 of file WalkControllerBehavior.h.

virtual MotionManager::MC_ID WalkControllerBehavior::getWalkID  )  [inline, virtual]
 

returns the current Walk's MotionCommand ID

Definition at line 84 of file WalkControllerBehavior.h.

Referenced by DoStop(), processEvent(), and runCommand().

virtual WalkMC* WalkControllerBehavior::getWalkMC  )  [inline, virtual]
 

returns the WalkMC which [will be|is being] used

Definition at line 82 of file WalkControllerBehavior.h.

Referenced by StartupBehavior::SetupWalkEdit().

int WalkControllerBehavior::mechacmd_callback char *  buf,
int  bytes
[static]
 

called by wireless when there's new data

Definition at line 118 of file WalkControllerBehavior.cc.

Referenced by DoStart().

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

don't call

virtual void WalkControllerBehavior::processEvent const EventBase  )  [inline, virtual]
 

The only event we could possibly receive is the stop-if-no-heartbeat timer.

Reimplemented from BehaviorBase.

Definition at line 87 of file WalkControllerBehavior.h.

void WalkControllerBehavior::runCommand unsigned char *  command  )  [private]
 

Executes a command. Called by mechacmd_callback.

Definition at line 6 of file WalkControllerBehavior.cc.

Referenced by mechacmd_callback().


Member Data Documentation

const char WalkControllerBehavior::CMD_fwd = 'f' [static, private]
 

handy symbol for matching incoming communication

Definition at line 31 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt0 = '0' [static, private]
 

handy symbol for matching incoming communication

Definition at line 34 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt1 = '1' [static, private]
 

handy symbol for matching incoming communication

Definition at line 35 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt2 = '2' [static, private]
 

handy symbol for matching incoming communication

Definition at line 36 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt3 = '3' [static, private]
 

handy symbol for matching incoming communication

Definition at line 37 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt4 = '4' [static, private]
 

handy symbol for matching incoming communication

Definition at line 38 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt5 = '5' [static, private]
 

handy symbol for matching incoming communication

Definition at line 39 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt6 = '6' [static, private]
 

handy symbol for matching incoming communication

Definition at line 40 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt7 = '7' [static, private]
 

handy symbol for matching incoming communication

Definition at line 41 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt8 = '8' [static, private]
 

handy symbol for matching incoming communication

Definition at line 42 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_opt9 = '9' [static, private]
 

handy symbol for matching incoming communication

Definition at line 43 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_roto = 'r' [static, private]
 

handy symbol for matching incoming communication

Definition at line 32 of file WalkControllerBehavior.h.

Referenced by runCommand().

const char WalkControllerBehavior::CMD_side = 's' [static, private]
 

handy symbol for matching incoming communication

Definition at line 33 of file WalkControllerBehavior.h.

Referenced by runCommand().

Socket* WalkControllerBehavior::cmdsock [private]
 

The input command stream socket.

Definition at line 58 of file WalkControllerBehavior.h.

Referenced by DoStart(), DoStop(), and WalkControllerBehavior().

float WalkControllerBehavior::da [private]
 

Motion parameter.

Definition at line 48 of file WalkControllerBehavior.h.

Referenced by runCommand(), and WalkControllerBehavior().

float WalkControllerBehavior::dx [private]
 

Motion parameter.

Definition at line 46 of file WalkControllerBehavior.h.

Referenced by runCommand(), and WalkControllerBehavior().

float WalkControllerBehavior::dy [private]
 

Motion parameter.

Definition at line 47 of file WalkControllerBehavior.h.

Referenced by runCommand(), and WalkControllerBehavior().

SharedObject<WalkMC> WalkControllerBehavior::shared_walker [protected]
 

the WalkMC to use

Definition at line 27 of file WalkControllerBehavior.h.

Referenced by DoStart(), getWalkID(), and WalkControllerBehavior().

WalkControllerBehavior* WalkControllerBehavior::theLastOne [private]
 

The last WCB object that was theOne, so we can restore it to prominence when we die. This is a nice gesture, but it doesn't really make sense since we're all using the same port. But just in case something changes and we don't do that, this mechanism is in place.

Definition at line 55 of file WalkControllerBehavior.h.

Referenced by DoStart(), DoStop(), WalkControllerBehavior(), and ~WalkControllerBehavior().

WalkControllerBehavior * WalkControllerBehavior::theOne = NULL [static]
 

Points to the one WalkControllerBehavior object that the input command stream is talking to. A kludge. Dunno how you're gonna make sure you're not using this uninitialized.

Definition at line 4 of file WalkControllerBehavior.cc.

Referenced by DoStart(), DoStop(), mechacmd_callback(), WalkControllerBehavior(), and ~WalkControllerBehavior().


The documentation for this class was generated from the following files:
Tekkotsu v2.0
Generated Wed Jan 21 03:23:32 2004 by Doxygen 1.3.4