diff --git a/config/APSPUTR.yaml b/config/APSPUTR.yaml index 00ed6d0b0a4694cee9d2e6ac67ce014f3c52c9d5..fda5a14f66f1716bcb2f08703918c9cc06dc3d7c 100644 --- a/config/APSPUTR.yaml +++ b/config/APSPUTR.yaml @@ -25,20 +25,48 @@ device_registers: - name: Serial address: 0x20 + - name: POL_LBA + address: 0x3C + driver: i2c_smbus + registers: + - { name: "TEMP", address: 0x8D, crc: True} + - { name: "VIN" , address: 0x88, crc: True} + - { name: "VOUT", address: 0x8B, crc: True} + - { name: "IOUT", address: 0x8C, crc: True} + - name: POL_RCU2A + address: 0x3D + driver: i2c_smbus + registers: + - { name: "TEMP", address: 0x8D, crc: True} + - { name: "VIN" , address: 0x88, crc: True} + - { name: "VOUT", address: 0x8B, crc: True} + - { name: "IOUT", address: 0x8C, crc: True} + - name: POL_RCU2D + address: 0x3E + driver: i2c_smbus + registers: + - { name: "TEMP", address: 0x8D, crc: True} + - { name: "VIN" , address: 0x88, crc: True} + - { name: "VOUT", address: 0x8B, crc: True} + - { name: "IOUT", address: 0x8C, crc: True} + - name: MAX description: MAX6620 fan speed controller address: 0x29 driver: I2C_PU registers: - - name: GLOBAL - address: 0x00 - - name: TACH1 - address: 0x10 - - name: TACH2 - address: 0x12 - - name: TACH3 - address: 0x14 + - { name: GLOBAL, address: 0x00} + - { name: TACH1, address: 0x10} + - { name: TACH2, address: 0x12} + - { name: TACH3, address: 0x14} + - { name: r2, address: 0x2} + - { name: r3, address: 0x3} + - { name: r4, address: 0x4} + - { name: r5, address: 0x5} + - { name: r6, address: 0x6} + - { name: r7, address: 0x7} + - { name: r8, address: 0x8} variables: @@ -82,10 +110,9 @@ variables: rw: ro dtype: string - - name: [APSPU_LBA_VOUT,APSPU_RCU2A_VOUT,APSPU_RCU2D_VOUT] driver: I2C_PU - devreg: [0x3C.0x8B,0x3D.0x8B,0x3E.0x8B] + devreg: [POL_LBA.VOUT,POL_RCU2A.VOUT,POL_RCU2D.VOUT] width: 16 rw: ro dtype: double @@ -95,7 +122,7 @@ variables: - name: [APSPU_LBA_IOUT,APSPU_RCU2A_IOUT,APSPU_RCU2D_IOUT] driver: I2C_PU - devreg: [0x3C.0x8C,0x3D.0x8C,0x3E.0x8C] + devreg: [POL_LBA.IOUT,POL_RCU2A.IOUT,POL_RCU2D.IOUT] width: 16 rw: ro dtype: double @@ -104,7 +131,7 @@ variables: - name: [APSPU_LBA_TEMP,APSPU_RCU2A_TEMP,APSPU_RCU2D_TEMP] driver: I2C_PU - devreg: [0x3C.0x8D,0x3D.0x8D,0x3E.0x8D] + devreg: [POL_LBA.TEMP,POL_RCU2A.TEMP,POL_RCU2D.TEMP] width: 16 rw: ro dtype: double @@ -131,15 +158,16 @@ methods: - APSPU_PCB_ID : Update - APSPU_PCB_version : Update - APSPU_PCB_number : Update + - APSPU_FAN_monitor_on : 0 - name: APSPU_FAN_monitor_on description: Setup the FAN monitor to give RPM driver: I2C_PU instructions: - - MAX.GLOBAL : 0x02; #Run monitor - - MAX.0x02 : 0x88; - - MAX.0x06 : 0x80; # int((math.log(TACH_PERIODS{16}) / math.log(2))) << 5, - - MAX.0x03 : 0x88; - - MAX.0x07 : 0x80; - - MAX.0x04 : 0x88; - - MAX.0x08 : 0x80; + - MAX.GLOBAL : 0x02 #Run monitor + - MAX.r2 : 0x88 + - MAX.r6 : 0x80 # int((math.log(TACH_PERIODS{16}) / math.log(2))) << 5, + - MAX.r3 : 0x88 + - MAX.r7 : 0x80 + - MAX.r4 : 0x88 + - MAX.r8 : 0x80 diff --git a/config/UNB2TR.yaml b/config/UNB2TR.yaml index 3dbda4a9e605b8a744bd4aa3cea0e67d5464c8b1..bdef91ea52e88061f614850f72ad2435dd1c386b 100644 --- a/config/UNB2TR.yaml +++ b/config/UNB2TR.yaml @@ -483,9 +483,11 @@ methods: debug: True instructions: - UNB2TR_I2C_error: 0 + - UNB2_I2C_enabled: 1 #Make sure I2C switches are enabled - UNB2_PCB_ID: Update - UNB2_PCB_version: Update - UNB2_PCB_number: Update +# - FP_IO.CONF: 0xf8 #bit 0-2 output for LED - UNB2_Front_Panel_LED_colour: Update - UNB2_PWR_on: Update diff --git a/i2cserv/i2c_dev.py b/i2cserv/i2c_dev.py index 6e6885f496dbd8633fd74fb014d80e52f15b66af..0ba2eb8e859809d7712ec745525212cb8c51f675 100644 --- a/i2cserv/i2c_dev.py +++ b/i2cserv/i2c_dev.py @@ -290,7 +290,8 @@ class i2c_dev(hwdev): callback(0,[devreg['wait']],read=3) if not(callback(devreg['addr'],value2,read=1)): return False; else: - if not(callback(devreg['addr'],value2,reg=reg,read=1)): return False; + rd=(5 if devreg.get('crc') else 1) + if not(callback(devreg['addr'],value2,reg=reg,read=rd)): return False; if value2[0] is None: return False value[:]=value2[:]; if devreg.get('store'):