Dynamixel  2.9.5
RoadNarrows Robotics Dynamixel Package
DynaShellCmdDestroy Class Reference

Destroy command. More...

Inheritance diagram for DynaShellCmdDestroy:
DynaShellCmd

Public Member Functions

void Exec (DynaShell &shell, int argc, char *argv[])
 Destroy dynamixel interface. More...
 
- Public Member Functions inherited from DynaShellCmd
 DynaShellCmd (int nArgCntMin=0, int nArgCntMax=0)
 Default constructor.
 
virtual ~DynaShellCmd ()
 Default destructor.
 
const char * GetCmdName ()
 Get dynamixel shell command name. More...
 
const char * GetCmdHelpBrief ()
 Get shell command name brief description. More...
 
virtual void PrintHelp (int indent=0, int width=80)
 Print command help with the description aligned at the given indentation. More...
 
int GetPublishedLevel () const
 
const char * GetPublishedName () const
 
int SetPublishedInfo (int nLevel, const char *sParent=NULL)
 
virtual char * TabCompletion (DynaShell &shell, const char *sText, size_t uTextLen, int nState, const char *sContext)
 Default command tab completion generator. More...
 
virtual bool ChkArgCnt (DynaShell &shell, int argc)
 Check that the argument count is within the class (min,max). More...
 
bool ChkArgCnt0 (DynaShell &shell, int argc)
 Check that the argument count is zero. More...
 
bool ChkArgCntEQ (DynaShell &shell, int argc, int eq)
 Check that the argument count is equal to the required. More...
 
bool ChkArgCntGE (DynaShell &shell, int argc, int min)
 Check argument count against minimum required. More...
 
bool ChkArgCntLE (DynaShell &shell, int argc, int max)
 Check argument count against maximum allowed. More...
 
bool ChkComm (DynaShell &shell)
 Check that Dynamixel communication exists and is open. More...
 
bool ChkChain (DynaShell &shell)
 Check that the servo chain exists. More...
 
bool ChkChainNotEmpty (DynaShell &shell)
 Check that the servo chain exists and is not empty. More...
 
bool ChkChainHasServo (DynaShell &shell, int nServoId)
 Check that the given servo is present in the chain. More...
 
bool ChkChainIsMasterServo (DynaShell &shell, int nServoId)
 Check that the given servo is a master. More...
 
bool ToInt (DynaShell &shell, const char *sArg, int *pVal)
 Convert command argument to integer. More...
 
bool ToUInt (DynaShell &shell, const char *sArg, uint_t *pVal)
 Convert command argument to unsigned integer. More...
 
bool ToDouble (DynaShell &shell, const char *sArg, double *pVal)
 Convert command argument to double. More...
 
bool ToBool (DynaShell &shell, const char *sArg, bool *pVal)
 Convert command argument to boolean. More...
 

Additional Inherited Members

- Protected Member Functions inherited from DynaShellCmd
virtual void PrintSynopses (int indent, int width)
 Print synsopses. More...
 
virtual void PrintBlock (int col, int indent, int width, const char *sText)
 Print a block of indented text of width. More...
 
virtual void PrintDelim (int width, const char cDelim)
 
char * eow (const char *s)
 Find end of word. More...
 
- Protected Attributes inherited from DynaShellCmd
const char * m_sCmdName
 command name
 
const char * m_sCmdHelpBrief
 command help brief
 
const char * m_sCmdHelpArgs
 command help arguments
 
const char * m_sCmdHelpDesc
 command help description
 
const int m_nArgCntMin
 minimum argument count
 
const int m_nArgCntMax
 maximum argument count (0 if not max)
 
int m_nPubLevel
 command's published level (depth)
 
char * m_sPubName
 command's published name
 

Detailed Description

Destroy command.

Definition at line 263 of file dynashell_cmd_if.cxx.

Member Function Documentation

void DynaShellCmdDestroy::Exec ( DynaShell shell,
int  argc,
char *  argv[] 
)
inlinevirtual

Destroy dynamixel interface.

Parameters
shellDynamixel shell.
argcCommand argument count.
argvArray of arguments.

Implements DynaShellCmd.

Definition at line 286 of file dynashell_cmd_if.cxx.

References DynaBgThread::BgThreadStatePaused, DynaBgThread::BgThreadStateRunning, DELOBJ, DynaShell::Error(), DynaBgThread::GetCurrentState(), DynaShell::m_pDynaBgThread, DynaShell::m_pDynaChain, DynaShell::m_pDynaComm, DynaShell::Ok(), DynaBgThread::Stop(), TRY, and DynaBgThread::UnregisterAgent().

287  {
288  TRY( ChkArgCnt(shell, argc) );
289 
290  if( shell.m_pDynaChain == NULL )
291  {
292  shell.Error("Dynamixel interface not created.");
293  }
294  else
295  {
296  switch( shell.m_pDynaBgThread->GetCurrentState() )
297  {
300  shell.m_pDynaBgThread->Stop();
301  break;
302  default:
303  break;
304  }
305 
307 
308  DELOBJ(shell.m_pDynaChain);
309  DELOBJ(shell.m_pDynaComm);
310 
311  shell.Ok();
312  }
313  }
DynaComm * m_pDynaComm
dynamixel bus communication
Definition: dynashell.h:359
BgThreadState GetCurrentState()
Get current background thread state.
Definition: DynaBgThread.h:415
#define DELOBJ(p)
Delete an allocated object convenience macro.
virtual int Stop()
Stop control and monitoring tasks.
virtual void UnregisterAgent()
Unregister any chain or servo from control and monitoring.
virtual void Ok()
Print standard ok success response.
Definition: dynashell.h:425
virtual bool ChkArgCnt(DynaShell &shell, int argc)
Check that the argument count is within the class (min,max).
DynaBgThread * m_pDynaBgThread
dynamixel chain
Definition: dynashell.h:361
#define TRY(boolexpr,...)
Try boolean expression.
Definition: dynashell_cmd.h:89
DynaChain * m_pDynaChain
dynamixel chain
Definition: dynashell.h:360
void Error(int rc, const char *sFmt,...)
Raise error on dynamixel error code.
Definition: dynashell.cxx:808

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