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 (long 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 long 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 long value. MPICommandTypeBRANCH_REF compares a controller address to a long 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 long 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 long 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 long value. MPICommandTypeWAIT_REF Compares a controller address to a long value at a specified controller address. | wait |
| MPICommandTypeWAIT_REF | Compares a controller address to a long 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
