MIL_FPGA_CONTEXT FpgaCommandContext, | //in |
MIL_INT64 CompletionMode, | //in |
MIL_INT64 QueueType | //in |
This function sends the command, defined by the specified FPGA command context, to the system command queue of the current thread. The command will be executed when the target Processing FPGA hardware resources are available.
If you link multiple command contexts, their commands should be gathered in a complex command, using MfpgaCommandQueue() with M_WAIT. Add the last command to the complex command using M_DISPATCH. If multiple commands are being dispatched at the same time (as in cascaded or parallel scenarios), then MIL uses the synchronous/asynchronous setting and the completion mode of the last command (that is, the one with the call to MfpgaCommandQueue() with M_DISPATCH). Set the completion mode for all other commands in the complex command to M_DEFAULT.
Note that two commands can typically run at the same time if they do not reference the same buffer and use different FPGA components that can access their buffers using different paths. When a command is sent asynchronously, you can use MthrWait() with M_THREAD_WAIT to force the current thread to wait for the completion of all commands in the thread's system command queue. Alternatively, you can use MbufHookFunction() with M_MODIFIED_BUFFER to notify your MIL application when the operation has finished processing the image.
Specifies the handle of the FPGA command context associated with the PU, which defines the command. The command context must have been previously allocated on the system using MfpgaCommandAlloc().
Specifies when the processing operation will be tagged as completed. This parameter can be set to one of the following values.
For specifying when the command is
completed
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
MIL system-specific tooltip (†) |
|||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (more details...) |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_DESTINATION_WRITTEN |
Specifies that the command is complete when all destination buffers are written. (more details...) |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_PROCESSING_COMPLETED |
Specifies that the command is complete when the PU generates its end-of-processing interrupt (interrupt 0). (more details...) |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_SOURCE_READ |
Specifies that the command is complete when all source buffers have been read. |
† | j | k | l | m | p | q | r |
Specifies whether MfpgaCommandQueue() should load the current command (or complex command) into hardware or store it into a complex command. This parameter can be set to one of the following:
For specifying how to handle the current
command
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
MIL system-specific tooltip (†) |
|||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_DISPATCH. |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_DISPATCH |
Informs the MIL driver that subsequent commands are not related to the current one. (more details...) |
† | j | k | l | m | p | q | r | ||||||||||||||||||||||||||||||
M_WAIT |
Informs the MIL driver to wait for other commands, using MfpgaCommandQueue(), before being queued in the system command queue. (more details...) |
† | j | k | l | m | p | q | r |
Header | Include mil.h; milfpga.h. |
Library | Use mil.lib; milfpga.lib. |
DLL | Requires mil.dll; milfpga.dll. |