8#include "SpinGenApi/SpinnakerGenApi.h"
10using namespace Spinnaker;
11using namespace Spinnaker::GenApi;
12using namespace Spinnaker::GenICam;
14#define SPConvertPixelFormatString "SP_CONVERT_PIXEL_FORMAT"
15#define SPStartedFrameCountString "SP_STARTED_FRAME_COUNT"
16#define SPDeliveredFrameCountString "SP_DELIVERED_FRAME_COUNT"
17#define SPReceivedFrameCountString "SP_RECEIVED_FRAME_COUNT"
18#define SPIncompleteFrameCountString "SP_INCOMPLETE_FRAME_COUNT"
19#define SPLostFrameCountString "SP_LOST_FRAME_COUNT"
20#define SPDroppedFrameCountString "SP_DROPPED_FRAME_COUNT"
21#define SPInputBufferCountString "SP_INPUT_BUFFER_COUNT"
22#define SPOutputBufferCountString "SP_OUTPUT_BUFFER_COUNT"
23#define SPReceivedPacketCountString "SP_RECEIVED_PACKET_COUNT"
24#define SPMissedPacketCountString "SP_MISSED_PACKET_COUNT"
25#define SPResendRequestedPacketCountString "SP_RESEND_REQUESTED_PACKET_COUNT"
26#define SPResendReceivedPacketCountString "SP_RESEND_RECEIVED_PACKET_COUNT"
27#define SPTimeStampModeString "SP_TIME_STAMP_MODE"
28#define SPUniqueIdModeString "SP_UNIQUE_ID_MODE"
40 ImagePtr *imagePtrAddr =
new ImagePtr(image);
42 if (pMsgQ_->send(&imagePtrAddr,
sizeof(imagePtrAddr)) != 0) {
43 printf(
"OnImageEvent error calling pMsgQ_->send()\n");
48 epicsMessageQueue *pMsgQ_;
59 ADSpinnaker(
const char *portName,
int cameraId,
int numSPBuffers,
60 size_t maxMemory,
int priority,
int stackSize);
65 virtual asynStatus
readEnum(asynUser *pasynUser,
char *strings[],
int values[],
int severities[],
66 size_t nElements,
size_t *nIn);
67 void report(FILE *fp,
int details);
69 std::string
const & asynName, asynParamType asynType,
int asynIndex,
78 int SPConvertPixelFormat;
79#define FIRST_SP_PARAM SPConvertPixelFormat
80 int SPStartedFrameCount;
81 int SPDeliveredFrameCount;
82 int SPReceivedFrameCount;
83 int SPIncompleteFrameCount;
85 int SPDroppedFrameCount;
86 int SPInputBufferCount;
87 int SPOutputBufferCount;
88 int SPReceivedPacketCount;
89 int SPMissedPacketCount;
90 int SPResendRequestedPacketCount;
91 int SPResendReceivedPacketCount;
94 int SPFrameRateEnable;
97 asynStatus grabImage();
98 asynStatus startCapture();
99 asynStatus stopCapture();
100 asynStatus connectCamera();
101 asynStatus disconnectCamera();
102 void imageEventCallback(ImagePtr pImage);
103 void reportNode(FILE *fp, INodeMap *pNodeMap, gcstring nodeName,
int level);
104 void updateStreamStat(
const char *nodeName,
int param);
110 INodeMap *pTLStreamNodeMap_;
115 ImageEventHandler *pImageEventHandler_;
118 epicsEventId startEventId_;
119 epicsMessageQueue *pCallbackMsgQ_;
GCFeatureType_t
Definition GenICamFeature.h:13
Definition ADGenICam.h:25
Main driver class inherited from areaDetectors ADDriver class.
Definition ADSpinnaker.h:57
INodeMap * getNodeMap()
These should be private but are called from C callback functions, must be public.
Definition ADSpinnaker.cpp:219
void report(FILE *fp, int details)
Print out a report; calls ADGenICam::report to get base class report as well.
Definition ADSpinnaker.cpp:884
void shutdown()
Definition ADSpinnaker.cpp:190
void imageGrabTask()
Task to grab images off the camera and send them up to areaDetector.
Definition ADSpinnaker.cpp:369
virtual GenICamFeature * createFeature(GenICamFeatureSet *set, std::string const &asynName, asynParamType asynType, int asynIndex, std::string const &featureName, GCFeatureType_t featureType)
Definition ADSpinnaker.cpp:213
virtual asynStatus readEnum(asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
Definition ADSpinnaker.cpp:752
Definition ADSpinnaker.h:31
ADSpinnakerImageEventHandler(epicsMessageQueue *pMsgQ)
Definition ADSpinnaker.h:34
void OnImageEvent(ImagePtr image)
Definition ADSpinnaker.h:39
~ADSpinnakerImageEventHandler()
Definition ADSpinnaker.h:37
Definition GenICamFeature.h:41
Definition GenICamFeature.h:123
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition NDArray.h:99