add function initCamera
This commit is contained in:
+56
-38
@@ -173,8 +173,8 @@ record(mbbo, "$(P)$(R)SensorMode-S") {
|
||||
field(TWST, "Splitview")
|
||||
field(THVL, "4")
|
||||
field(THST, "Duallightsheet")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "4")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "4")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -221,8 +221,8 @@ record(mbbo, "$(P)$(R)ReadoutDirection-S") {
|
||||
field(DTYP, "asynInt32")
|
||||
field(ZRVL, "5")
|
||||
field(ZRST, "Diverge")
|
||||
field(DRVL, "5")
|
||||
field(DRVH, "5")
|
||||
# field(DRVL, "5")
|
||||
# field(DRVH, "5")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_DIRECTION")
|
||||
field(VAL, "5")
|
||||
}
|
||||
@@ -249,8 +249,8 @@ record(mbbo, "$(P)$(R)ColorType-S") {
|
||||
field(DTYP, "asynInt32")
|
||||
field(ZRVL, "1")
|
||||
field(ZRST, "B/W")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "1")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "1")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_COLOR_TYPE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -272,8 +272,8 @@ record(mbbo, "$(P)$(R)BitPerChannel-S") {
|
||||
field(ZRST, "12 bits")
|
||||
field(ONVL, "16")
|
||||
field(ONST, "16 bits")
|
||||
field(DRVL, "12")
|
||||
field(DRVH, "16")
|
||||
# field(DRVL, "12")
|
||||
# field(DRVH, "16")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL")
|
||||
field(VAL, "16")
|
||||
}
|
||||
@@ -308,8 +308,8 @@ record(mbbo, "$(P)$(R)TriggerSource-S") {
|
||||
field(TWST, "Software")
|
||||
field(THVL, "4")
|
||||
field(THST, "Master Pulse")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "4")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "4")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_SOURCE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -338,8 +338,8 @@ record(mbbo, "$(P)$(R)TriggerMode-S") {
|
||||
field(ZRST, "Normal")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "Start")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "2")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_MODE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -366,8 +366,8 @@ record(mbbo, "$(P)$(R)TriggerActive-S") {
|
||||
field(ONST, "Level")
|
||||
field(TWVL, "3")
|
||||
field(TWST, "Sync Readout")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "3")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "3")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_ACTIVE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -397,11 +397,11 @@ record(mbbo, "$(P)$(R)TriggerGlobalExposure-S") {
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(ZRVL, "3")
|
||||
field(ZRST, "Delay")
|
||||
field(ZRST, "Delayed")
|
||||
field(ONVL, "5")
|
||||
field(ONST, "Reset")
|
||||
field(DRVL, "3")
|
||||
field(DRVH, "5")
|
||||
field(ONST, "Global Reset")
|
||||
# field(DRVL, "3")
|
||||
# field(DRVH, "5")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_GLOBAL_EXPOSURE")
|
||||
field(VAL, "3")
|
||||
}
|
||||
@@ -410,9 +410,9 @@ record(mbbi, "$(P)$(R)TriggerGlobalExposure-RB") {
|
||||
field(DESC, "")
|
||||
field(DTYP, "asynInt32")
|
||||
field(ZRVL, "3")
|
||||
field(ZRST, "Delay")
|
||||
field(ZRST, "Delayed")
|
||||
field(ONVL, "5")
|
||||
field(ONST, "Reset")
|
||||
field(ONST, "Global Reset")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_GLOBAL_EXPOSURE")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
@@ -426,8 +426,8 @@ record(mbbo, "$(P)$(R)TriggerPolarity-S") {
|
||||
field(ZRST, "Negative")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "Positive")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "2")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_POLARITY")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -452,8 +452,8 @@ record(mbbo, "$(P)$(R)TriggerConnector-S") {
|
||||
field(ZRST, "Interface")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "BNC")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "2")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_CONNECTOR")
|
||||
field(VAL, "2")
|
||||
}
|
||||
@@ -595,8 +595,8 @@ record(mbbo, "$(P)$(R)Binning-S") {
|
||||
field(ONST, "2x2")
|
||||
field(TWVL, "3")
|
||||
field(TWST, "4x4")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "3")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "3")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BINNING")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -676,8 +676,8 @@ record(mbbo, "$(P)$(R)DefectCorrectMode-S") {
|
||||
field(ZRST, "OFF")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "ON")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "2")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DEFECTCORRECT_MODE")
|
||||
field(VAL, "2")
|
||||
}
|
||||
@@ -705,8 +705,8 @@ record(mbbo, "$(P)$(R)HotPixelCorrectLevel-S") {
|
||||
field(ONST, "Minimum")
|
||||
field(TWVL, "3")
|
||||
field(TWST, "Aggressive")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "3")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "3")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_HOT_PIXEL_CORRECT_LEVEL")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -734,6 +734,8 @@ record(mbbo, "$(P)$(R)IntensityLutMode-S") {
|
||||
field(ZRST, "Through")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "Page")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTENSITY_LUT_MODE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -755,6 +757,8 @@ record(ao, "$(P)$(R)IntensityLutPage-S") {
|
||||
field(DESC, "")
|
||||
field(PINI, "YES")
|
||||
field(DTYP, "asynInt32")
|
||||
field(DRVL, "1")
|
||||
field(DRVH, "1")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTENSITY_LUT_PAGE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -800,6 +804,8 @@ record(mbbo, "$(P)$(R)OutputTriggerSource0-S") {
|
||||
field(TWST, "HSync")
|
||||
field(THVL, "6")
|
||||
field(THST, "Trigger")
|
||||
# field(DRVL, "2")
|
||||
# field(DRVH, "6")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0")
|
||||
field(VAL, "2")
|
||||
}
|
||||
@@ -829,6 +835,8 @@ record(mbbo, "$(P)$(R)OutputTriggerPolarity0-S") {
|
||||
field(ZRST, "Negative")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "Positive")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY0")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -851,6 +859,8 @@ record(mbbo, "$(P)$(R)OutputTriggerActive0-S") {
|
||||
field(PINI, "YES")
|
||||
field(ZRVL, "1")
|
||||
field(ZRST, "Edge")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "1")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE0")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -920,6 +930,8 @@ record(mbbo, "$(P)$(R)OutputTriggerKind0-S") {
|
||||
field(FRST, "High")
|
||||
field(FVVL, "6")
|
||||
field(FVST, "Any Row Exposure")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "6")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND0")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -976,6 +988,8 @@ record(mbbo, "$(P)$(R)OutputTriggerBaseSensor0-S") {
|
||||
field(TWST, "Any View")
|
||||
field(THVL, "16")
|
||||
field(THST, "All Views")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "4")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR0")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -1009,6 +1023,8 @@ record(mbbo, "$(P)$(R)MasterPulseMode-S") {
|
||||
field(ONST, "Start")
|
||||
field(TWVL, "3")
|
||||
field(THST, "Burst")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "3")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_MODE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -1036,6 +1052,8 @@ record(mbbo, "$(P)$(R)MasterPulseTriggerSource-S") {
|
||||
field(ZRST, "External")
|
||||
field(ONVL, "2")
|
||||
field(ONST, "Software")
|
||||
# field(DRVL, "1")
|
||||
# field(DRVH, "2")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_TRIGGER_SOURCE")
|
||||
field(VAL, "1")
|
||||
}
|
||||
@@ -1157,8 +1175,8 @@ record(mbbi, "$(P)$(R)TimingInvalidExposurePeriod-RB") {
|
||||
record(ao, "$(P)$(R)InternalFrameRate-S") {
|
||||
field(DESC, "")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(DRVL, "20.035817413")
|
||||
field(DRVH, "49.865614232")
|
||||
field(DRVL, "0.1")
|
||||
field(DRVH, "100.022862")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_RATE")
|
||||
field(EGU, "Hz")
|
||||
}
|
||||
@@ -1176,8 +1194,8 @@ record(ai, "$(P)$(R)InternalFrameRate-RB") {
|
||||
record(ao, "$(P)$(R)InternalFrameInternal-S") {
|
||||
field(DESC, "")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(DRVL, "")
|
||||
field(DRVH, "")
|
||||
field(DRVL, "0.00998")
|
||||
field(DRVH, "10.0")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_INTERVAL")
|
||||
field(EGU, "Sec")
|
||||
}
|
||||
@@ -1195,8 +1213,8 @@ record(ai, "$(P)$(R)InternalFrameInternal-RB") {
|
||||
record(ao, "$(P)$(R)InternalLineSpeed-S") {
|
||||
field(DESC, "")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(DRVL, "")
|
||||
field(DRVH, "")
|
||||
field(DRVL, "0.667052")
|
||||
field(DRVH, "0.667052")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_SPEED")
|
||||
field(EGU, "m/s")
|
||||
}
|
||||
@@ -1214,8 +1232,8 @@ record(ai, "$(P)$(R)InternalLineSpeed-RB") {
|
||||
record(ao, "$(P)$(R)InternalLineInterval-S") {
|
||||
field(DESC, "")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(DRVL, "")
|
||||
field(DRVH, "")
|
||||
field(DRVL, "0.00001")
|
||||
field(DRVH, "0.00001")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_INTERVAL")
|
||||
field(EGU, "Sec")
|
||||
}
|
||||
|
||||
+124
-23
@@ -187,8 +187,6 @@ Hama::Hama(const char* portName, int cameraId, int maxBuffers, size_t maxMemory,
|
||||
|
||||
connectCamera();
|
||||
|
||||
int err = 0;
|
||||
|
||||
/*
|
||||
err |= getParameter(DCAM_IDPROP_SENSORMODE);
|
||||
err |= getParameter(DCAM_IDPROP_READOUTSPEED);
|
||||
@@ -205,24 +203,9 @@ Hama::Hama(const char* portName, int cameraId, int maxBuffers, size_t maxMemory,
|
||||
*/
|
||||
|
||||
|
||||
#define DETECTOR_PIXEL_NUM_HORZ 0x00420830
|
||||
#define DETECTOR_PIXEL_NUM_VERT 0x00420840
|
||||
|
||||
err |= getParameter(DETECTOR_PIXEL_NUM_HORZ);
|
||||
err |= getParameter(DETECTOR_PIXEL_NUM_VERT);
|
||||
|
||||
err |= getParameterStr(DCAM_IDSTR_VENDOR);
|
||||
err |= getParameterStr(DCAM_IDSTR_MODEL);
|
||||
err |= getParameterStr(DCAM_IDSTR_CAMERAID);
|
||||
err |= getParameterStr(DCAM_IDSTR_BUS);
|
||||
err |= getParameterStr(DCAM_IDSTR_CAMERAVERSION);
|
||||
err |= getParameterStr(DCAM_IDSTR_DRIVERVERSION);
|
||||
err |= getParameterStr(DCAM_IDSTR_MODULEVERSION);
|
||||
err |= getParameterStr(DCAM_IDSTR_DCAMAPIVERSION);
|
||||
|
||||
if(err){
|
||||
printf("[DEBUG] Error = %d\n", err);
|
||||
}
|
||||
initCamera();
|
||||
|
||||
/* launch image read task */
|
||||
epicsThreadCreate("HamaImageTask",
|
||||
@@ -247,6 +230,55 @@ Hama::Hama(const char* portName, int cameraId, int maxBuffers, size_t maxMemory,
|
||||
// printf("[DEBUG] === Destructor ADHama ===\n");
|
||||
//}
|
||||
|
||||
//========================================================================================================
|
||||
int Hama::initCamera(){
|
||||
|
||||
int err = 0;
|
||||
|
||||
err |= getParameterStr(DCAM_IDSTR_VENDOR);
|
||||
err |= getParameterStr(DCAM_IDSTR_MODEL);
|
||||
err |= getParameterStr(DCAM_IDSTR_CAMERAID);
|
||||
err |= getParameterStr(DCAM_IDSTR_BUS);
|
||||
err |= getParameterStr(DCAM_IDSTR_CAMERAVERSION);
|
||||
err |= getParameterStr(DCAM_IDSTR_DRIVERVERSION);
|
||||
err |= getParameterStr(DCAM_IDSTR_MODULEVERSION);
|
||||
err |= getParameterStr(DCAM_IDSTR_DCAMAPIVERSION);
|
||||
|
||||
err |= getParameter(DETECTOR_PIXEL_NUM_HORZ);
|
||||
err |= getParameter(DETECTOR_PIXEL_NUM_VERT);
|
||||
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_PIXELTYPE);
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_WIDTH);
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_ROWBYTES);
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_HEIGHT);
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_FRAMEBYTES);
|
||||
err |= getParameter( DCAM_IDPROP_SUBARRAYHPOS);
|
||||
err |= getParameter( DCAM_IDPROP_SUBARRAYVPOS);
|
||||
err |= getParameter( DCAM_IDPROP_SUBARRAYHSIZE);
|
||||
err |= getParameter( DCAM_IDPROP_SUBARRAYVSIZE);
|
||||
|
||||
|
||||
err |= getParameter(DCAM_IDPROP_SENSORMODE);
|
||||
err |= getParameter(DCAM_IDPROP_READOUTSPEED);
|
||||
err |= getParameter(DCAM_IDPROP_READOUT_DIRECTION);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERSOURCE);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGER_MODE);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERACTIVE);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGER_GLOBALEXPOSURE);
|
||||
err |= getParameter(DCAM_IDPROP_OUTPUTTRIGGER_POLARITY);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGER_CONNECTOR);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERTIMES);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERDELAY);
|
||||
err |= getParameter(DCAM_IDPROP_INTERNALTRIGGER_HANDLING);
|
||||
|
||||
|
||||
if(err){
|
||||
// asynPrint(pasynUser, ASYN_TRACEIO_DRIVER, "%s:%s: port=%s, value=%d, status=%d\n",
|
||||
// driverName, functionName, this->portName, value, (int)status);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
int Hama::getParameterStr(int propertyID){
|
||||
|
||||
@@ -306,10 +338,6 @@ int Hama::getParameterStr(int propertyID){
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
/* Do callbacks so higher layers see any changes */
|
||||
status = (asynStatus) callParamCallbacks();
|
||||
|
||||
// asynPrint(pasynUser, ASYN_TRACEIO_DRIVER, "%s:%s: port=%s, value=%d, status=%d\n",
|
||||
// driverName, functionName, this->portName, value, (int)status);
|
||||
return int(status);
|
||||
@@ -341,57 +369,126 @@ int Hama::getParameter(int propertyID){
|
||||
status = setIntegerParam(ADMaxSizeY, value);
|
||||
printf("SENSOR SIZE_Y = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_IMAGE_PIXELTYPE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_PIXELTYPE, &value);
|
||||
status = setIntegerParam(hImagePixelType, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_IMAGE_WIDTH:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_WIDTH, &value);
|
||||
status = setIntegerParam(hImageWidth, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_IMAGE_HEIGHT:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_HEIGHT, &value);
|
||||
status = setIntegerParam(hImageHeight, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_IMAGE_ROWBYTES:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_ROWBYTES, &value);
|
||||
status = setIntegerParam(hImageRowbytes, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_IMAGE_FRAMEBYTES:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &value);
|
||||
status = setIntegerParam(hImageFramebytes, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_SUBARRAYHSIZE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &value);
|
||||
status = setIntegerParam(ADMinX, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_SUBARRAYVSIZE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &value);
|
||||
status = setIntegerParam(ADMinY, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_SUBARRAYHPOS:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHPOS, &value);
|
||||
status = setIntegerParam(ADSizeX, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_SUBARRAYVPOS:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVPOS, &value);
|
||||
status = setIntegerParam(ADSizeY, value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_SENSORMODE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SENSORMODE, &value);
|
||||
status = setIntegerParam(hSensorMode, value);
|
||||
printf("The SENSOR MODE = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_READOUTSPEED:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_READOUTSPEED, &value);
|
||||
status = setIntegerParam(hReadoutSpeed, value);
|
||||
printf("The READOUT SPEED = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_READOUT_DIRECTION:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_READOUT_DIRECTION, &value);
|
||||
status = setIntegerParam(hReadoutDirection, value);
|
||||
printf("The READOUT DIRECTION = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGERSOURCE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERSOURCE, &value);
|
||||
status = setIntegerParam(hTriggerSource, value);
|
||||
printf("The = TRIGGER SOURCE = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGER_MODE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGER_MODE, &value);
|
||||
status = setIntegerParam(hTriggerMode, value);
|
||||
printf("The TRIGGER MODE = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGERACTIVE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERACTIVE, &value);
|
||||
status = setIntegerParam(hTriggerActive, value);
|
||||
printf("The TRIGGER ACTIVE = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGER_GLOBALEXPOSURE:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGER_GLOBALEXPOSURE, &value);
|
||||
status = setIntegerParam(hTriggerGlobalExposure, value);
|
||||
printf("The TRIGGER GLOBAL EXPOSURE = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGERPOLARITY:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_POLARITY, &value);
|
||||
status = setIntegerParam(hTriggerPolarity, value);
|
||||
printf("The TRIGGER POLARITY = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGER_CONNECTOR:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGER_CONNECTOR, &value);
|
||||
status = setIntegerParam(hTriggerConnector, value);
|
||||
printf("The TRIGGER CONNECTOR = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGERTIMES:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERTIMES, &value);
|
||||
status = setIntegerParam(hTriggerTimes, value);
|
||||
printf("The TRIGGER TIMES = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TRIGGERDELAY:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERDELAY, &value);
|
||||
status = setIntegerParam(hTriggerDelay, value);
|
||||
printf("The TRIGGER DELAY = %f\n", value);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_INTERNALTRIGGER_HANDLING:
|
||||
dcamprop_getvalue(m_hdcam, DCAM_IDPROP_INTERNALTRIGGER_HANDLING, &value);
|
||||
status = setIntegerParam(hInternalTriggerHandling, value);
|
||||
printf("The INTERNAL TRIGGE HANDLING = %f\n", value);
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("The = %f\n", value);
|
||||
printf("The init parameter not recognised.... = %f\n", value);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1470,6 +1567,10 @@ asynStatus Hama::accessCapturedImage(HDCAM hdcam, int32 iFrame, void* buf,
|
||||
return asynSuccess;
|
||||
}
|
||||
|
||||
|
||||
//========================================================================================================
|
||||
|
||||
|
||||
void Hama::getImageInformation(HDCAM hdcam, int32& pixeltype, int32& width, int32& rowbytes, int32& height, int32& framebytes)
|
||||
{
|
||||
DCAMERR err;
|
||||
|
||||
@@ -128,9 +128,10 @@
|
||||
#define hImageDetectorPixelNumVertString "H_IMAGE_DETECTOR_PIXEL_NUM_VERT" /* asynInt32 ro */
|
||||
#define hTimeStampProducerString "H_TIMESTAMP_PRODUCER" /* asynInt32 ro */
|
||||
#define hFrameStampProducerString "H_FRAMESTAMP_PRODUCER" /* asynInt32 ro */
|
||||
|
||||
|
||||
|
||||
// For some reason these two addresses are not defined in the dcamapi4 neither in dcamprop.h
|
||||
#define DETECTOR_PIXEL_NUM_HORZ 0x00420830
|
||||
#define DETECTOR_PIXEL_NUM_VERT 0x00420840
|
||||
|
||||
class Hama : public ADDriver {
|
||||
|
||||
@@ -279,7 +280,9 @@ private:
|
||||
|
||||
int connectCamera();
|
||||
int disconnectCamera();
|
||||
|
||||
int initCamera();
|
||||
|
||||
|
||||
// helper functions for dcamapi
|
||||
void printError(HDCAM hdcam, DCAMERR errid, const char* apiname, const char* fmt=NULL, ...);
|
||||
void printInfo(HDCAM hdcam);
|
||||
|
||||
Reference in New Issue
Block a user