IviDmmMultiPoint Behavior Model
The following state diagram shows relationships between IviDmmMultiPoint extension group and DMM behavior. Only the elements added by the IviDmmMultiPoint capability group are represented in this state diagram.
IviDmmMultiPoint Behavior Model
The IviDmmMultiPoint behavior model builds upon the fundamental IviDmm behavior model and only documents additional items introduced by the IviDmmMultiPoint extension group. The main state is the Idle state. Typically, you configure the IviDmmMultiPoint attributes while DMM is in the Idle state. IviDmmMultiPoint attributes can be configured individually with the IviDmm_SetAttribute function or with the high-level IviDmm_ConfigureMultiPoint function.
The IviDmm_Initiate and IviDmm_ReadMultiPoint functions cause the DMM to leave the Idle state and transition to the Wait-For-Trigger state. The IviDmm_ReadMultiPoint function does not return until the measurement process is complete and the DMM returns to the Idle state. The IviDmm_Initiate function returns as soon as the DMM leaves the Idle state.
The IviDmmMultiPoint extension group does not add additional capabilities to the Wait-For-Trigger state.
After the DMM leaves the Wait-For-Trigger state, it then executes a delay. The length of the delay is specified by the attribute IVIDMM_ATTR_TRIGGER_DELAY. After the measurement is taken, the DMM then, if it is capable of doing so, generates the Measurement Complete signal.
The DMM then compares the sample count with the number of measurements taken since the last trigger event. The sample count is specified by the attribute IVIDMM_ATTR_SAMPLE_COUNT. If the number measurements is not equal to the sample count the DMM moves to the Wait-For-Sample-Trigger state. The DMM remains in the Wait-For-Sample-Trigger state until the event specified by the attribute IVIDMM_ATTR_SAMPLE_TRIGGER occurs. Then it takes another measurement.
Once the number of measurements taken is equal to the sample count, the DMM then compares the number trigger count with the number of trigger events that have occurred since either the IviDmm_Initiate or IviDmm_ReadMultiPoint function was called. The trigger count is specified by the attribute IVIDMM_ATTR_TRIGGER_COUNT. If the number of trigger events is not equal to the trigger count, the DMM returns to the Wait-For-Trigger state.
Once the number of trigger events is equal to the trigger count, the DMM returns to the Idle state. The IviDmm_FetchMultiPoint function is used to retrieve measured data from measurements initiated by the IviDmm_Initiate function. The measurement data returned from the IviDmm_ReadMultiPoint andIviDmm_FetchMultiPoint functions is acquired after the DMM has left the Wait-For-Trigger state.