static void SetupCamera( Pylon::CInstantCamera& camera, int index)
{
using namespace GenApi;
//擷取裝置節點清單,用于擷取節點指針并指派
INodeMap &cameraNodeMap = camera.GetNodeMap();
if(index == 0)
{
CEnumerationPtr ptrTriggerSel = cameraNodeMap.GetNode ("TriggerSelector");
ptrTriggerSel->FromString("FrameStart");
CEnumerationPtr ptrTrigger = cameraNodeMap.GetNode ("TriggerMode");
ptrTrigger->SetIntValue(0);
}
else if(index == 1)
{
//設定為外觸發,并指定觸發源
CEnumerationPtr ptrTriggerSel = cameraNodeMap.GetNode ("TriggerSelector");
ptrTriggerSel->FromString("FrameStart");
CEnumerationPtr ptrTrigger = cameraNodeMap.GetNode ("TriggerMode");
ptrTrigger->SetIntValue(1);
CEnumerationPtr ptrTriggerSource = cameraNodeMap.GetNode ("TriggerSource");
ptrTriggerSource->FromString("Line1");
}
else if(index == 2)
{
const CFloatPtr exposureTime = cameraNodeMap.GetNode("ExposureTimeAbs");
exposureTime->SetValue(theApp.m_iExposeTime);
}
else if(index == 3)
{
const CIntegerPtr cameraGen = cameraNodeMap.GetNode("GainRaw");
cameraGen->SetValue(theApp.m_iGain);
}
else if(index == 4)
{
const CBooleanPtr frameRate = cameraNodeMap.GetNode("AcquisitionFrameRateEnable");
frameRate->SetValue(TRUE);
const CFloatPtr frameRateABS = cameraNodeMap.GetNode("AcquisitionFrameRateAbs");
frameRateABS->SetValue(theApp.m_iHZ);
}
else if(index == 5)
{
const CIntegerPtr widthPic = cameraNodeMap.GetNode("Width");
widthPic->SetValue(theApp.m_Width);
}
else if(index == 6)
{
const CIntegerPtr heightPic = cameraNodeMap.GetNode("Height");
heightPic->SetValue(theApp.m_Height);
}
else if(index == 7)
{
CEnumerationPtr ptrLineSource = cameraNodeMap.GetNode ("LineSource");
ptrLineSource->SetIntValue(2);
}
}