####################################################### # ### ### # # ### EPICS Database for ### # # ### I2C PCF8574 board ### # # ### ### # # ### author: B. Carvalho IPFN ### # # ### ### # # ### Ref 2.0; 2018-01-14 ### # # ### ### # # ### macros: ID I2C address of ADC ### # # ### Description: ### # # ### This is an example DB file using ### # # ### stream(asynI2C) and to read/write ### # # ### an PCF8574 ### # ####################################################### ##################################################### # ### Read/Write pcf8574 address 0x38=56 register ### # ################################################### record( mbboDirect, "$(P)$(R)PCF8574:56:REGISTER") { field( DTYP, "stream") field( OUT, "@pcf8574.proto wReg(56) I2C") field( SHFT, "0") field( NOBT, "8") # Has @init on protocol # field(VAL, 255) # field(PINI,"YES") } record( mbbiDirect, "$(P)$(R)PCF8574:56:REGISTER:READ" ) { field( DTYP, "stream") field( INP, "@pcf8574.proto rReg(56) I2C") field(NOBT, "8") field(SCAN, "1 second") field(FLNK, "$(P)$(R)PCF8574:56:REGISTER:READ:FNOUT") # field(PINI,"YES") } ##################################################### # ### Read/Write pcf8574 address 0x39=57 register ### # ################################################### record( mbboDirect, "$(P)$(R)PCF8574:57:REGISTER") { field( DTYP, "stream") field( OUT, "@pcf8574.proto wReg(57) I2C") field( SHFT, "0") field( NOBT, "8") field(VAL, 255) field(PINI,"YES") } record( mbbiDirect, "$(P)$(R)PCF8574:57:REGISTER:READ" ) { field( DTYP, "stream") field( INP, "@pcf8574.proto rReg(57) I2C") field(NOBT, "8") field(SCAN, "1 second") field(PINI,"YES") } ##################################################### # ### Read/Write pcf8574 address 0x3c=60 register ### # ################################################### record( mbboDirect, "$(P)$(R)PCF8574:60:REGISTER") { field( DTYP, "stream") field( OUT, "@pcf8574.proto wReg(60) I2C") field( SHFT, "0") field( NOBT, "8") field(VAL, 255) field(PINI,"YES") } record( mbbiDirect, "$(P)$(R)PCF8574:60:REGISTER:READ" ) { field( DTYP, "stream") field( INP, "@pcf8574.proto rReg(60) I2C") field(NOBT, "8") field(SCAN, "1 second") field(PINI,"YES") } ##################################################### # ### Read/Write pcf8574 address 0x3d=61 register ### # ################################################### record( mbboDirect, "$(P)$(R)PCF8574:61:REGISTER") { field( DTYP, "stream") field( OUT, "@pcf8574.proto wReg(61) I2C") field( SHFT, "0") field( NOBT, "8") field(VAL, 255) field(PINI,"YES") } record( mbbiDirect, "$(P)$(R)PCF8574:61:REGISTER:READ" ) { field( DTYP, "stream") field( INP, "@pcf8574.proto rReg(61) I2C") field(NOBT, "8") field(SCAN, "1 second") field(PINI,"YES") }