implement trigger out

This commit is contained in:
Iocuser
2022-12-20 09:30:57 +01:00
parent 97fd6f7c46
commit f62b2102bc
2 changed files with 507 additions and 30 deletions
+391 -17
View File
@@ -798,6 +798,40 @@ record(ai, "$(P)$(R)NumberOfOutputTriggerConnector-R") {
##########################################################################
# Output Trigger Source 0 (mode 4)
record(mbbo, "$(P)$(R)OutputTriggerSource0-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZRVL, "0")
field(ZRST, "Read Out End")
field(ONVL, "1")
field(ONST, "VSync")
field(TWVL, "2")
field(TWST, "HSync")
field(THVL, "3")
field(THST, "Trigger")
# field(DRVL, "2")
# field(DRVH, "6")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0")
field(VAL, "0")
}
record(mbbi, "$(P)$(R)OutputTriggerSource0-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "0")
field(ZRST, "Read Out End")
field(ONVL, "1")
field(ONST, "VSync")
field(TWVL, "2")
field(THST, "HSync")
field(THVL, "3")
field(THST, "Trigger")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0")
field(SCAN, "I/O Intr")
}
##########################################################################
# Output Trigger Source 1 (mode 4)
record(mbbo, "$(P)$(R)OutputTriggerSource1-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
@@ -811,11 +845,11 @@ record(mbbo, "$(P)$(R)OutputTriggerSource0-S") {
field(THST, "Trigger")
# field(DRVL, "2")
# field(DRVH, "6")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0")
field(VAL, "2")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE1")
field(VAL, "0")
}
record(mbbi, "$(P)$(R)OutputTriggerSource0-RB") {
record(mbbi, "$(P)$(R)OutputTriggerSource1-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "2")
@@ -826,7 +860,41 @@ record(mbbi, "$(P)$(R)OutputTriggerSource0-RB") {
field(THST, "HSync")
field(THVL, "6")
field(THST, "Trigger")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE1")
field(SCAN, "I/O Intr")
}
# Output Trigger Source 2 (mode 4)
record(mbbo, "$(P)$(R)OutputTriggerSource2-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZRVL, "2")
field(ZRST, "Read Out End")
field(ONVL, "3")
field(ONST, "VSync")
field(TWVL, "4")
field(TWST, "HSync")
field(THVL, "6")
field(THST, "Trigger")
# field(DRVL, "2")
# field(DRVH, "6")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE2")
field(VAL, "0")
}
record(mbbi, "$(P)$(R)OutputTriggerSource2-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "2")
field(ZRST, "Read Out End")
field(ONVL, "3")
field(ONST, "VSync")
field(TWVL, "4")
field(THST, "HSync")
field(THVL, "6")
field(THST, "Trigger")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE2")
field(SCAN, "I/O Intr")
}
@@ -856,6 +924,59 @@ record(mbbi, "$(P)$(R)OutputTriggerPolarity0-RB") {
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY0")
field(SCAN, "I/O Intr")
}
# Output Trigger Polarity 1 (mode 2)
record(mbbo, "$(P)$(R)OutputTriggerPolarity1-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Negative")
field(ONVL, "2")
field(ONST, "Positive")
# field(DRVL, "1")
# field(DRVH, "2")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY1")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerPolarity1-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Negative")
field(ONVL, "2")
field(ONST, "Positive")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY1")
field(SCAN, "I/O Intr")
}
# Output Trigger Polarity 2 (mode 2)
record(mbbo, "$(P)$(R)OutputTriggerPolarity2-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Negative")
field(ONVL, "2")
field(ONST, "Positive")
# field(DRVL, "1")
# field(DRVH, "2")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY2")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerPolarity2-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Negative")
field(ONVL, "2")
field(ONST, "Positive")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY2")
field(SCAN, "I/O Intr")
}
##########################################################################
# Internal Trigger Active (mode 1)
record(mbbo, "$(P)$(R)OutputTriggerActive0-S") {
@@ -869,7 +990,6 @@ record(mbbo, "$(P)$(R)OutputTriggerActive0-S") {
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE0")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerActive0-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
@@ -879,6 +999,49 @@ record(mbbi, "$(P)$(R)OutputTriggerActive0-RB") {
field(SCAN, "I/O Intr")
}
# Internal Trigger Active (mode 1)
record(mbbo, "$(P)$(R)OutputTriggerActive1-S") {
field(DESC, "")
field(DTYP, "asynInt32")
field(PINI, "YES")
field(ZRVL, "1")
field(ZRST, "Edge")
# field(DRVL, "1")
# field(DRVH, "1")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE1")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerActive1-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Edge")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE1")
field(SCAN, "I/O Intr")
}
# Internal Trigger Active (mode 1)
record(mbbo, "$(P)$(R)OutputTriggerActive2-S") {
field(DESC, "")
field(DTYP, "asynInt32")
field(PINI, "YES")
field(ZRVL, "1")
field(ZRST, "Edge")
# field(DRVL, "1")
# field(DRVH, "1")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE2")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerActive2-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Edge")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE2")
field(SCAN, "I/O Intr")
}
##########################################################################
# Output Trigger Delay 0
record(ao, "$(P)$(R)OutputTriggerDelay0-S") {
@@ -890,7 +1053,6 @@ record(ao, "$(P)$(R)OutputTriggerDelay0-S") {
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY0")
field(VAL, "0")
}
record(ai, "$(P)$(R)OutputTriggerDelay0-RB") {
field(DESC, "")
field(DTYP, "asynFloat64")
@@ -898,6 +1060,41 @@ record(ai, "$(P)$(R)OutputTriggerDelay0-RB") {
field(SCAN, "I/O Intr")
}
# Output Trigger Delay 1
record(ao, "$(P)$(R)OutputTriggerDelay1-1") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0")
field(DRVH, "10.0")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY1")
field(VAL, "0")
}
record(ai, "$(P)$(R)OutputTriggerDelay1-RB") {
field(DESC, "")
field(DTYP, "asynFloat64")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY1")
field(SCAN, "I/O Intr")
}
# Output Trigger Delay 2
record(ao, "$(P)$(R)OutputTriggerDelay2-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0")
field(DRVH, "10.0")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY2")
field(VAL, "0")
}
record(ai, "$(P)$(R)OutputTriggerDelay2-RB") {
field(DESC, "")
field(DTYP, "asynFloat64")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY2")
field(SCAN, "I/O Intr")
}
##########################################################################
# Output Trigger Period 0
record(ao, "$(P)$(R)OutputTriggerPeriod0-S") {
@@ -909,7 +1106,6 @@ record(ao, "$(P)$(R)OutputTriggerPeriod0-S") {
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD0")
field(VAL, "0")
}
record(ai, "$(P)$(R)OutputTriggerPeriod0-RB") {
field(DESC, "")
field(DTYP, "asynFloat64")
@@ -917,6 +1113,41 @@ record(ai, "$(P)$(R)OutputTriggerPeriod0-RB") {
field(SCAN, "I/O Intr")
}
# Output Trigger Period 1
record(ao, "$(P)$(R)OutputTriggerPeriod1-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0.000001")
field(DRVH, "10.0")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD1")
field(VAL, "0")
}
record(ai, "$(P)$(R)OutputTriggerPeriod1-RB") {
field(DESC, "")
field(DTYP, "asynFloat64")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD1")
field(SCAN, "I/O Intr")
}
# Output Trigger Period 2
record(ao, "$(P)$(R)OutputTriggerPeriod2-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0.000001")
field(DRVH, "10.0")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD2")
field(VAL, "0")
}
record(ai, "$(P)$(R)OutputTriggerPeriod2-RB") {
field(DESC, "")
field(DTYP, "asynFloat64")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD2")
field(SCAN, "I/O Intr")
}
##########################################################################
# Output Trigger Kind 0 (mode 5)
record(mbbo, "$(P)$(R)OutputTriggerKind0-S") {
@@ -935,8 +1166,6 @@ 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")
}
@@ -960,6 +1189,86 @@ record(mbbi, "$(P)$(R)OutputTriggerKind0-RB") {
field(SCAN, "I/O Intr")
}
# Output Trigger Kind 1 (mode 5)
record(mbbo, "$(P)$(R)OutputTriggerKind1-S") {
field(DESC, "")
field(DTYP, "asynInt32")
field(PINI, "YES")
field(ZRVL, "1")
field(ZRST, "Low")
field(ONVL, "2")
field(ONST, "Global Exposure")
field(TWVL, "3")
field(TWST, "Programable")
field(THVL, "4")
field(THST, "Trigger Ready")
field(FRVL, "5")
field(FRST, "High")
field(FVVL, "6")
field(FVST, "Any Row Exposure")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND1")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerKind1-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Low")
field(ONVL, "2")
field(ONST, "Global Exposure")
field(TWVL, "3")
field(TWST, "Programable")
field(THVL, "4")
field(THST, "Trigger Ready")
field(FRVL, "5")
field(FRST, "High")
field(FVVL, "6")
field(FVST, "Any Row Exposure")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND1")
field(SCAN, "I/O Intr")
}
# Output Trigger Kind 2 (mode 5)
record(mbbo, "$(P)$(R)OutputTriggerKind2-S") {
field(DESC, "")
field(DTYP, "asynInt32")
field(PINI, "YES")
field(ZRVL, "1")
field(ZRST, "Low")
field(ONVL, "2")
field(ONST, "Global Exposure")
field(TWVL, "3")
field(TWST, "Programable")
field(THVL, "4")
field(THST, "Trigger Ready")
field(FRVL, "5")
field(FRST, "High")
field(FVVL, "6")
field(FVST, "Any Row Exposure")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND2")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerKind2-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "Low")
field(ONVL, "2")
field(ONST, "Global Exposure")
field(TWVL, "3")
field(TWST, "Programable")
field(THVL, "4")
field(THST, "Trigger Ready")
field(FRVL, "5")
field(FRST, "High")
field(FVVL, "6")
field(FVST, "Any Row Exposure")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND2")
field(SCAN, "I/O Intr")
}
##########################################################################
# Output Trigger PreHsyncCount0
record(ao, "$(P)$(R)OutputTriggerPreHsyncCount-S") {
@@ -1014,6 +1323,75 @@ record(mbbi, "$(P)$(R)OutputTriggerBaseSensor0-RB") {
field(SCAN, "I/O Intr")
}
# Output Trigger Base Sensor 1 (mode 4)
record(mbbo, "$(P)$(R)OutputTriggerBaseSensor1-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "View 1")
field(ONVL, "2")
field(ONST, "View 2")
field(TWVL, "15")
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_SENSOR1")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerBaseSensor1-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "View 1")
field(ONVL, "2")
field(ONST, "View 2")
field(TWVL, "15")
field(TWST, "Any View")
field(THVL, "16")
field(THST, "All Views")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR1")
field(SCAN, "I/O Intr")
}
# Output Trigger Base Sensor 2 (mode 4)
record(mbbo, "$(P)$(R)OutputTriggerBaseSensor2-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "View 1")
field(ONVL, "2")
field(ONST, "View 2")
field(TWVL, "15")
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_SENSOR2")
field(VAL, "1")
}
record(mbbi, "$(P)$(R)OutputTriggerBaseSensor2-RB") {
field(DESC, "")
field(DTYP, "asynInt32")
field(ZRVL, "1")
field(ZRST, "View 1")
field(ONVL, "2")
field(ONST, "View 2")
field(TWVL, "15")
field(TWST, "Any View")
field(THVL, "16")
field(THST, "All Views")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR2")
field(SCAN, "I/O Intr")
}
##########################################################################
# Master Pulse #
##########################################################################
@@ -1189,9 +1567,8 @@ record(ai, "$(P)$(R)TimingInvalidExposurePeriod-RB") {
# Internal Frame Rate
record(ao, "$(P)$(R)InternalFrameRate-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0.1")
field(DRVH, "100.022862")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_RATE")
field(EGU, "Hz")
}
@@ -1208,9 +1585,8 @@ record(ai, "$(P)$(R)InternalFrameRate-RB") {
# Internal Frame Interval
record(ao, "$(P)$(R)InternalFrameInternal-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0.00998")
field(DRVH, "10.0")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_INTERVAL")
field(EGU, "Sec")
}
@@ -1227,9 +1603,8 @@ record(ai, "$(P)$(R)InternalFrameInternal-RB") {
# Internal Line Speed
record(ao, "$(P)$(R)InternalLineSpeed-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0.667052")
field(DRVH, "0.667052")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_SPEED")
field(EGU, "m/s")
}
@@ -1246,9 +1621,8 @@ record(ai, "$(P)$(R)InternalLineSpeed-RB") {
# Internal Line Interval
record(ao, "$(P)$(R)InternalLineInterval-S") {
field(DESC, "")
field(PINI, "YES")
field(DTYP, "asynFloat64")
field(DRVL, "0.00001")
field(DRVH, "0.00001")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_INTERVAL")
field(EGU, "Sec")
}
+116 -13
View File
@@ -521,14 +521,14 @@ asynStatus Hama::getParameter(int propertyID){
printf("-----------------> value = %f\n", dvalue);
}
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+4, &dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "OUTPUT_TRIGGER_ACTIVE", "IDPROP:0x%08x, VALUE:%f\n", propertyID, dvalue);
}else{
printf("-----------------> value = %f\n", dvalue);
}
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+6, &dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "OUTPUT_TRIGGER_ACTIVE", "IDPROP:0x%08x, VALUE:%f\n", propertyID, dvalue);
}else{
@@ -1160,6 +1160,21 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerSource1) {
printf("[DEBUG]::writeInit32 OutputTriggerSource1 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_SOURCE+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerSource2) {
printf("[DEBUG]::writeInit32 OutputTriggerSource2 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_SOURCE+0x200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPolarity0) {
printf("[DEBUG]::writeInit32 OutputTriggerPolaroty0 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_POLARITY, &dvalue);
@@ -1167,13 +1182,43 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
//else if (index == hOutputTriggerActive0) {
// printf("[DEBUG]::writeInit32 OutputTriggerActive0 %d\n", value);
// m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE, &dvalue);
// if(failed(m_err)) {
// printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
// }
//}
else if (index == hOutputTriggerPolarity1) {
printf("[DEBUG]::writeInit32 OutputTriggerPolaroty1 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_POLARITY+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPolarity2) {
printf("[DEBUG]::writeInit32 OutputTriggerPolaroty2 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_POLARITY+0x200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerActive0) {
printf("[DEBUG]::writeInit32 OutputTriggerActive0 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerActive1) {
printf("[DEBUG]::writeInit32 OutputTriggerActive1 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerActive2) {
printf("[DEBUG]::writeInit32 OutputTriggerActive2 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE+0x200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerKind0) {
printf("[DEBUG]::writeInit32 OutputTriggerKind0 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_KIND, &dvalue);
@@ -1181,9 +1226,16 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPreHsyncCount) {
printf("[DEBUG]::writeInit32 OutputTriggerPreHsynCount %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_PREHSYNCCOUNT, &dvalue);
else if (index == hOutputTriggerKind1) {
printf("[DEBUG]::writeInit32 OutputTriggerKind1 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_KIND+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerKind2) {
printf("[DEBUG]::writeInit32 OutputTriggerKind2 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_KIND+0x200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
@@ -1195,6 +1247,28 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerBaseSensor1) {
printf("[DEBUG]::writeInit32 OutputTriggerBaseSensor1 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_BASESENSOR+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerBaseSensor2) {
printf("[DEBUG]::writeInit32 OutputTriggerBaseSensor2 %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_BASESENSOR+0x200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPreHsyncCount) {
printf("[DEBUG]::writeInit32 OutputTriggerPreHsynCount %d\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_PREHSYNCCOUNT, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
//-- Master pulse
else if (index == hMasterPulseMode) {
printf("[DEBUG]::writeInit32 MasterPulseMode %d\n", value);
@@ -1455,13 +1529,42 @@ asynStatus Hama::writeFloat64(asynUser *pasynUser, epicsFloat64 value){
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPeriod0) {
else if (index == hOutputTriggerDelay1) {
printf("[DEBUG]::function OutputTriggerDelay1 %f\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_DELAY+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerDelay2) {
printf("[DEBUG]::function OutputTriggerDelay2 %f\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_DELAY+0x200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPeriod0) {
printf("[DEBUG]::function OutputTriggerPeriod0 %f\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_PERIOD, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPeriod1) {
printf("[DEBUG]::function OutputTriggerPeriod1 %f\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_PERIOD+0x100, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
else if (index == hOutputTriggerPeriod2) {
printf("[DEBUG]::function OutputTriggerPeriod2 %f\n", value);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_OUTPUTTRIGGER_PERIOD+200, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
}
}
//-- Master Pulse
else if (index == hMasterPulseInterval) {
printf("[DEBUG]::function MasterPulseInterval %f\n", value);