These modules are an extension to the GMOD.copy_on_change module which is used to copy different data types when a trigger is set.
module modCopyOnTrigger <compile_subs = 0, need_objs = "GMOD.copy_on_change"> { prim trigger<NEportLevels={2,0}>; prim input<NEportLevels={2,0}>; prim output<NEportLevels={0,2}>; boolean on_inst = 1; omethod+notify_inst+req Update( .trigger+req+notify, .input+req+read, .output+write ) = "GMODcopy_on_change"; }; module modCopyArrayOnTrigger <compile_subs = 0, need_objs = "GMOD.copy_on_change"> { prim trigger<NEportLevels={2,0}>; prim input<NEportLevels={2,0}> []; prim output<NEportLevels={2,0}> []; boolean on_inst = 1; omethod+notify_inst+req Update( .trigger+req+notify, .input+read, .output+write ) = "GMODcopy_on_change"; }; module modCopyGroupOnTrigger <compile_subs = 0, need_objs = "GMOD.copy_on_change"> { prim trigger<NEportLevels={2,0}>; group &input<NEportLevels={2,0}>; group &output<NEportLevels={2,0}>; boolean on_inst = 1; omethod+notify_inst+req Update( .trigger+req+notify, .input+req+read, .output+req+write ) = "GMODcopy_on_change"; }; module modCopyGroupArrayOnTrigger <compile_subs = 0, need_objs = "GMOD.copy_on_change"> { prim trigger<NEportLevels={2,0}>; group &input<NEportLevels={2,0}> []; group &output<NEportLevels={2,0}> []; boolean on_inst = 1; omethod+notify_inst+req Update( .trigger+req+notify, .input+req+read, .output+write ) = "GMODcopy_on_change"; }; module modCopyOnPtrTrigger <compile_subs = 0, need_objs = "GMOD.copy_on_change"> { group *trigger<NEportLevels={2,0}>; prim input<NEportLevels={2,0}>; prim output<NEportLevels={0,2}>; boolean on_inst = 1; omethod+notify_inst+req Update( .trigger+req+notify, .input+req+read, .output+write ) = "GMODcopy_on_change"; };
These modules copy the input to the output if the trigger is activated. They are extensions of the GMOD.copy_on_change for different data types.
Use:
trigger
executes the module to copy the input to the output.
input
contains the data to be copied when the trigger changes.
output
contains a copy of the input if the trigger has been activated.
iac_proj/copontrg/cxtgmods.v Creates the CopyXXXOnTriggerMods library containing the low-level modules modCopyOnTrigger, modCopyArrayOnTrigger, modCopyGroupOnTrigger, modCopyGroupArrayOnTrigger and modCopyOnPtrTrigger.
Brian Selle, Leon Thrane, Advanced Visual Systems Inc. Documentation - Ian Curington, Advanced Visual Systems Inc.
Paul G. Lever
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL