implement virtual void report(FILE *, int) function

This commit is contained in:
Iocuser
2022-12-15 11:55:21 +01:00
parent 1c1ee4e728
commit 0d44d0bbf2

View File

@@ -911,34 +911,8 @@ void Hama::temperatureTask(){
}
}
//============================================================================
/*
asynStatus Hama::getBounds(asynUser *pasynUser, epicsInt32 *low, epicsInt32 *high){
asynStatus status = asynSuccess;
const char* functionName = "getBounds";
const char* paramName;
int index = pasynUser->reason;
getParamName(index, &paramName);
if(index == hSensorMode){
*low = 0;
*high = 10;
}
else{
ADDriver::getBounds(pasynUser, low, high);
}
return status;
}
*/
//============================================================================
asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
@@ -1511,9 +1485,6 @@ asynStatus Hama::writeFloat64(asynUser *pasynUser, epicsFloat64 value){
else if (index == hInternalFrameRate) {
int sensorMode = 0;
getIntegerParam(hSensorMode, &sensorMode);
printf("[DEBUG]::function InternalFrameRate %f, %d, %d\n", value, hSensorMode, sensorMode);
printf("[DEBUG]::DCAMPROP_SENSORMODE__AREA = %d, DCAMPROP_SENSORMODE__SPLITVIEW = %d\n",
DCAMPROP_SENSORMODE__AREA, DCAMPROP_SENSORMODE__SPLITVIEW);
if((sensorMode != DCAMPROP_SENSORMODE__AREA) && (sensorMode != DCAMPROP_SENSORMODE__SPLITVIEW)){
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_INTERNALFRAMERATE, &dvalue);
if(failed(m_err)) {
@@ -1694,8 +1665,158 @@ return(asynSuccess);
//============================================================================
void Hama::report(FILE *fp, int details){
double dvalue = 0;
fprintf(fp, "Hamamatsu Orca Flash4.0 driver\n");
if (details < 1) return;
printf("[DEBUG]::report\n");
// Sensor mode and speed
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SENSORMODE, &dvalue);
fprintf(fp, "SENSOR MODE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_READOUTSPEED, &dvalue);
fprintf(fp, "READOUT SPEED:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_READOUT_DIRECTION, &dvalue);
fprintf(fp, "READOUT DIRECTION:\t%f\n", dvalue);
// Trigger
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERSOURCE, &dvalue);
fprintf(fp, "TRIGGER SOURCE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGER_MODE, &dvalue);
fprintf(fp, "TRIGGER MODE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERACTIVE, &dvalue);
fprintf(fp, "TRIGGER ACTIVE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGER_GLOBALEXPOSURE, &dvalue);
fprintf(fp, "TRIGGER GLOBAL EXPOSURE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERPOLARITY, &dvalue);
fprintf(fp, "TRIGGER POLARITY:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGER_CONNECTOR, &dvalue);
fprintf(fp, "TRIGGER CONNECTOR:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERTIMES, &dvalue);
fprintf(fp, "TRIGGER TIMES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TRIGGERDELAY, &dvalue);
fprintf(fp, "TRIGGER DELAY:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_INTERNALTRIGGER_HANDLING, &dvalue);
fprintf(fp, "TRIGGER HANDLING:\t%f\n", dvalue);
// Sensor cooler
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SENSORCOOLERSTATUS, &dvalue);
fprintf(fp, "SENSOR COOLER STATUS:\t%f\n", dvalue);
// Binning and ROI
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BINNING, &dvalue);
fprintf(fp, "BINNING:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &dvalue);
fprintf(fp, "SUBARRAY HSIZE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &dvalue);
fprintf(fp, "SUBARRAY VSIZE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHPOS, &dvalue);
fprintf(fp, "SUBARRAY HPOS:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVPOS, &dvalue);
fprintf(fp, "SUBARRAY MODE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &dvalue);
fprintf(fp, "SUBARRAY MODE:\t%f\n", dvalue);
// Feature
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_EXPOSURETIME, &dvalue);
fprintf(fp, "EXPOSURE TIME:\t%f\n", dvalue);
// ALU
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_DEFECTCORRECT_MODE, &dvalue);
fprintf(fp, "DEFECT CORRETION MODE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_HOTPIXELCORRECT_LEVEL, &dvalue);
fprintf(fp, "HOT PIXEL CORRECTION LEVEL:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_INTENSITYLUT_MODE, &dvalue);
fprintf(fp, "INTENSITY LUT MODE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_INTENSITYLUT_PAGE, &dvalue);
fprintf(fp, "INTENSITY LUT PAGE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_EXTRACTION_MODE, &dvalue);
fprintf(fp, "EXTRACTION MODE:\t%f\n", dvalue);
// Output Trigger
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_NUMBEROF_OUTPUTTRIGGERCONNECTOR, &dvalue);
fprintf(fp, "OUTPUT TRIGGER CONNECTOR:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE, &dvalue);
fprintf(fp, "OUTPUT TRIGGER ACTIVE:\t%f\n", dvalue);
//m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+4, &dvalue);
//fprintf(fp, ":\t%f\n", dvalue);
//m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+6, &dvalue);
//fprintf(fp, ":\t%f\n", dvalue);
// - master pulse
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_MASTERPULSE_MODE, &dvalue);
fprintf(fp, "MASTER PULSE MODE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_MASTERPULSE_TRIGGERSOURCE, &dvalue);
fprintf(fp, "MASTER MODE TRIGGERSOURCE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_MASTERPULSE_INTERVAL, &dvalue);
fprintf(fp, "MASTER MODE INTERVAL:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_MASTERPULSE_BURSTTIMES, &dvalue);
fprintf(fp, "MASTER MODE BURSTTIMES:\t%f\n", dvalue);
// - synchronous timing
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_READOUTTIME, &dvalue);
fprintf(fp, "TIMING READOUT TIME:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_CYCLICTRIGGERPERIOD, &dvalue);
fprintf(fp, "TIMING CYCLIN TRIGGER PERIOD:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_MINTRIGGERBLANKING, &dvalue);
fprintf(fp, "TIMING MIN TRIGGER BLANKING:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_MINTRIGGERINTERVAL, &dvalue);
fprintf(fp, "TIMING MIN TRIGGER INTERVAL:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_GLOBALEXPOSUREDELAY, &dvalue);
fprintf(fp, "TIMING GLOBAL EXPOSURE DELAY:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_EXPOSURE, &dvalue);
fprintf(fp, "TIMING EXPOSURE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMING_INVALIDEXPOSUREPERIOD, &dvalue);
fprintf(fp, "TIMING INVALID EXPOSURE PERIOD:\t%f\n", dvalue);
m_err = dcamprop_getvalue( m_hdcam, DCAM_IDPROP_INTERNALFRAMERATE, &dvalue);
fprintf(fp, "INTERNAL FRAME RATE:\t%f\n", dvalue);
m_err = dcamprop_getvalue( m_hdcam, DCAM_IDPROP_INTERNAL_FRAMEINTERVAL, &dvalue);
fprintf(fp, "INTERNAL FRAME INTERVAL:\t%f\n", dvalue);
m_err = dcamprop_getvalue( m_hdcam, DCAM_IDPROP_INTERNALLINESPEED, &dvalue);
fprintf(fp, "INTERNAL LINE SPEED:\t%f\n", dvalue);
m_err = dcamprop_getvalue( m_hdcam, DCAM_IDPROP_INTERNAL_LINEINTERVAL, &dvalue);
fprintf(fp, "INTERNAL LINE INTERVAL:\t%f\n", dvalue);
// - system information
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_COLORTYPE, &dvalue);
fprintf(fp, "COLOR TYPE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BITSPERCHANNEL, &dvalue);
fprintf(fp, "BITS PER CHANNEL:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_ROWBYTES, &dvalue);
fprintf(fp, "IMAGE ROW BYTES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dvalue);
fprintf(fp, "IMAGE FRAME BYTES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_TOPOFFSETBYTES, &dvalue);
fprintf(fp, "IMAGE TOP OFFSET BYTES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_PIXELTYPE, &dvalue);
fprintf(fp, "IMAGE PIXEL TYPE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_ROWBYTES, &dvalue);
fprintf(fp, "BUFFER ROW BYTES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_FRAMEBYTES, &dvalue);
fprintf(fp, "BUFER FRAME BYTES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_TOPOFFSETBYTES, &dvalue);
fprintf(fp, "BUFFER TOP OFFSET BYTES:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_PIXELTYPE, &dvalue);
fprintf(fp, "BUFFER PIXEL TYPE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE, &dvalue);
fprintf(fp, "RECORD FIXED BYTES PER FILE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION, &dvalue);
fprintf(fp, "RECORD FIXED BYTES PER SESSION:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME, &dvalue);
fprintf(fp, "RECORD FIXED BYTES PER FRAME:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SYSTEM_ALIVE, &dvalue);
fprintf(fp, "SYSTEM ALIVE:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_CONVERSIONFACTOR_COEFF, &dvalue);
fprintf(fp, "CONVERSION FACTOR COEFFICIENT:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_CONVERSIONFACTOR_OFFSET, &dvalue);
fprintf(fp, "CONVERSION FACTOR OFFSET:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_NUMBEROF_VIEW, &dvalue);
fprintf(fp, "NUMBER OF VIEW:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_WIDTH, &dvalue);
fprintf(fp, "IMAGE WIDTH:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_HEIGHT, &dvalue);
fprintf(fp, "IMAGE HEIGHT:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DETECTOR_PIXEL_NUM_HORZ, &dvalue);
fprintf(fp, "PIXEL NUM HORZ:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DETECTOR_PIXEL_NUM_VERT, &dvalue);
fprintf(fp, "PIXEL NUM VERT:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMESTAMP_PRODUCER, &dvalue);
fprintf(fp, "TIMESTAMP PRODUCER:\t%f\n", dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_FRAMESTAMP_PRODUCER, &dvalue);
fprintf(fp, "FRAMESTAMP PRODUCER:\t%f\n", dvalue);
ADDriver::report(fp, details);
}
//============================================================================