IOCINFRAApp/Db/TPG26x.proto
author Heinz Junkes <junkes@fhi-berlin.mpg.de>
Thu, 07 Mar 2019 09:23:26 +0100
changeset 0 77d8eafe2a07
permissions -rw-r--r--
Initial repo
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     1
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     2
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     3
#How TPG26x comms work:
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     4
#First send a command (e.g. ask for the pressure) then the device will return ACK.
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     5
#Then send ENQ to get the actual values.
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     6
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     7
#According to the streamdevice manual, once an "out" is sent access to the
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     8
#device is exclusively locked until the WHOLE protocol is finished.
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
     9
#This should mean that we do not need to worry about commands interrupting each other
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    10
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    11
LockTimeout = 2500;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    12
ReplyTimeout = 2000;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    13
ReadTimeout = 100;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    14
OutTerminator = CR;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    15
InTerminator = CR LF;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    16
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    17
# Reset communication 
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    18
reset {
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    19
    out "RES,1";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    20
    in ACK;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    21
	out ENQ;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    22
    in "%s";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    23
}
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    24
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    25
# Get pressures (and errors) from both guages
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    26
pres {
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    27
    out "PRX";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    28
    in ACK;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    29
	out ENQ;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    30
    in "%(\$1\$2)d,%f,%(\$1\$3)d,%(\$1\$4)f";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    31
}
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    32
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    33
# Get the current units
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    34
getUnits {
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    35
    out "UNI";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    36
	in ACK;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    37
	out ENQ;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    38
    in "%{0|1|2}";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    39
}
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    40
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    41
# Set the current units
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    42
setUnits {
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    43
    #UNI,0 = mbar
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    44
    #UNI,1 = Torr
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    45
    #UNI,2 = Pa
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    46
    out "UNI,%{0|1|2}";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    47
	in ACK;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    48
	out ENQ;
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    49
    in "%{0|1|2}";
77d8eafe2a07 Initial repo
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff changeset
    50
}