// STOP ACQUISITION AND LOAD DEFAULT PARAMETERS
pDevice->GetRemoteNode("AcquisitionStop")->Execute();
pDevice->GetRemoteNode("UserSetSelector")->SetValue("Default");
pDevice->GetRemoteNode("UserSetLoad")->Execute();
// DEFINE EXPOSURE TIME AND ROI FOR THE SEQUENCER
double ExposureTime = 500;
bo_int64 OffsetX = 0
bo_int64 OffsetY = 0
bo_int64 Height = pDevice->GetRemoteNode("Height")->GetIntMax();
bo_int64 Width = pDevice->GetRemoteNode("Width")->GetIntMax();
// SWITCH TO SEQUENCER CONFIG MODE
pDevice->GetRemoteNode("SequencerConfigurationMode")->SetString("On")
// SET 0 (FIRST STEP OF THE SEQUENCE)
// wait for the trigger and acquire the first image
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(0);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(1);
pDevice->GetRemoteNode("ExposureTime")->SetInt(ExposureTime);
pDevice->GetRemoteNode("Height")->SetInt(Height);
pDevice->GetRemoteNode("Width")->SetInt(Width);
pDevice->GetRemoteNode("OffsetX")->SetInt(OffsetX);
pDevice->GetRemoteNode("OffsetY")->SetInt(OffsetY);
pDevice->GetRemoteNode("TriggerMode")->SetValue("On");
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(0);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("RisingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 1 (SECOND STEP OF THE SEQUENCE)
// while the exposure is active strobe Output1 (lightning 1)
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(1);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(2);
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(1);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("FallingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 2 (THIRD STEP OF THE SEQUENCE)
// acquire second Image
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(2);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(3);
pDevice->GetRemoteNode("ExposureTime")->SetInt(ExposureTime);
pDevice->GetRemoteNode("Height")->SetInt(Height);
pDevice->GetRemoteNode("Width")->SetInt(Width);
pDevice->GetRemoteNode("OffsetX")->SetInt(OffsetX);
pDevice->GetRemoteNode("OffsetY")->SetInt(OffsetY);
pDevice->GetRemoteNode("TriggerMode")->SetValue("Off");
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(0);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("RisingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 3 (FOURTH STEP OF THE SEQUENCE)
// while the exposure is active strobe Output2 (lightning 2)
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(3);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(4);
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(2);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("FallingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 4 (FIFTH STEP OF THE SEQUENCE)
// acquire third Image
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(4);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(5);
pDevice->GetRemoteNode("ExposureTime")->SetInt(ExposureTime);
pDevice->GetRemoteNode("Height")->SetInt(Height);
pDevice->GetRemoteNode("Width")->SetInt(Width);
pDevice->GetRemoteNode("OffsetX")->SetInt(OffsetX);
pDevice->GetRemoteNode("OffsetY")->SetInt(OffsetY);
pDevice->GetRemoteNode("TriggerMode")->SetValue("Off");
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(0);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("RisingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 5 (SIXTH STEP OF THE SEQUENCE)
// strobe Output3 (lightning 3)
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(5);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(6);
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(4);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("FallingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 6 (SEVENTH STEP OF THE SEQUENCE)
// acquire 4. image
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(6);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(7);
pDevice->GetRemoteNode("ExposureTime")->SetInt(ExposureTime);
pDevice->GetRemoteNode("Height")->SetInt(Height);
pDevice->GetRemoteNode("Width")->SetInt(Width);
pDevice->GetRemoteNode("OffsetX")->SetInt(OffsetX);
pDevice->GetRemoteNode("OffsetY")->SetInt(OffsetY);
pDevice->GetRemoteNode("TriggerMode")->SetValue("Off");
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(0);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("RisingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// SET 7 (EIGHTH STEP OF THE SEQUENCE)
// strobe (Output4) lightning 4
pDevice->GetRemoteNode("SequencerSetSelector")->SetInt(7);
pDevice->GetRemoteNode("SequencerSetLoad")->Execute();
pDevice->GetRemoteNode("SequencerSetNext")->SetInt(0);
pDevice->GetRemoteNode("UserOutputValueAll")->SetInt(8);
pDevice->GetRemoteNode("SequencerTriggerActivation")->SetValue("FallingEdge");
pDevice->GetRemoteNode("SequencerTriggerSource")->SetValue("ExposureActive");
pDevice->GetRemoteNode("SequencerSetSave")->Execute();
// set the sequencer to start with the Set0
pDevice->GetRemoteNode("SequencerSetStart")->SetInt(0);
// SEQUENCER CONFIG END
pDevice->GetRemoteNode("SequencerConfigurationMode")->SetString("Off");
// STOP ACQUISITION AND LOAD DEFAULT PARAMETERS
mDevice.RemoteNodeList["AcquisitionStop"].Execute();
mDevice.RemoteNodeList["UserSetSelector"].Value = "Default";
mDevice.RemoteNodeList["UserSetLoad"].Execute();
// DEFINE EXPOSURE TIME AND ROI FOR THE SEQUENCER
double ExposureTime = 500;
long OffsetX = 0;
long OffsetY = 0;
long Height = mDevice.RemoteNodeList["Height"].Max;
long Width = mDevice.RemoteNodeList["Width"].Max;
// SWITCH TO SEQUENCER CONFIG MODE
mDevice.RemoteNodeList["SequencerConfigurationMode"].Value = "On";
// SET 0 (First STEP OF THE SEQUENCE)
// wait for the trigger and acquire the first image
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 0;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 1;
mDevice.RemoteNodeList["ExposureTime"].Value = ExposureTime;
mDevice.RemoteNodeList["OffsetX"].Value = OffsetX;
mDevice.RemoteNodeList["OffsetY"].Value = OffsetY;
mDevice.RemoteNodeList["Height"].Value = Height;
mDevice.RemoteNodeList["Width"].Value = Width;
mDevice.RemoteNodeList["TriggerMode"].Value = "On";
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 0;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "RisingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 1 (SECOND STEP OF THE SEQUENCE)
// while the exposure is active strobe Output1 (lightning 1)
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 1;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 2;
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 1;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "FallingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 2 (THIRD STEP OF THE SEQUENCE)
// acquire second Image
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 2;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 3;
mDevice.RemoteNodeList["ExposureTime"].Value = ExposureTime;
mDevice.RemoteNodeList["OffsetX"].Value = OffsetX;
mDevice.RemoteNodeList["OffsetY"].Value = OffsetY;
mDevice.RemoteNodeList["Height"].Value = Height;
mDevice.RemoteNodeList["Width"].Value = Width;
mDevice.RemoteNodeList["TriggerMode"].Value = "Off";
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 0;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "RisingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 3 (FOURTH STEP OF THE SEQUENCE)
// while the exposure is active strobe Output2 (lightning 2)
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 3;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 4;
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 2;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "FallingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 4 (FIFTH STEP OF THE SEQUENCE)
// acquire third Image
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 4;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 5;
mDevice.RemoteNodeList["ExposureTime"].Value = ExposureTime;
mDevice.RemoteNodeList["OffsetX"].Value = OffsetX;
mDevice.RemoteNodeList["OffsetY"].Value = OffsetY;
mDevice.RemoteNodeList["Height"].Value = Height;
mDevice.RemoteNodeList["Width"].Value = Width;
mDevice.RemoteNodeList["TriggerMode"].Value = "Off";
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 0;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "RisingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 5 (SIXTH STEP OF THE SEQUENCE)
// strobe Output3 (lightning 3)
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 5;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 6;
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 4;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "FallingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 6 (SEVENTH STEP OF THE SEQUENCE)
// acquire 4. image
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 6;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 7;
mDevice.RemoteNodeList["ExposureTime"].Value = ExposureTime;
mDevice.RemoteNodeList["OffsetX"].Value = OffsetX;
mDevice.RemoteNodeList["OffsetY"].Value = OffsetY;
mDevice.RemoteNodeList["Height"].Value = Height;
mDevice.RemoteNodeList["Width"].Value = Width;
mDevice.RemoteNodeList["TriggerMode"].Value = "Off";
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 0;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "RisingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// SET 7 (EIGHTH STEP OF THE SEQUENCE)
// strobe (Output4) lightning 4
mDevice.RemoteNodeList["SequencerSetSelector"].Value = 7;
mDevice.RemoteNodeList["SequencerSetLoad"].Execute();
mDevice.RemoteNodeList["SequencerSetNext"].Value = 0;
mDevice.RemoteNodeList["UserOutputValueAll"].Value = 8;
mDevice.RemoteNodeList["SequencerTriggerActivation"].Value = "FallingEdge";
mDevice.RemoteNodeList["SequencerTriggerSource"].Value = "ExposureActive";
mDevice.RemoteNodeList["SequencerSetSave"].Execute();
// set the sequencer to start with the Set0
mDevice.RemoteNodeList["SequencerSetStart"].Value = 0;
// SEQUENCER CONFIG END
mDevice.RemoteNodeList["SequencerConfigurationMode"].Value = "Off";
// define line outputs parameters
bo_int64 LightningTime = (long)ExposureTime - 2;
bo_int64 MaxDutyCycle = 10;
bo_int64 DutyCycle = 10;
bo_int64 MaxDuration = 1900;
String LineFormat = "OpenSource";
String LinePWMMode = "OnePulse";
// configure Line4 for UserOutput1 as single lightning flash 1
pDevice->GetRemoteNode("LineSelector")->SetValue("Line4");
pDevice->GetRemoteNode("LineFormat")->SetValue(LineFormat);
pDevice->GetRemoteNode("LineInverter")->SetValue("0");
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("On");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(1);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(1);
pDevice->GetRemoteNode("LinePWMMaxDutyCycle")->SetInt(MaxDutyCycle);
pDevice->GetRemoteNode("LinePWMMaxDuration")->SetInt(MaxDuration);
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("Off");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(LightningTime);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(DutyCycle);
pDevice->GetRemoteNode("LinePWMMode")->SetValue(LinePWMMode);
pDevice->GetRemoteNode("LineSource")->SetValue("UserOutput1");
// configure Line5 for UserOutput2 as single lightning flash 2
pDevice->GetRemoteNode("LineSelector")->SetValue("Line5");
pDevice->GetRemoteNode("LineFormat")->SetValue(LineFormat);
pDevice->GetRemoteNode("LineInverter")->SetValue("0");
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("On");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(1);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(1);
pDevice->GetRemoteNode("LinePWMMaxDutyCycle")->SetInt(MaxDutyCycle);
pDevice->GetRemoteNode("LinePWMMaxDuration")->SetInt(MaxDuration);
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("Off");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(LightningTime);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(DutyCycle);
pDevice->GetRemoteNode("LinePWMMode")->SetValue(LinePWMMode);
pDevice->GetRemoteNode("LineSource")->SetValue("UserOutput2");
// configure Line6 for UserOutput3 as single lightning flash 3
pDevice->GetRemoteNode("LineSelector")->SetValue("Line6");
pDevice->GetRemoteNode("LineFormat")->SetValue(LineFormat);
pDevice->GetRemoteNode("LineInverter")->SetValue("0");
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("On");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(1);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(1);
pDevice->GetRemoteNode("LinePWMMaxDutyCycle")->SetInt(MaxDutyCycle);
pDevice->GetRemoteNode("LinePWMMaxDuration")->SetInt(MaxDuration);
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("Off");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(LightningTime);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(DutyCycle);
pDevice->GetRemoteNode("LinePWMMode")->SetValue(LinePWMMode);
pDevice->GetRemoteNode("LineSource")->SetValue("UserOutput3");
// configure Line7 for UserOutput4 as single lightning flash 4
pDevice->GetRemoteNode("LineSelector")->SetValue("Line7");
pDevice->GetRemoteNode("LineFormat")->SetValue(LineFormat);
pDevice->GetRemoteNode("LineInverter")->SetValue("0");
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("On");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(1);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(1);
pDevice->GetRemoteNode("LinePWMMaxDutyCycle")->SetInt(MaxDutyCycle);
pDevice->GetRemoteNode("LinePWMMaxDuration")->SetInt(MaxDuration);
pDevice->GetRemoteNode("LinePWMConfigurationMode")->SetValue("Off");
pDevice->GetRemoteNode("LinePWMDuration")->SetInt(LightningTime);
pDevice->GetRemoteNode("LinePWMDutyCycle")->SetInt(DutyCycle);
pDevice->GetRemoteNode("LinePWMMode")->SetValue(LinePWMMode);
pDevice->GetRemoteNode("LineSource")->SetValue("UserOutput4");
// define line outputs parameters
long LightningTime = (long)ExposureTime - 2;
long MaxDutyCycle = 10;
long DutyCycle = 10;
long MaxDuration = 1900;
string LineFormat = "OpenSource";
string LinePWMMode = "OnePulse";
// configure Line4 for UserOutput1 as single lightning flash 1
mDevice.RemoteNodeList["LineSelector"].Value = "Line4";
mDevice.RemoteNodeList["LineFormat"].Value = LineFormat;
mDevice.RemoteNodeList["LineInverter"].Value = false;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "On";
mDevice.RemoteNodeList["LinePWMDuration"].Value = 1;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = 1;
mDevice.RemoteNodeList["LinePWMMaxDutyCycle"].Value = MaxDutyCycle;
mDevice.RemoteNodeList["LinePWMMaxDuration"].Value = MaxDuration;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "Off";
mDevice.RemoteNodeList["LinePWMDuration"].Value = LightningTime;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = DutyCycle;
mDevice.RemoteNodeList["LinePWMMode"].Value = LinePWMMode;
mDevice.RemoteNodeList["LineSource"].Value = "UserOutput1";
// configure Line5 for UserOutput2 as single lightning flash 2
mDevice.RemoteNodeList["LineSelector"].Value = "Line5";
mDevice.RemoteNodeList["LineFormat"].Value = LineFormat;
mDevice.RemoteNodeList["LineInverter"].Value = false;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "On";
mDevice.RemoteNodeList["LinePWMDuration"].Value = 1;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = 1;
mDevice.RemoteNodeList["LinePWMMaxDutyCycle"].Value = MaxDutyCycle;
mDevice.RemoteNodeList["LinePWMMaxDuration"].Value = MaxDuration;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "Off";
mDevice.RemoteNodeList["LinePWMDuration"].Value = LightningTime;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = DutyCycle;
mDevice.RemoteNodeList["LinePWMMode"].Value = LinePWMMode;
mDevice.RemoteNodeList["LineSource"].Value = "UserOutput2";
// configure Line6 for UserOutput3 as single lightning flash 3
mDevice.RemoteNodeList["LineSelector"].Value = "Line6";
mDevice.RemoteNodeList["LineFormat"].Value = LineFormat;
mDevice.RemoteNodeList["LineInverter"].Value = false;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "On";
mDevice.RemoteNodeList["LinePWMDuration"].Value = 1;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = 1;
mDevice.RemoteNodeList["LinePWMMaxDutyCycle"].Value = MaxDutyCycle;
mDevice.RemoteNodeList["LinePWMMaxDuration"].Value = MaxDuration;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "Off";
mDevice.RemoteNodeList["LinePWMDuration"].Value = LightningTime;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = DutyCycle;
mDevice.RemoteNodeList["LinePWMMode"].Value = LinePWMMode;
mDevice.RemoteNodeList["LineSource"].Value = "UserOutput3";
// configure Line7 for UserOutput4 as single lightning flash 4
mDevice.RemoteNodeList["LineSelector"].Value = "Line7";
mDevice.RemoteNodeList["LineFormat"].Value = LineFormat;
mDevice.RemoteNodeList["LineInverter"].Value = false;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "On";
mDevice.RemoteNodeList["LinePWMDuration"].Value = 1;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = 1;
mDevice.RemoteNodeList["LinePWMMaxDutyCycle"].Value = MaxDutyCycle;
mDevice.RemoteNodeList["LinePWMMaxDuration"].Value = MaxDuration;
mDevice.RemoteNodeList["LinePWMConfigurationMode"].Value = "Off";
mDevice.RemoteNodeList["LinePWMDuration"].Value = LightningTime;
mDevice.RemoteNodeList["LinePWMDutyCycle"].Value = DutyCycle;
mDevice.RemoteNodeList["LinePWMMode"].Value = LinePWMMode;
mDevice.RemoteNodeList["LineSource"].Value = "UserOutput4";
// START CAMERA SEQUENCER
pDevice->GetRemoteNode("SequencerMode")->SetValue("On");
pDevice->GetRemoteNode("TriggerSource")->SetValue("Software");
pDataStream->StartAcquisitionContinuous();
pDevice->GetRemoteNode("AcquisitionStart")->Execute();
pDevice->GetRemoteNode("TriggerSoftware")->Execute();
// CAPTURE 4 IMAGES
// STOP CAMERA SEQUENCER
pDevice->GetRemoteNode("AcquisitionStop")->Execute();
pDataStream->StopAcquisition();
pDevice->GetRemoteNode("SequencerMode")->SetValue("Off");
// START CAMERA SEQUENCER
mDevice.RemoteNodeList["SequencerMode"].Value = "On";
mDevice.RemoteNodeList["TriggerSource"].Value = "Software";
mDataStream.StartAcquisition();
mDevice.RemoteNodeList["AcquisitionStart"].Execute();
mDevice.RemoteNodeList["TriggerSoftware"].Execute();
// CAPTURE 4 IMAGES
// STOP CAMERA SEQUENCER
mDevice.RemoteNodeList["AcquisitionStop"].Execute();
mDataStream.StopAcquisition();
mDevice.RemoteNodeList["SequencerMode"].Value = "Off";
陰影恢復(fù)形狀和定序器