INOS
cinosmcmodule.h File Reference

The mcmodule class. More...

#include <inos_1ms.h>
#include <cinosprocessimage.h>
#include <cinosphysicalaxis.h>
#include <cinoscontrol.h>
#include <cinosserialinout.h>
#include <cinostaskex.h>
#include <cinosmcmessage.h>
#include <cinosmcjob.h>
#include <cinosmcscript.h>
#include <cinosmcdata.h>
#include <cinosmccron.h>
Include dependency graph for cinosmcmodule.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CINOSMcModuleRes
 
class  CINOSMcModule
 
class  CINOSMcModuleWaitObj
 
class  CINOSMcModuleWaitVar< T >
 

Macros

#define INOS_MCMODULE_STEP_INST(_inst_, _msg_)
 
#define INOS_MCMODULE_STEP(_msg_)   INOS_MCMODULE_STEP_INST((*this), _msg_)
 
#define DF_INOS_MCMODULE_MAXCOUNT   8
 
#define DF_INOS_MCMODULE_MAXAVERAGE   32
 
#define DF_INOS_MCMODULE_EMGDELAY   100
 
#define INOS_RESOURCE_TYPE(type, id)   ((type&0xF) + ((id&0xfff)<<4))
 

Typedefs

typedef char inosResName[128]
 
using TINOSMcModuleCondFunc = std::function< bool()>
 callback function that checks if a wait condition is fulfilled
 
using TINOSMcModuleCondHandler = std::function< uint32()>
 

Functions

 IMPLEMENT_DYNAMIC_T (CINOSMcModuleWaitVar, T)
 

Detailed Description

The mcmodule class.

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

This class provides the mcmodule functionality

Macro Definition Documentation

◆ INOS_MCMODULE_STEP_INST

#define INOS_MCMODULE_STEP_INST (   _inst_,
  _msg_ 
)
Value:
if (!(_msg_->GetData() && (_msg_->GetData()->GetFlag()&CINOSMcDataInst::eFlgIgnoreStep)) &&\
!_msg_->GetTrigger() && \
!IsDispatcher(_msg_->GetSender()) && \
((_inst_.GetMode() == CINOSMcModule::eModStep) || \
((_inst_.GetParent()&&(_inst_.GetParent()->GetMode() == CINOSMcModule::eModStep)) &&\
((_inst_.GetParent()&&(!_inst_.GetParent()->GetModule(_msg_->GetSender()->GetName()))))))){\
char msg[256]; \
inos_strncpy(msg, _msg_->GetName(), sizeof(msg)); \
msg); \
if (uRes & INOS_MCMSG_FLAG_CANCEL){ \
_inst_.iStepCanceled(_msg_); \
return _inst_.MsgDone(_msg_, CINOSTaskEx::eRplCanceled, 0); \
} \
if (uRes & INOS_MCMSG_FLAG_STOP){ \
_inst_.iStepStopped(_msg_); \
return _inst_.MsgDone(_msg_, CINOSTaskEx::eRplStopped, 0); \
} \
if (uRes & INOS_MCMSG_FLAG_SKIP){ \
_inst_.iStepSkipped(_msg_); \
return _inst_.MsgDone(_msg_, CINOSTaskEx::eRplSkipped, 0); \
} \
}

Typedef Documentation

◆ TINOSMcModuleCondHandler

using TINOSMcModuleCondHandler = std::function<uint32()>

callback function used to call a hander function that returns an error code or 0 on success

INOS_MCMSG_FLAG_CANCEL
#define INOS_MCMSG_FLAG_CANCEL
message flag cancel allowed
Definition: cinosmcmessagedef.h:58
INOS_MCMSG_CODE_MODULE_STEP
uint32 INOS_MCMSG_CODE_MODULE_STEP
Definition: inoserror.h:1677
INOS_MCMSG_TYPE_STEP
#define INOS_MCMSG_TYPE_STEP
message type single step
Definition: cinosmcmessagedef.h:36
INOS_MCMSG_FLAG_STOP
#define INOS_MCMSG_FLAG_STOP
message flag stop allowed
Definition: cinosmcmessagedef.h:61
INOS_MCMSG_FLAG_SKIP
#define INOS_MCMSG_FLAG_SKIP
message flag skip allowed
Definition: cinosmcmessagedef.h:65
INOS_MCMSG_FLAG_RESUME
#define INOS_MCMSG_FLAG_RESUME
message flag resume allowed
Definition: cinosmcmessagedef.h:64