INOS
CINOSMcRobotCmd Class Referenceabstract
Inheritance diagram for CINOSMcRobotCmd:

Public Types

enum  eCmdState {
  eStaIdle , eStaReady , eStaRunning , eStaDone ,
  eStaError
}
 command states More...
 
enum  eMoveType { eTypAbsolute , eTypRelative }
 move types
 
enum  eEventType {
  eEvtBgnUnit =0 , eEvtEndUnit =1 , eEvtBgnMs =2 , eEvtEndMs =3 ,
  eEvtBgnCmd =4 , eEvtEndCmd =5 , eEvtBrkUnit =6 , eEvtBrkMs =7 ,
  eEvtBgnMsFix =8 , eEvtEndMsFix =9
}
 event types
 

Public Member Functions

 CINOSMcRobotCmd (CINOSTaskExMsg *apMsg, void *apCallBack=NULL, void *apCallBackObject=NULL)
 constructor
 
virtual ~CINOSMcRobotCmd ()
 destructor
 
virtual uint32 Check ()=0
 check command
 
virtual uint32 Trigger ()=0
 trigger command
 
virtual uint32 Run ()=0
 run command
 
virtual uint32 Stop (uint32 auReply)=0
 stop command
 
virtual uint32 Break ()
 break command
 
virtual uint32 Continue ()
 continue command
 
virtual uint32 EmgStop ()=0
 emergency stop command
 
virtual void Done (uintid auPartId)=0
 done command
 
eCmdState GetState () const
 get command state
 
const charGetName ()
 get command name
 
CINOSMcRobotGetModule ()
 get pointer to module this command belongs to
 
uint32 GetReply () const
 get command reply
 
uint32 SetReply (uint32 auReply)
 set command reply
 
uint32 GetResult () const
 get command result
 
uint32 SetResult (uint32 auResult)
 set command result
 
CINOSTaskExMsgGetMsg ()
 get command message
 
CINOSTaskGetSender ()
 get command sender
 
void SetId (tMsgId auId)
 set command id
 
tMsgId GetId ()
 get command id
 
virtual void AddEvent (const char *apName, real64 arValue, eEventType aeEventType, bool abFireEvent=true, uint32 auFlags=0)
 add event to command
 
virtual bool GetEventTicks (const char *apName, uint64 &auBusTicks, uint8 &auBusId)
 get event ticks
 
void SetCallBack (void *apCallBack)
 set callback
 
virtual void SetSlowMotion (real64 arSlowMotion)=0
 set slowmotion
 
virtual void GetCmdPosition (real64 &arPosition)=0
 get cmd position
 
virtual void GetActPosition (real64 &arPosition)=0
 get act position
 
virtual void GetActVelocity (real64 &arVelocity)=0
 get act velocity
 

Protected Types

enum  eFlags {
  eFlgBegin = 0x00000001 , eFlgEnd = 0x00000002 , eFlgMoveTime = 0x00000004 , eFlgSlowMotion = 0x00000008 ,
  eFlgFireEvent = 0x00000010 , eFlgLength = 0x00000020 , eFlgDepart = 0x00000040 , eFlgMultipleEvent = 0x00000080 ,
  eFlgEmgStop = 0x40000000 , eFlgDone = 0x80000000
}
 validity
 

Protected Member Functions

voidGetCallBack ()
 get callback
 
voidGetCallBackObject ()
 
int32 GetBusTicks (uint8 auBusId, real64 arMs)
 get bus ticks
 
void InstallHandler ()
 install cyclic handler
 
void RemoveHandler ()
 remove cyclic handler
 
virtual void Handle ()
 command handler
 
 DECLARE_DYNAMIC (CINOSMcRobotCmd)
 dynamic object handling
 

Protected Attributes

eCmdState m_eState
 command state
 
uint32 m_uReply
 command reply
 
uint32 m_uReplySave
 saved command reply
 
uint32 m_uResult
 command result
 
tMsgId m_uId
 command id overwrite
 
bool m_bEndEvent
 command has 'eEvtEndCmd' event
 
bool m_bCyclicHandling
 command needs cyclic handling
 
char m_cEndEvent [32]
 end event name
 
voidm_pCallBack
 pointer to callback method if any
 
voidm_pCallBackObject
 pointer to callback object if any
 
CINOSTaskExMsgm_pMsg
 pointer to according message
 
CINOSMcRobotm_pModule
 pointer to my module
 
CINOSMcRobotCmdm_pNext
 pointer to next command in list
 

Friends

class CINOSMcRobot
 
class CINOSMcRobotSync
 

Member Enumeration Documentation

◆ eCmdState

command states

Enumerator
eStaIdle 

idle

eStaReady 

ready (to run)

eStaRunning 

running

eStaDone 

done (successfully)

eStaError 

error

Member Function Documentation

◆ AddEvent()

virtual void CINOSMcRobotCmd::AddEvent ( const char apName,
real64  arValue,
eEventType  aeEventType,
bool  abFireEvent = true,
uint32  auFlags = 0 
)
inlinevirtual

◆ Break()

virtual uint32 CINOSMcRobotCmd::Break ( )
inlinevirtual

break command

Reimplemented in CINOSMcRobotCmdShape.

◆ Check()

◆ Continue()

virtual uint32 CINOSMcRobotCmd::Continue ( )
inlinevirtual

continue command

Reimplemented in CINOSMcRobotCmdShape.

◆ Done()

◆ EmgStop()

◆ GetActPosition()

◆ GetActVelocity()

◆ GetCallBackObject()

void * CINOSMcRobotCmd::GetCallBackObject ( )
inlineprotected

get callback object.

Returns
The callback object. It may be NULL, which means that the McRobot module shall be used as object (this is actually the default use case)

◆ GetCmdPosition()

◆ GetEventTicks()

virtual bool CINOSMcRobotCmd::GetEventTicks ( const char apName,
uint64 &  auBusTicks,
uint8 &  auBusId 
)
inlinevirtual

◆ Run()

◆ SetSlowMotion()

◆ Stop()

◆ Trigger()


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