Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
authoruhoppe
Thu, 23 May 2013 14:24:24 +0200
changeset 2 c68ad80babeb
parent 1 0ba93e52269a
child 3 1b83de4729dc
Quantum 9528 Digital Delay Pulse Generator: Add Trigger Records.
pg9520/bin/linux-x86_64/pg9520
pg9520/db/pg9520.db
pg9520/db/pg9520.proto
pg9520/iocBoot/iocpg9520/st.cmd
Binary file pg9520/bin/linux-x86_64/pg9520 has changed
--- a/pg9520/db/pg9520.db	Wed May 22 12:18:16 2013 +0200
+++ b/pg9520/db/pg9520.db	Thu May 23 14:24:24 2013 +0200
@@ -140,6 +140,16 @@
     field(ONVL, "1")
 }
 
+record(mbbo, "$(P)$(R)GateEdge") {
+    field(DESC, "Select which edge to use")
+    field(DTYP, "stream")
+    field(OUT,  "@pg9520.proto setGateEdge $(BUS)")
+    field(ZRST, "Rising")
+    field(ZRVL, "0")
+    field(ONST, "Falling")
+    field(ONVL, "1")
+}
+
 record(ao, "$(P)$(R)GateLevel") {
     field(DESC, "Sets the gate threshold")
     field(DTYP, "stream")
@@ -150,6 +160,36 @@
     field(EGU,  "V")
 }
 
+record(mbbo, "$(P)$(R)TriggerMode") {
+    field(DESC, "Sets Global Trigger Mode")
+    field(DTYP, "stream")
+    field(OUT,  "@pg9520.proto setTriggerMode $(BUS)")
+    field(ZRST, "Disable")
+    field(ZRVL, "0")
+    field(ONST, "Trigger")
+    field(ONVL, "1")
+}
+
+record(mbbo, "$(P)$(R)TriggerEdge") {
+    field(DESC, "Select which edge to trigger")
+    field(DTYP, "stream")
+    field(OUT,  "@pg9520.proto setTriggerEdge $(BUS)")
+    field(ZRST, "Rising")
+    field(ZRVL, "0")
+    field(ONST, "Falling")
+    field(ONVL, "1")
+}
+
+record(ao, "$(P)$(R)TriggerLevel") {
+    field(DESC, "Sets the trigger threshold")
+    field(DTYP, "stream")
+    field(OUT,  "@pg9520.proto setTriggerLevel $(BUS)")
+    field(PREC, "3")
+    field(DRVL, "0.2")
+    field(DRVH, "15")
+    field(EGU,  "V")
+}
+
 record(ao,"$(P)$(R)TimeUnitCF") {
     field(DESC, "ms")
     field(VAL, "1000.0")
--- a/pg9520/db/pg9520.proto	Wed May 22 12:18:16 2013 +0200
+++ b/pg9520/db/pg9520.proto	Thu May 23 14:24:24 2013 +0200
@@ -76,6 +76,17 @@
    @init {getGateLogic; wait $iWT;}
 }
 
+getGateEdge {
+   out ":PULSE0:GATE:EDGE?";
+   in  "%{RIS|FALL}";
+}
+
+setGateEdge {
+   out ":PULSE0:GATE:EDGE %{RIS|FALL}";
+   in  "ok";
+   @init {getGateEdge; wait $iWT;}
+}
+
 getGateLevel {
    out ":PULSE0:GATE:LEVEL?";
    in  "%f";
@@ -87,6 +98,39 @@
    @init {getGateLevel; wait $iWT;}
 }
 
+getTriggerMode {
+   out ":PULSE0:TRIGGER:MODE?";
+   in  "%{DIS|TRIG}";
+}
+
+setTriggerMode {
+   out ":PULSE0:TRIGGER:MODE %{DIS|TRIG}";
+   in  "ok";
+   @init {getTriggerMode; wait $iWT;}
+}
+
+getTriggerEdge {
+   out ":PULSE0:TRIGGER:EDGE?";
+   in  "%{RIS|FALL}";
+}
+
+setTriggerEdge {
+   out ":PULSE0:TRIGGER:EDGE %{RIS|FALL}";
+   in  "ok";
+   @init {getTriggerEdge; wait $iWT;}
+}
+
+getTriggerLevel {
+   out ":PULSE0:TRIGGER:LEVEL?";
+   in  "%f";
+}
+
+setTriggerLevel {
+   out ":PULSE0:TRIGGER:LEVEL %f";
+   in  "ok";
+   @init {getTriggerLevel; wait $iWT;}
+}
+
 #=================================================
 
 getPState {
--- a/pg9520/iocBoot/iocpg9520/st.cmd	Wed May 22 12:18:16 2013 +0200
+++ b/pg9520/iocBoot/iocpg9520/st.cmd	Thu May 23 14:24:24 2013 +0200
@@ -14,7 +14,7 @@
 #drvAsynIPPortConfigure ("COM","DDPG9528-1:2101")
 drvAsynIPPortConfigure ("COM","10.0.0.112:2101")
 
-asynSetTraceMask("COM", -1, 0x9)
+#asynSetTraceMask("COM", -1, 0x9)
 
 ## Load record instances
 dbLoadRecords("../../db/pg9520.db","P=FHIFEL:,R=PG9520:,BUS=COM")