diff --git a/andorApp/src/andorCCD.cpp b/andorApp/src/andorCCD.cpp index a27aa05..14618eb 100755 --- a/andorApp/src/andorCCD.cpp +++ b/andorApp/src/andorCCD.cpp @@ -101,6 +101,7 @@ static void exitHandler(void *drvPvt); * \param[in] installPath The path to the Andor directory containing the detector INI files, etc. * This can be specified as an empty string ("") for new detectors that don't use the INI * files on Windows, but must be a valid path on Linux. + * \param[in] cameraSerial The serial number of the desired camera. * \param[in] shamrockID The index number of the Shamrock spectrograph, if installed. * 0 is the first Shamrock in the system. Ignored if there are no Shamrocks. * \param[in] maxBuffers The maximum number of NDArray buffers that the NDArrayPool for this driver is @@ -110,7 +111,7 @@ static void exitHandler(void *drvPvt); * \param[in] priority The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. * \param[in] stackSize The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. */ -AndorCCD::AndorCCD(const char *portName, const char *installPath, int shamrockID, +AndorCCD::AndorCCD(const char *portName, const char *installPath, int cameraSerial, int shamrockID, int maxBuffers, size_t maxMemory, int priority, int stackSize) : ADDriver(portName, 1, NUM_ANDOR_DET_PARAMS, maxBuffers, maxMemory, @@ -191,9 +192,39 @@ AndorCCD::AndorCCD(const char *portName, const char *installPath, int shamrockID // Initialize camera try { - printf("%s:%s: initializing camera\n", - driverName, functionName); - checkStatus(Initialize(mInstallPath)); + at_32 numCameras; + checkStatus(GetAvailableCameras(&numCameras)); + bool cameraFound = false; + for (i=0; i