If a GPIO line is configured as an output line, you must apply appropriate output signal voltages as specified in your camera topic. You can find your camera topic in the "Models" section.
If you don't apply the appropriate voltages, a line overload may occur. As long as the absolute maximum voltage of the camera is not exceeded, the camera can detect the overload and report it via the LineOverloadStatus parameter.
To determine the overload status of all I/O lines in a single operation, read the BslLineOverloadStatusAll parameter. The parameter is reported as a 64-bit value.
Info
The BslLineOverloadStatusAll parameter is only available via the pylon API, not via the pylon Viewer feature tree.
Certain bits in the value are associated with the I/O lines. Each bit indicates the status of its associated line:
If a bit is 0, the associated line is not overloaded.
If a bit is 1, the associated line is overloaded. Check the configuration of your I/O lines.
The bit-to-line association is as follows:
Bit 0 indicates Line1 status.
Bit 1 indicates Line2 status.
Bit 2 indicates Line3 status.
Example: All lines high = 0b111
Info
If the Line Inverter feature is enabled, the camera inverts the BslLineOverloadStatusAll parameter value. All 0 bits change to 1, and vice versa.
// Select a linecamera.LineSelector.SetValue(LineSelector_Line1);// Determine the status of the selected lineboolstatus=camera.BslLineOverloadStatus.GetValue();// Get the line overload status of all I/O lines// Because the GenICam interface does not support// 32-bit words, the line status is reported as a 64-bit valueint64_tlineOverloadStatusAll=camera.BslLineOverloadStatusAll.GetValue();
INodeMap&nodemap=camera.GetNodeMap();// Select a lineCEnumParameter(nodemap,"LineSelector").SetValue("Line1");// Determine the status of the selected lineboolstatus=CBooleanParameter(nodemap,"BslLineOverloadStatus").GetValue();// Get the line overload status of all I/O lines// Because the GenICam interface does not support// 32-bit words, the line status is reported as a 64-bit valueint64_tlineOverloadStatusAll=CIntegerParameter(nodemap,"BslLineOverloadStatusAll").GetValue();
// Select a linecamera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line1);// Determine the status of the selected lineboolstatus=camera.Parameters[PLCamera.BslLineOverloadStatus].GetValue();// Get the line overload status of all I/O lines// Because the GenICam interface does not support// 32-bit words, the line status is reported as a 64-bit valueInt64lineOverloadStatusAll=camera.Parameters[PLCamera.BslLineOverloadStatusAll].GetValue();
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods */_Boolstatus=false;int64_tlineOverloadStatusAll=0;/* Select a line */errRes=PylonDeviceFeatureFromString(hdev,"LineSelector","Line1");CHECK(errRes);/* Determine the status of the selected line */errRes=PylonDeviceGetBooleanFeature(hdev,"BslLineOverloadStatus",&status);CHECK(errRes);/* Get the line overload status of all I/O lines *//* Because the GenICam interface does not support *//* 32-bit words, the line status is reported as a 64-bit value */errRes=PylonDeviceGetIntegerFeature(hdev,"BslLineOverloadStatusAll",&lineOverloadStatusAll);CHECK(errRes);
# Select a linecamera.LineSelector.Value="Line1"# Determine the status of the selected linestatus=camera.BslLineOverloadStatus.Value# Get the line overload status of all I/O lines# Because the GenICam interface does not support# 32-bit words, the line status is reported as a 64-bit valuelineOverloadStatusAll=camera.BslLineOverloadStatusAll.Value
// Select a linecamera.LineSelector.SetValue(LineSelector_Line1);// Determine the status of the selected lineboolstatus=camera.LineOverloadStatus.GetValue();// Get the line overload status of all I/O lines// Because the GenICam interface does not support// 32-bit words, the line status is reported as a 64-bit valueint64_tlineOverloadStatusAll=camera.LineOverloadStatusAll.GetValue();
INodeMap&nodemap=camera.GetNodeMap();// Select a lineCEnumParameter(nodemap,"LineSelector").SetValue("Line1");// Determine the status of the selected lineboolstatus=CBooleanParameter(nodemap,"LineOverloadStatus").GetValue();// Get the line overload status of all I/O lines// Because the GenICam interface does not support// 32-bit words, the line status is reported as a 64-bit valueint64_tlineOverloadStatusAll=CIntegerParameter(nodemap,"LineOverloadStatusAll").GetValue();
// Select a linecamera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line1);// Determine the status of the selected lineboolstatus=camera.Parameters[PLCamera.LineOverloadStatus].GetValue();// Get the line overload status of all I/O lines// Because the GenICam interface does not support// 32-bit words, the line status is reported as a 64-bit valueInt64lineOverloadStatusAll=camera.Parameters[PLCamera.LineOverloadStatusAll].GetValue();
/* Macro to check for errors */#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)GENAPIC_RESULTerrRes=GENAPI_E_OK;/* Return value of pylon methods */_Boolstatus=false;int64_tlineOverloadStatusAll=0;/* Select a line */errRes=PylonDeviceFeatureFromString(hdev,"LineSelector","Line1");CHECK(errRes);/* Determine the status of the selected line */errRes=PylonDeviceGetBooleanFeature(hdev,"LineOverloadStatus",&status);CHECK(errRes);/* Get the line overload status of all I/O lines *//* Because the GenICam interface does not support *//* 32-bit words, the line status is reported as a 64-bit value */errRes=PylonDeviceGetIntegerFeature(hdev,"LineOverloadStatusAll",&lineOverloadStatusAll);CHECK(errRes);
# Select a linecamera.LineSelector.Value="Line1"# Determine the status of the selected linestatus=camera.LineOverloadStatus.Value# Get the line overload status of all I/O lines# Because the GenICam interface does not support# 32-bit words, the line status is reported as a 64-bit valuelineOverloadStatusAll=camera.LineOverloadStatusAll.Value