INOS
cinosmcrobot.h File Reference

The mcrobot class. More...

#include <inos.h>
#include <cinosmcmodule.h>
#include <cinosphysicalaxis.h>
#include <cinoscalib.h>
#include <cinoscalibs.h>
#include <cinosshape.h>
Include dependency graph for cinosmcrobot.h:

Go to the source code of this file.

Classes

class  CINOSMcRobot
 
class  CINOSMcRobotAxis
 
class  CINOSMcRobotCmd
 
class  CINOSMcRobotCmdMove
 
class  CINOSMcRobotCmdLinear
 
class  CINOSMcRobotCmdEndless
 INOS McRobot command to move one axis endlessly towards a certain direction with a specific speed set. More...
 
class  CINOSMcRobotCmdMoveSafe
 
class  CINOSMcRobotCmdMoveToBorder
 
class  CINOSMcRobotCmdMoveToBorderApp
 
class  CINOSMcRobotCmdMoveToDigitalSensor
 Move one axis towards a certain direction to search for a sensor. The axis stops when either the sensor is found or a predefined stop position has been reached. More...
 
class  CINOSMcRobotCmdMoveToAnalogSensor
 
class  CINOSMcRobotCmdMoveCarefully
 
class  CINOSMcRobotCmdMoveEx
 
struct  SINOSMcRobotCmdShapeEvent
 
class  CINOSMcRobotCmdShape
 
class  CINOSMcRobotSync
 
class  CINOSMcRobotInitSync
 
class  CINOSMcRobotCmdInit
 
class  CINOSMcRobotCmdCalib
 

Macros

#define INOS_MCROBOT_CMD_BEGIN_INST(_inst_, _msg_)
 
#define INOS_MCROBOT_CMD_RUN_INST(_inst_, _cmd_)
 
#define INOS_MCROBOT_CMD_BEGIN(_msg_)   INOS_MCROBOT_CMD_BEGIN_INST((*this),_msg_)
 
#define INOS_MCROBOT_CMD_RUN(_msg_)   INOS_MCROBOT_CMD_RUN_INST((*this),_msg_)
 
#define INOS_MCROBOT_CMD_SETOUT(aCmd, aBit, aEvent)
 
#define INOS_MCROBOT_CMD_CLROUT(aCmd, aBit, aEvent)
 
#define INOS_MCROBOT_CMD_SENDCMD(aCmd, aCmdId, aEvent)
 
#define INOS_MCROBOT_CMD_SENDCMD_NAME(aCmd, aName, aCmdId, aEvent)
 
#define INOS_MCROBOT_CMD_SENDCMD_PARAM(aCmd, aCmdId, aEvent, aParam)
 

Typedefs

typedef const chartMcAxisName
 The name of a McRobot axis.
 

Detailed Description

The mcrobot class.

Author
Ch. Hirzel
Remarks
project         : McInos
language        : Gnu C++
system          : Power-PC

This class provides the mcrobot task

Macro Definition Documentation

◆ INOS_MCROBOT_CMD_BEGIN_INST

#define INOS_MCROBOT_CMD_BEGIN_INST (   _inst_,
  _msg_ 
)
Value:
CINOSMcRobotCmd* __c = _inst_.iCmdGet(_msg_->GetId()); \
if (!__c) {
Definition cinosmcmodule.h:1900
Definition cinosmcrobot.h:2079

◆ INOS_MCROBOT_CMD_CLROUT

#define INOS_MCROBOT_CMD_CLROUT (   aCmd,
  aBit,
  aEvent 
)
Value:
if (!__m->GetTrigger()){ \
if (aBit) { \
CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, eCmdClrBit); \
msg->SetName("ClrOut"); \
msg->AddParam((uintptr)aBit); \
uint8 uBusId; \
uint64 uBusTicks; \
if (__c->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
msg->SetTrigger(uBusTicks, uBusId); \
} \
else { \
delete msg; \
INOS_WARNING("INOS_MCROBOT_CMD_CLROUT(aCmd,aBit,'%s') used without a valid event name",aEvent);\
} \
} \
else { \
INOS_WARNING("INOS_MCROBOT_CMD_CLROUT(aCmd,???,'%s') used without a valid bit pointer",aEvent); \
} \
}
Definition cinostaskex.h:396

◆ INOS_MCROBOT_CMD_SENDCMD

#define INOS_MCROBOT_CMD_SENDCMD (   aCmd,
  aCmdId,
  aEvent 
)
Value:
if (!aCmd->GetMsg()->GetTrigger()){ \
msg->AddParam(aCmd->GetId()); \
uint8 uBusId; \
uint64 uBusTicks; \
if (aCmd->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
msg->SetTrigger(uBusTicks, uBusId); \
} \
else { \
delete msg; \
INOS_WARNING("INOS_MCROBOT_CMD_SENDCMD(aCmd,aCmdId,'%s') used without a valid event name",aEvent);\
} \
}

◆ INOS_MCROBOT_CMD_SENDCMD_NAME

#define INOS_MCROBOT_CMD_SENDCMD_NAME (   aCmd,
  aName,
  aCmdId,
  aEvent 
)
Value:
if (!aCmd->GetMsg()->GetTrigger()){ \
msg->SetName(aName); \
msg->AddParam(aCmd->GetId()); \
uint8 uBusId; \
uint64 uBusTicks; \
if (aCmd->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
msg->SetTrigger(uBusTicks, uBusId); \
} \
else { \
delete msg; \
INOS_WARNING("INOS_MCROBOT_CMD_SENDCMD(aCmd,aCmdId,'%s') used without a valid event name",aEvent);\
} \
}

◆ INOS_MCROBOT_CMD_SENDCMD_PARAM

#define INOS_MCROBOT_CMD_SENDCMD_PARAM (   aCmd,
  aCmdId,
  aEvent,
  aParam 
)
Value:
if (!aCmd->GetMsg()->GetTrigger()){ \
msg->AddParam(aCmd->GetId()); \
msg->AddParam(aParam); \
uint8 uBusId; \
uint64 uBusTicks; \
if (aCmd->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
msg->SetTrigger(uBusTicks, uBusId); \
} \
else { \
delete msg; \
INOS_WARNING("INOS_MCROBOT_CMD_SENDCMD_PARAM(aCmd,aCmdId,'%s') used without a valid event name",aEvent);\
} \
}

◆ INOS_MCROBOT_CMD_SETOUT

#define INOS_MCROBOT_CMD_SETOUT (   aCmd,
  aBit,
  aEvent 
)
Value:
if (!__m->GetTrigger()){ \
if (aBit) { \
CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, eCmdSetBit); \
msg->SetName("SetOut"); \
msg->AddParam((uintptr)aBit); \
uint8 uBusId; \
uint64 uBusTicks; \
if (__c->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
msg->SetTrigger(uBusTicks, uBusId); \
} \
else { \
delete msg; \
INOS_WARNING("INOS_MCROBOT_CMD_SETOUT(aCmd,aBit,'%s') used without a valid event name",aEvent);\
} \
} \
else { \
INOS_WARNING("INOS_MCROBOT_CMD_SETOUT(aCmd,???,'%s') used without a valid bit pointer",aEvent); \
} \
}