Repositório do ISTTOK
Bernardo Carvalho
2020-01-27 21d175abcd2ae1e3e80abd5d15f2322c5ee35a16
commit | author | age
335409 1 #######################################################
BC 2 # ###                                             ### #
3 # ### EPICS Database for                          ### #
4 # ### I2C PCF8591 board                           ### #
5 # ###                                             ### #
6 # ### author: B. Carvalho IPFN                    ### #
7 # ###                                             ### #
8 # ### Ref 2.0; 2019-10-14                         ### #
9 # ###                                             ### #
10 # ### macros: ID      I2C address of ADC          ### #
11 # ### Description:                                ### #
dabf6b 12 # ### This  DB file is          using            ### #
335409 13 # ### stream(asynI2C)    to read/write   ### #
BC 14 # ### an PCF8591 ADDA chip                        ### #
15 #######################################################
16
17 #####################################################
18 # Read/Write pcf8591 register @ address 0x48=d72 ### #
19 #####################################################
20 record( mbboDirect, "$(P)$(R)PCF8591:72:CTRLREGISTER") {
22146b 21     field(DTYP, "stream")
BC 22     field(OUT,  "@pcf8591.proto wReg(72) I2C")
23     field(SHFT, "0")
24     field(NOBT, "8")
335409 25     field(VAL, 255)
BC 26     field(PINI,"YES")
27 }
d76cde 28 # Receiving two bytes. last one counts
BC 29 record( longin, "$(P)$(R)PCF8591:72:ADC_CH1" ) {
335409 30     field(DTYP, "stream")
BC 31     field(INP,  "@pcf8591.proto rConvAdc0(72) I2C")
d76cde 32 }
BC 33 record( calc, "$(P)$(R)PCF8591:72:BYTE2_CH1" ) {
22146b 34   field(INPA, "$(P)$(R)PCF8591:72:ADC_CH1 PP NMS")
d76cde 35 # extract LSB =last byte received
22146b 36   field(CALC, " (A & 255 )" )
d76cde 37 }
BC 38
dabf6b 39 record( ai, "$(P)$(R)TMPump2-Speed" ) {
BC 40   field(DESC, "TMPump2-Speed")
41   field(DTYP, "Raw Soft Channel" )
42   field(INP, "$(P)$(R)PCF8591:72:BYTE2_CH1 PP NMS")
43   field(SCAN, "1 second")
44   field(ASLO, "16" )
45   field(AOFF, "0" )
46   field(EGU,  "RPM" )
47   field(PREC, "3" )
48   field(HOPR, "5000" )
49   field(LOPR, "0" )
50   field(LOW, "200.0")
51 #   #   field(LOLO,"0.0")
52   field(LSV, "MINOR")
53 #   #   field(LLSV,"MAJOR")
d76cde 54 }
BC 55 record( longin, "$(P)$(R)PCF8591:72:ADC_CH2" ) {
56     field(DTYP, "stream")
57     field(INP,  "@pcf8591.proto rConvAdc1(72) I2C")
335409 58 }
d76cde 59 record( calc, "$(P)$(R)PCF8591:72:BYTE2_CH2" ) {
22146b 60   field(INPA, "$(P)$(R)PCF8591:72:ADC_CH2 PP NMS")
d76cde 61 # LSB i=last byte received
22146b 62   field(CALC, " (A & 255)" )
d76cde 63 }
335409 64
dabf6b 65 record( ai, "$(P)$(R)TMPump2-Current" ) {
BC 66   field(DESC, "TMPump2-Current")
22146b 67   field(DTYP, "Raw Soft Channel" )
dabf6b 68   field(INP,  "$(P)$(R)PCF8591:72:BYTE2_CH2 PP NMS")
22146b 69   field(SCAN, "1 second")
BC 70   field(ASLO, "0.1" )
71   field(AOFF, "0" )
72   field(EGU,  "mA" )
73   field(PREC, "3" )
74   field(HOPR, "50" )
75   field(LOPR, "0" )
dabf6b 76   field(LOW, "2.0")
BC 77 #   #   field(LOLO,"0.0")
78   field(LSV, "MINOR")
79 #   #   field(LLSV,"MAJOR")
22146b 80 }
9625a1 81
BC 82 # Receiving two bytes. last one counts
83 record( longin, "$(P)$(R)PCF8591:72:ADC_CH3" ) {
84     field(DTYP, "stream")
85     field(INP,  "@pcf8591.proto rConvAdc2(72) I2C")
86 }
87 record( calc, "$(P)$(R)PCF8591:72:BYTE2_CH3" ) {
88   field(INPA, "$(P)$(R)PCF8591:72:ADC_CH3 PP NMS")
89 # extract LSB =last byte received
90   field(CALC, " (A & 255 )" )
91 }
92 record(ai, "$(P)$(R)Shot-TorPSCurrentImage" ) {
93   field(DESC, "Toroidal Current Image")
94   field(DTYP, "Raw Soft Channel" )
95   field(INP, "$(P)$(R)PCF8591:72:BYTE2_CH3 PP NMS")
21d175 96   field(SCAN, ".2 second")
9625a1 97   field(ASLO, "39.215686275" )
BC 98   field(AOFF, "0.0" )
99   field(EGU,  "A" )
100   field(PREC, "3" )
101   field(HOPR, "10000" )
102   field(LOPR, "0" )
21d175 103   field(MDEL, "20" )
BC 104 #  field(LOW, "200.0")
9625a1 105 #   #   field(LOLO,"0.0")
21d175 106 #  field(LSV, "MINOR")
9625a1 107 #   #   field(LLSV,"MAJOR")
BC 108 }
109
110
f44500 111 record( longout, "$(P)$(R)PCF8591:72:DAC") {
BC 112     field(DTYP, "stream")
113     field(OUT,  "@pcf8591.proto wDac(72) I2C")
114     field(DRVH, "255" )
115         field(DRVL, "0" )
116     field(VAL, 128)
117     field(PINI,"YES")
118 }