diff -r 000000000000 -r 77d8eafe2a07 IOCINFRAApp/Db/TPG26x.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IOCINFRAApp/Db/TPG26x.proto Thu Mar 07 09:23:26 2019 +0100 @@ -0,0 +1,50 @@ + + +#How TPG26x comms work: +#First send a command (e.g. ask for the pressure) then the device will return ACK. +#Then send ENQ to get the actual values. + +#According to the streamdevice manual, once an "out" is sent access to the +#device is exclusively locked until the WHOLE protocol is finished. +#This should mean that we do not need to worry about commands interrupting each other + +LockTimeout = 2500; +ReplyTimeout = 2000; +ReadTimeout = 100; +OutTerminator = CR; +InTerminator = CR LF; + +# Reset communication +reset { + out "RES,1"; + in ACK; + out ENQ; + in "%s"; +} + +# Get pressures (and errors) from both guages +pres { + out "PRX"; + in ACK; + out ENQ; + in "%(\$1\$2)d,%f,%(\$1\$3)d,%(\$1\$4)f"; +} + +# Get the current units +getUnits { + out "UNI"; + in ACK; + out ENQ; + in "%{0|1|2}"; +} + +# Set the current units +setUnits { + #UNI,0 = mbar + #UNI,1 = Torr + #UNI,2 = Pa + out "UNI,%{0|1|2}"; + in ACK; + out ENQ; + in "%{0|1|2}"; +}