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