From d76cdec3ab1e402edb127394a7e56a774e9892eb Mon Sep 17 00:00:00 2001 From: Bernardo Carvalho Date: Thu, 17 Oct 2019 11:52:47 +0100 Subject: [PATCH] Fixed I2C ADC protocol. Added TMP2 PVs --- .../ISTTOKrpiApp/Db/ISTTOKpcf8591.db | 34 ++++++++++++++++--- .../ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd | 0 epics/iocs/ISTTOKrpi/protocols/pcf8591.proto | 6 ++-- 3 files changed, 33 insertions(+), 7 deletions(-) mode change 100644 => 100755 epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db index 4320d6f..0eb1e2c 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKpcf8591.db @@ -25,11 +25,37 @@ record( mbboDirect, "$(P)$(R)PCF8591:72:CTRLREGISTER") { field(VAL, 255) field(PINI,"YES") } - -record( longin, "$(P)$(R)PCF8591:72:ADC_CH0" ) { +# Receiving two bytes. last one counts +record( longin, "$(P)$(R)PCF8591:72:ADC_CH1" ) { field(DTYP, "stream") field(INP, "@pcf8591.proto rConvAdc0(72) I2C") - field(SCAN, "1 second") -#field( FLNK, " +# field( FLNK, "$(P)$(R)PCF8591:72:CHANNEL1" ) +} +record( calc, "$(P)$(R)PCF8591:72:BYTE2_CH1" ) { + field( INPA, "$(P)$(R)PCF8591:72:ADC_CH1 PP NMS") +# extract LSB =last byte received + field( CALC, " A & 255 " ) +} + +record( ai, "$(P)$(R)PCF8591:72:CHANNEL1" ) { + field( INP, "$(P)$(R)PCF8591:72:ADC_CH1 PP NMS") + field( SCAN, "1 second") + field( ASLO, "0.02" ) + field( AOFF, "0" ) + field( EGU, "V" ) + field( PREC, "3" ) + field( HOPR, "5.0" ) + field( LOPR, "0.0" ) +} +record( longin, "$(P)$(R)PCF8591:72:ADC_CH2" ) { + field(DTYP, "stream") + field(INP, "@pcf8591.proto rConvAdc1(72) I2C") +#field( FLNK, " +} +record( calc, "$(P)$(R)PCF8591:72:BYTE2_CH2" ) { + field( INPA, "$(P)$(R)PCF8591:72:ADC_CH2 PP NMS") + field(SCAN, "1 second") +# LSB i=last byte received + field( CALC, " A & 255 " ) } diff --git a/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd b/epics/iocs/ISTTOKrpi/iocBoot/iocISTTOKrpi/st.cmd old mode 100644 new mode 100755 diff --git a/epics/iocs/ISTTOKrpi/protocols/pcf8591.proto b/epics/iocs/ISTTOKrpi/protocols/pcf8591.proto index feb2220..07670fd 100644 --- a/epics/iocs/ISTTOKrpi/protocols/pcf8591.proto +++ b/epics/iocs/ISTTOKrpi/protocols/pcf8591.proto @@ -24,15 +24,15 @@ rConvAdc0 { } rConvAdc1 { out ${1} 0x01; - in "%01r"; + in "%02r"; } rConvAdc2 { out ${1} 0x02; - in "%01r"; + in "%02r"; } rConvAdc3 { out ${1} 0x03; - in "%01r"; + in "%02r"; } ## @init { rReg; }