Added TDA8444 DAC channels
This commit is contained in:
@@ -78,3 +78,11 @@ record( ai, "$(P)$(R)TMPump2-Current" ) {
|
||||
field(LSV, "MINOR")
|
||||
# # field(LLSV,"MAJOR")
|
||||
}
|
||||
record( longout, "$(P)$(R)PCF8591:72:DAC") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@pcf8591.proto wDac(72) I2C")
|
||||
field(DRVH, "255" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 128)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
|
||||
84
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKtda8444.db
Normal file
84
epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKtda8444.db
Normal file
@@ -0,0 +1,84 @@
|
||||
#######################################################
|
||||
# ### ### #
|
||||
# ### EPICS Database for ### #
|
||||
# ### I2C PCF8591 board ### #
|
||||
# ### ### #
|
||||
# ### author: B. Carvalho IPFN ### #
|
||||
# ### ### #
|
||||
# ### Ref 2.0; 2019-10-14 ### #
|
||||
# ### ### #
|
||||
# ### macros: ID I2C address of ADC ### #
|
||||
# ### Description: ### #
|
||||
# ### This DB file is using ### #
|
||||
# ### stream(asynI2C) to write ### #
|
||||
# ### an TDA8444 DAC chip ### #
|
||||
#######################################################
|
||||
|
||||
#####################################################
|
||||
# Read/Write tda8444 register @ address 0x20=d32 ## #
|
||||
#####################################################
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH0") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac0(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH1") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac1(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH2") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac2(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH3") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac3(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH4") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac4(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH5") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac5(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
record( longout, "$(P)$(R)TDA8444:32:DAC_CH6") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac6(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 32)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
#record( longout, "$(P)$(R) TDA8444:32:DAC_CH7") {
|
||||
record( longout, "$(P)$(R)Shot-TorPSCurrent") {
|
||||
field(DTYP, "stream")
|
||||
field(OUT, "@tda8444.proto wDac7(32) I2C")
|
||||
field(DRVH, "63" )
|
||||
field(DRVL, "0" )
|
||||
field(VAL, 1)
|
||||
field(PINI,"YES")
|
||||
}
|
||||
@@ -9,6 +9,7 @@ DB += ISTTOKmachineControl.db
|
||||
DB += ISTTOKpcf8574.db
|
||||
DB += ISTTOKpcf8591.db
|
||||
DB += ISTTOKpfeiffer.db
|
||||
DB += ISTTOKtda8444.db
|
||||
DB += sendmail.db
|
||||
|
||||
# If <anyname>.db template is not named <anyname>*.template add
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
ISTTOK:central:PULSE-NUMBER.VAL
|
||||
ISTTOK:central:LogMessage.VAL
|
||||
|
||||
ISTTOK:central:LASTOPSTATE.VAL
|
||||
ISTTOK:central:OPREQ
|
||||
|
||||
@@ -1,50 +1,4 @@
|
||||
ISTTOK:central:PCF8574:56:REGISTER:READ
|
||||
ISTTOK:central:PCF8574:57:REGISTER:READ
|
||||
ISTTOK:central:PCF8574:60:REGISTER:READ
|
||||
ISTTOK:central:PCF8574:61:REGISTER:READ
|
||||
ISTTOK:central:LASTOPSTATE
|
||||
ISTTOK:SR_rebootStatus
|
||||
ISTTOK:SR_status
|
||||
ISTTOK:SR_0_Status
|
||||
ISTTOK:SR_1_Status
|
||||
ISTTOK:SR_2_Status
|
||||
ISTTOK:SR_3_Status
|
||||
ISTTOK:SR_4_Status
|
||||
ISTTOK:SR_5_Status
|
||||
ISTTOK:SR_6_Status
|
||||
ISTTOK:SR_7_Status
|
||||
ISTTOK:central:OPSTATE
|
||||
ISTTOK:central:STARTINGSTATE
|
||||
ISTTOK:central:CLEANINGSTATE
|
||||
ISTTOK:central:WSHOTINGSTATE
|
||||
ISTTOK:central:STOPPINGSTATE
|
||||
ISTTOK:central:TMPump1-ControllerOnInv
|
||||
ISTTOK:central:TMPump1-ControllerOffInv
|
||||
ISTTOK:central:TMPump1-MotorOnInv
|
||||
ISTTOK:central:TMPump1-MotorOffInv
|
||||
ISTTOK:central:BuzzerInv
|
||||
ISTTOK:central:Shot-TorPSTriggerInv
|
||||
ISTTOK:central:Temperature_0
|
||||
ISTTOK:central:TMPump2-Speed
|
||||
ISTTOK:central:TMPump2-Current
|
||||
ISTTOK:central:PCF8591:72:ADC_CH1
|
||||
ISTTOK:central:PCF8591:72:ADC_CH2
|
||||
ISTTOK:central:P001:M
|
||||
ISTTOK:central:P001:E
|
||||
ISTTOK:central:P002:M
|
||||
ISTTOK:central:P002:E
|
||||
ISTTOK:central:P003:M
|
||||
ISTTOK:central:P003:E
|
||||
ISTTOK:central:P004:M
|
||||
ISTTOK:central:P004:E
|
||||
ISTTOK:central:TMPump1-Power
|
||||
ISTTOK:central:TMPump1-Emergency
|
||||
ISTTOK:central:TMPump1-Acceleration
|
||||
ISTTOK:central:TMPump1-NormalOperation
|
||||
ISTTOK:central:TMPump2-Emergency
|
||||
ISTTOK:central:TMPump2-Acceleration
|
||||
ISTTOK:central:TTSystem-tzero
|
||||
ISTTOK:central:Emergency-PhysButton
|
||||
ISTTOK:central:CurrentTime
|
||||
ISTTOK:central:OPCALCSTATE
|
||||
ISTTOK:central:STARTCALCSTATE
|
||||
ISTTOK:central:STOPPINGCALCSTATE
|
||||
@@ -59,9 +13,23 @@ ISTTOK:central:VVessel-Pressure
|
||||
ISTTOK:central:RPump1-Pressure
|
||||
ISTTOK:central:TMPump1-PressureAdmission
|
||||
ISTTOK:central:RPump2-Pressure
|
||||
ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT
|
||||
ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT
|
||||
ISTTOK:central:TMPump2-Speed
|
||||
ISTTOK:central:TMPump2-Current
|
||||
ISTTOK:central:PCF8574:56:REGISTER
|
||||
ISTTOK:central:PCF8574:57:REGISTER
|
||||
ISTTOK:central:PCF8574:60:REGISTER
|
||||
ISTTOK:central:PCF8574:61:REGISTER
|
||||
ISTTOK:central:PCF8591:72:CTRLREGISTER
|
||||
ISTTOK:central:PULSE-NUMBER
|
||||
ISTTOK:central:PCF8591:72:DAC
|
||||
ISTTOK:central:TDA8444:32:DAC_CH0
|
||||
ISTTOK:central:TDA8444:32:DAC_CH1
|
||||
ISTTOK:central:TDA8444:32:DAC_CH2
|
||||
ISTTOK:central:TDA8444:32:DAC_CH3
|
||||
ISTTOK:central:TDA8444:32:DAC_CH4
|
||||
ISTTOK:central:TDA8444:32:DAC_CH5
|
||||
ISTTOK:central:TDA8444:32:DAC_CH6
|
||||
ISTTOK:central:TDA8444:32:DAC_CH7
|
||||
ISTTOK:SR_0_State
|
||||
ISTTOK:SR_1_State
|
||||
ISTTOK:SR_2_State
|
||||
@@ -70,41 +38,35 @@ ISTTOK:SR_4_State
|
||||
ISTTOK:SR_5_State
|
||||
ISTTOK:SR_6_State
|
||||
ISTTOK:SR_7_State
|
||||
ISTTOK:central:TraceMessage
|
||||
ISTTOK:central:RS485Debug
|
||||
ISTTOK:SR_recentlyStr
|
||||
ISTTOK:SR_rebootStatusStr
|
||||
ISTTOK:SR_rebootTime
|
||||
ISTTOK:SR_statusStr
|
||||
ISTTOK:SR_0_Name
|
||||
ISTTOK:SR_0_StatusStr
|
||||
ISTTOK:SR_0_Time
|
||||
ISTTOK:SR_1_Name
|
||||
ISTTOK:SR_1_StatusStr
|
||||
ISTTOK:SR_1_Time
|
||||
ISTTOK:SR_2_Name
|
||||
ISTTOK:SR_2_StatusStr
|
||||
ISTTOK:SR_2_Time
|
||||
ISTTOK:SR_3_Name
|
||||
ISTTOK:SR_3_StatusStr
|
||||
ISTTOK:SR_3_Time
|
||||
ISTTOK:SR_4_Name
|
||||
ISTTOK:SR_4_StatusStr
|
||||
ISTTOK:SR_4_Time
|
||||
ISTTOK:SR_5_Name
|
||||
ISTTOK:SR_5_StatusStr
|
||||
ISTTOK:SR_5_Time
|
||||
ISTTOK:SR_6_Name
|
||||
ISTTOK:SR_6_StatusStr
|
||||
ISTTOK:SR_6_Time
|
||||
ISTTOK:SR_7_Name
|
||||
ISTTOK:SR_7_StatusStr
|
||||
ISTTOK:SR_7_Time
|
||||
ISTTOK:central:PCF8574:56:REGISTER
|
||||
ISTTOK:central:PCF8574:57:REGISTER
|
||||
ISTTOK:central:PCF8574:60:REGISTER
|
||||
ISTTOK:central:PCF8574:61:REGISTER
|
||||
ISTTOK:central:PCF8591:72:CTRLREGISTER
|
||||
ISTTOK:central:PCF8591:72:ADC_CH1
|
||||
ISTTOK:central:PCF8591:72:ADC_CH2
|
||||
ISTTOK:central:P001:M
|
||||
ISTTOK:central:P001:E
|
||||
ISTTOK:central:P002:M
|
||||
ISTTOK:central:P002:E
|
||||
ISTTOK:central:P003:M
|
||||
ISTTOK:central:P003:E
|
||||
ISTTOK:central:P004:M
|
||||
ISTTOK:central:P004:E
|
||||
ISTTOK:central:OPSTATE
|
||||
ISTTOK:central:STARTINGSTATE
|
||||
ISTTOK:central:CLEANINGSTATE
|
||||
ISTTOK:central:WSHOTINGSTATE
|
||||
ISTTOK:central:STOPPINGSTATE
|
||||
ISTTOK:central:TMPump1-Power
|
||||
ISTTOK:central:TMPump1-Emergency
|
||||
ISTTOK:central:TMPump1-Acceleration
|
||||
ISTTOK:central:TMPump1-NormalOperation
|
||||
ISTTOK:central:TMPump2-Emergency
|
||||
ISTTOK:central:TMPump2-Acceleration
|
||||
ISTTOK:central:TTSystem-tzero
|
||||
ISTTOK:central:Emergency-PhysButton
|
||||
ISTTOK:central:TMPump1-ControllerOnInv
|
||||
ISTTOK:central:TMPump1-ControllerOffInv
|
||||
ISTTOK:central:TMPump1-MotorOnInv
|
||||
ISTTOK:central:TMPump1-MotorOffInv
|
||||
ISTTOK:central:BuzzerInv
|
||||
ISTTOK:central:Shot-TorPSTriggerInv
|
||||
ISTTOK:central:OPREQ
|
||||
ISTTOK:central:CLEANINGMANMODE
|
||||
ISTTOK:central:FSTriggerStart
|
||||
@@ -137,4 +99,52 @@ ISTTOK:central:TMPump1-ManualValve
|
||||
ISTTOK:SR_heartbeat
|
||||
ISTTOK:SR_i_am_alive
|
||||
ISTTOK:SR_deadIfZero
|
||||
ISTTOK:central:CurrentTime
|
||||
ISTTOK:central:LASTOPSTATE
|
||||
ISTTOK:SR_rebootStatus
|
||||
ISTTOK:SR_status
|
||||
ISTTOK:SR_0_Status
|
||||
ISTTOK:SR_1_Status
|
||||
ISTTOK:SR_2_Status
|
||||
ISTTOK:SR_3_Status
|
||||
ISTTOK:SR_4_Status
|
||||
ISTTOK:SR_5_Status
|
||||
ISTTOK:SR_6_Status
|
||||
ISTTOK:SR_7_Status
|
||||
ISTTOK:central:PCF8574:56:REGISTER:READ
|
||||
ISTTOK:central:PCF8574:57:REGISTER:READ
|
||||
ISTTOK:central:PCF8574:60:REGISTER:READ
|
||||
ISTTOK:central:PCF8574:61:REGISTER:READ
|
||||
ISTTOK:central:TraceMessage
|
||||
ISTTOK:central:LogMessage
|
||||
ISTTOK:central:RS485Debug
|
||||
ISTTOK:central:sendmail
|
||||
ISTTOK:SR_recentlyStr
|
||||
ISTTOK:SR_rebootStatusStr
|
||||
ISTTOK:SR_rebootTime
|
||||
ISTTOK:SR_statusStr
|
||||
ISTTOK:SR_0_Name
|
||||
ISTTOK:SR_0_StatusStr
|
||||
ISTTOK:SR_0_Time
|
||||
ISTTOK:SR_1_Name
|
||||
ISTTOK:SR_1_StatusStr
|
||||
ISTTOK:SR_1_Time
|
||||
ISTTOK:SR_2_Name
|
||||
ISTTOK:SR_2_StatusStr
|
||||
ISTTOK:SR_2_Time
|
||||
ISTTOK:SR_3_Name
|
||||
ISTTOK:SR_3_StatusStr
|
||||
ISTTOK:SR_3_Time
|
||||
ISTTOK:SR_4_Name
|
||||
ISTTOK:SR_4_StatusStr
|
||||
ISTTOK:SR_4_Time
|
||||
ISTTOK:SR_5_Name
|
||||
ISTTOK:SR_5_StatusStr
|
||||
ISTTOK:SR_5_Time
|
||||
ISTTOK:SR_6_Name
|
||||
ISTTOK:SR_6_StatusStr
|
||||
ISTTOK:SR_6_Time
|
||||
ISTTOK:SR_7_Name
|
||||
ISTTOK:SR_7_StatusStr
|
||||
ISTTOK:SR_7_Time
|
||||
ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT
|
||||
ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# autosave R5.3 Automatically generated - DO NOT MODIFY - 191219-172657
|
||||
ISTTOK:central:PULSE-NUMBER.VAL 48291
|
||||
ISTTOK:central:LASTOPSTATE.VAL 2
|
||||
# autosave R5.3 Automatically generated - DO NOT MODIFY - 200115-154642
|
||||
ISTTOK:central:PULSE-NUMBER.VAL 48392
|
||||
ISTTOK:central:LogMessage.VAL Olá Mundo
|
||||
ISTTOK:central:LASTOPSTATE.VAL 5
|
||||
ISTTOK:central:OPREQ 1
|
||||
ISTTOK:central:PROCESS-MODE.VAL 1
|
||||
ISTTOK:central:CLEANINGMANMODE.VAL 1
|
||||
ISTTOK:central:PROCESS-MODE.VAL 0
|
||||
ISTTOK:central:CLEANINGMANMODE.VAL 0
|
||||
ISTTOK:central:Emergency-UserButton.VAL 0
|
||||
ISTTOK:central:TMPump1-ManualValve.VAL 1
|
||||
ISTTOK:central:RPump1-Pressure.HIGH 0.05
|
||||
|
||||
@@ -21,6 +21,7 @@ drvAsynI2CConfigure( "I2C", "/dev/i2c-1", 1 )
|
||||
dbLoadRecords("db/ISTTOKstates.db","P=ISTTOK:,R=central:")
|
||||
dbLoadRecords("db/ISTTOKpcf8574.db","P=ISTTOK:,R=central:")
|
||||
dbLoadRecords("db/ISTTOKpcf8591.db","P=ISTTOK:,R=central:")
|
||||
dbLoadRecords("db/ISTTOKtda8444.db","P=ISTTOK:,R=central:")
|
||||
dbLoadRecords("db/ISTTOKmachineControl.db","P=ISTTOK:,R=central:")
|
||||
|
||||
## Load Serial drivers
|
||||
|
||||
@@ -19,19 +19,19 @@ rReg {
|
||||
# Bits 7 : =0
|
||||
|
||||
rConvAdc0 {
|
||||
out ${1} 0;
|
||||
out ${1} 64;
|
||||
in "%02r";
|
||||
}
|
||||
rConvAdc1 {
|
||||
out ${1} 1;
|
||||
out ${1} 65;
|
||||
in "%02r";
|
||||
}
|
||||
rConvAdc2 {
|
||||
out ${1} 2;
|
||||
out ${1} 66;
|
||||
in "%02r";
|
||||
}
|
||||
rConvAdc3 {
|
||||
out ${1} 3;
|
||||
out ${1} 67;
|
||||
in "%02r";
|
||||
}
|
||||
|
||||
@@ -41,4 +41,8 @@ wReg {
|
||||
out ${1} "%.1r";
|
||||
}
|
||||
|
||||
wDac {
|
||||
out ${1} 64 "%.1r";
|
||||
}
|
||||
|
||||
|
||||
|
||||
42
epics/iocs/ISTTOKrpi/protocols/tda8444.proto
Normal file
42
epics/iocs/ISTTOKrpi/protocols/tda8444.proto
Normal file
@@ -0,0 +1,42 @@
|
||||
Terminator = "";
|
||||
LockTimeout = 500;
|
||||
ReplyTimeout = 100;
|
||||
ReadTimeout = 100;
|
||||
WriteTimeout = 100;
|
||||
MaxInput = 2;
|
||||
ExtraInput = Error;
|
||||
#I2C-bus format
|
||||
# 0 1 0 0 A2 A1 A0 0 : I3 I2 I1 I0 SD SC SB SA : X X D5 D4 D3 D2 D1 D0
|
||||
# A2 to A0 = programmable address bits; A = Acknowledge; I3 to I0 = Instruction bits;
|
||||
# SD to SA = subaddress bits; X = don’t care; D5 to D0 = data bits;
|
||||
|
||||
#instruction F will cause a consecutive writing of the data bytes into the
|
||||
#same DAC-latch whose subaddress was given in the instruction byte.
|
||||
|
||||
#0xF0
|
||||
wDac0 {
|
||||
out ${1} 240 "%.1r";
|
||||
}
|
||||
wDac1 {
|
||||
out ${1} 241 "%.1r";
|
||||
}
|
||||
wDac2 {
|
||||
out ${1} 242 "%.1r";
|
||||
}
|
||||
wDac3 {
|
||||
out ${1} 243 "%.1r";
|
||||
}
|
||||
wDac4 {
|
||||
out ${1} 244 "%.1r";
|
||||
}
|
||||
wDac5 {
|
||||
out ${1} 245 "%.1r";
|
||||
}
|
||||
wDac6 {
|
||||
out ${1} 246 "%.1r";
|
||||
}
|
||||
wDac7 {
|
||||
out ${1} 247 "%.1r";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user