
325
Appendix D: Debugging GigE Cameras
Beginning with PICam 5.x, Princeton Instruments’ GigE cameras incorporate a Camera
Heartbeat that enables the camera and PICam to coordinate communication with one
another. As long as a Heartbeat signal has been received by the camera before the
specified Heartbeat Timeout has expired, the Camera will continue to be controlled
exclusively by PICam.
Under normal operation, the implementation of a Camera Heartbeat is completely
transparent to end-users of GigE cameras. However, developers must be keenly aware
of how the Heartbeat Timeout impacts camera availability during successive debugging
sessions when a PICam process either crashes or is intentionally killed.
Once PICam tasks have been completed, an orderly cessation of the Camera Heartbeat
is initiated, and the communication channel between PICam and the camera is closed.
At this point, if desired, the camera can again be controlled by PICam or by another
program/device.
If, however, PICam halts unexpectedly (e.g., it crashes, the process is killed,) the camera
will continue to wait for the next incoming Heartbeat signal until such time as the
Heartbeat Timeout has expired. While waiting, the camera remains unavailable to other
processes, devices, and programs.
NOTE:
The primary symptom of an expired Heartbeat is a
continuous string of unexpected errors being received.
Only after the Heartbeat Timeout has expired without an incoming Heartbeat signal
having been detected will the camera close its communication channel with PICam and
become available to other processes or devices. At this point, PICam will need to be
reinitialized/restarted.
D.1
Debugging
The introduction of the Camera Heartbeat presents additional challenges to developers
during the Debugging stage of software development. When a breakpoint is reached,
PICam execution halts, and no additional Camera Heartbeats are sent to the camera. If
the configured Heartbeat Timeout is too short, it will expire, the camera will close its
communication channel with PICam requiring it to be reinitialized, and thus preventing
subsequent sections of code from easily being executed, examined, and debugged.
The solution to this dilemma is to extend the timeout period sufficiently by configuring
the Heartbeat Timeout for an appropriately large value (e.g., 5 minutes.) Increasing the
timeout permits the executed code to be examined/debugged while the camera waits
patiently for the next incoming Heartbeat signal from PICam. As long as execution of
the next chunk of code has been manually initiated before the Heartbeat Timeout
expires, PICam will send another Heartbeat signal to the camera (which, in turn, resets
the Heartbeat Timeout timer,) and the next chunk of code executes until it reaches the
next breakpoint.
Содержание Princeton Instruments PICam 5.x
Страница 1: ...www princetoninstruments com PICam 5 x Programmer s Manual 4411 0161 Issue 11 June 28 2021...
Страница 4: ...4 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 14: ...14 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 180: ...180 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 192: ...192 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 290: ...290 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 302: ...302 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 326: ...324 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...
Страница 351: ...This page is intentionally blank...
Страница 354: ......