MPICommandType
Definition
typedef enum {
  MPICommandTypeINVALID = -1,
  MPICommandTypeASSIGN,
  MPICommandTypeBRANCH,
  MPICommandTypeBRANCH_EVENT,
  MPICommandTypeBRANCH_IO,
  MPICommandTypeCOMPUTE,
  MPICommandTypeCOMPUTE_IO,
  MPICommandTypeCOPY,
  MPICommandTypeDELAY,
  MPICommandTypeEVENT,
  MPICommandTypeMOVE,
  MPICommandTypeWAIT,
  MPICommandTypeWAIT_EVENT,
  MPICommandTypeWAIT_IO,
  MPICommandTypeLAST,
  MPICommandTypeFIRST               = MPICommandTypeINVALID + 1,
  MPICommandTypeBIT_COUNT = sizeof(int) * 8,	/* sizeof(enum) */
  MPICommandTypeREF                 = 0x1 << (MPICommandTypeBIT_COUNT - 1),
  MPICommandTypeDOUBLE              = 0x1 << (MPICommandTypeBIT_COUNT - 2),
  MPICommandTypeMASK                = ~(MPICommandTypeREF | MPICommandTypeDOUBLE),
  MPICommandTypeASSIGN_DOUBLE       = MPICommandTypeASSIGN | MPICommandTypeDOUBLE,
  MPICommandTypeBRANCH_REF          = MPICommandTypeBRANCH | MPICommandTypeREF,
  MPICommandTypeBRANCH_DOUBLE       = MPICommandTypeBRANCH | MPICommandTypeDOUBLE,
  MPICommandTypeBRANCH_DOUBLE_REF   = MPICommandTypeBRANCH_DOUBLE | MPICommandTypeREF,
  MPICommandTypeCOMPUTE_REF         = MPICommandTypeCOMPUTE | MPICommandTypeREF,
  MPICommandTypeCOMPUTE_DOUBLE      = MPICommandTypeCOMPUTE | MPICommandTypeDOUBLE,
  MPICommandTypeCOMPUTE_DOUBLE_REF  = MPICommandTypeCOMPUTE_DOUBLE | MPICommandTypeREF,
  MPICommandTypeWAIT_REF            = MPICommandTypeWAIT | MPICommandTypeREF,
  MPICommandTypeWAIT_DOUBLE         = MPICommandTypeWAIT | MPICommandTypeDOUBLE,
  MPICommandTypeWAIT_DOUBLE_REF     = MPICommandTypeWAIT_DOUBLE | MPICommandTypeREF
} MPICommandType;
Description
MPICommandType is an enumeration of controller commands that can be used in a program sequence. It specifies a single instruction for the controller to execute. The CommandType also defines the command parameters that must be passed to mpiCommandCreate(...). For each MPICommandType there is a corresponding structure in the MPICommandParams{...} union. For example, when the MPICommandTypeASSIGN is specified, the assign{...} structure in MPICommandParams{...} must be filled in to specify the address and value.
Commands must be created with mpiCommandCreate(...) and then added to a sequence using mpiSequenceCommandAppend(...), mpiSequenceCommandInsert(...), or mpiSequenceCommandListSet(...). Then the command sequence can be loaded into the controller with mpiSequenceLoad(...) and started with mpiSequenceStart(...).
| Element | Description | Associated MPICommandParams structure | 
|---|---|---|
| MPICommandTypeASSIGN | Writes a constant value (int32_t or float) into the controller's memory at the specified address. | Assign | 
| MPICommandTypeASSIGN_FLOAT | These commands assign a value to a particular controller address. MPICommandTypeASSIGN assigns a int32_t value while MPICommandTypeASSIGN_FLOAT assigns a float value. | |
| MPICommandTypeBRANCH | These commands branch to a particular command (similar to a goto statement) if a particular comparison evaluates to TRUE. MPICommandTypeBRANCH compares a controller address to a specified constant int32_t value. MPICommandTypeBRANCH_REF compares a controller address to a int32_t value at a specified controller address. | branch | 
| MPICommandTypeBRANCH_REF | Branch to a particular command if the comparison evaluates to TRUE. Compares a controller address to a int32_t value at a specified controller address. | |
| MPICommandTypeBRANCH_FLOAT | Compares a controller address to a specified constant float value. | |
| MPICommandTypeBRANCH_FLOAT_REF | Compares a controller address to a float value at a specified controller address. | |
| MPICommandTypeBRANCH_EVENT | Branch to a particular command (similar to a goto statement) if a particular event occurs or has occured. | branchEvent | 
| MPICommandTypeBRANCH_IO | Branch to a particular command (similar to a goto statement) if a particular I/O state matches a specified condition. | branchIO | 
| MPICommandTypeCOMPUTE | These commands perform some computation and place the result at some controller address. MPICommandTypeCOMPUTE performs a computation of some controller address and a constant int32_t value. | compute | 
| MPICommandTypeCOMPUTE_REF | ||
| MPICommandTypeCOMPUTE_FLOAT | Performs a computation of some controller address and a constant float value. | |
| MPICommandTypeCOMPUTE_FLOAT_REF | Performs a computation of some controller address and a float value at a specified controller address. | |
| MPICommandTypeCOMPUTE_IO | Performs a computation on a set of I/O bits. | computeIO | 
| MPICommandTypeCOPY | Copies controller memory from one place to another. | copy | 
| MPICommandTypeDELAY | Delays execution of the next command. | delay | 
| MPICommandTypeEVENT | Generate an event. | event | 
| MPICommandTypeMOVE | Commands a motion action. See MPICommandMotion. | motion | 
| MPICommandTypeWAIT | These delays execution of the next command until a particular comparison evaluates to TRUE. MPICommandTypeWAIT compares a controller address to a specified constant int32_t value. MPICommandTypeWAIT_REF Compares a controller address to a int32_t value at a specified controller address. | wait | 
| MPICommandTypeWAIT_REF | Compares a controller address to a int32_t value at a specified controller address. | |
| MPICommandTypeWAIT_FLOAT | Compares a controller address to a specified constant float value. | |
| MPICommandTypeWAIT_FLOAT_REF | Compares a controller address to a float value at a specified controller address. | |
| MPICommandTypeWAIT_EVENT | Delays execution of the next command until a particular event occurs. | waitEvent | 
| MPICommandTypeWAIT_IO | Delays execution of the next command until a particular I/O state matches a specified condition. | waitIO | 
See Also
MPICommand | MPICommandMotion | MPICommandParams | mpiCommandCreate | mpiCommandType | mpiSequenceCommandAppend | mpiSequenceCommandInsert | mpiSequenceCommandListSet | mpiSequenceLoad | mpiSequenceStart

