diff --git a/config/HBAT2.yaml b/config/HBAT2.yaml index 5b328bb4c75f8d275b912c1fc01545817eb30ed4..1e2bfe3c880613b0eb846c45847c3b9838d321d4 100644 --- a/config/HBAT2.yaml +++ b/config/HBAT2.yaml @@ -4,8 +4,8 @@ description: "1234" drivers: - name: hbaio #TCA9548 type: hbat_pico_io -# parameters: ['/dev/ttyACM0'] #serial port number - parameters: ['COM3'] #serial port number + parameters: ['/dev/ttyACM0'] #serial port number +# parameters: ['COM3'] #serial port number - name: hbat2 type: i2c_array #An array of similar devices connected to an I2C switch parent: hbaio @@ -60,8 +60,6 @@ device_registers: address: 0x14 - name: ADDR address: 0x20 - - name: VSENSE - address: 0x34 - name: SAVE_EEPROM address: 0x40 - name: LOAD_EEPROM @@ -113,6 +111,28 @@ variables: dim: 4 mask: HBAT2_BF_mask + - name: HBAT2_DELAYS.Y_G1 + description: Group1 delays + driver: hbat2 + devreg: [BF.Y1,BF.Y2,BF.Y3,BF.Y4] + bitoffset: 0 + width: 4 + rw: rw + dtype: uint8 + dim: 16 + mask: HBAT2_ANT_mask + + - name: HBAT2_DELAYS_Y_G2 + description: Group2 delays + driver: hbat2 + devreg: [BF.Y1] + bitoffset: 4 + width: 4 + rw: rw + dtype: uint8 + dim: 4 + mask: HBAT2_BF_mask + - name: HBAT2_ID description: Unique HBAT ID driver: hbat2 @@ -129,6 +149,7 @@ variables: devreg: BF.VERSION width: 32 rw: ro +# dtype: string dtype: uint32 dim: 4 mask: HBAT2_BF_mask @@ -145,7 +166,7 @@ variables: - name: HBAT2_PWR_FE driver: hbat2 - devreg: BF.FE_PWR + devreg: [BF.FE_PWR,BF.FE_PWR,BF.FE_PWR,BF.FE_PWR] bitoffset: [0,1,2,3] width: 1 rw: rw @@ -153,30 +174,68 @@ variables: dim: 16 mask: HBAT2_ANT_mask - - name: HBAT2_BEAMFORM + - name: [HBAT2_BEAMFORM_X,HBAT2_BEAMFORM_Y] driver: hbat2 - devreg: BF.SWX + devreg: [BF.SWX,BF.SWY] bitoffset: 0 width: 5 rw: rw - dtype: string + dtype: uint8 dim: 4 mask: HBAT2_BF_mask # lookup: {ANT0:0, ANT1:4, ANT2:1, ANT3:2, BF:14} - - name: HBAT2_V1 + - name: HBAT2_BF_V driver: hbat2 - devreg: BF.VSENSE - bitoffset: 0 - width: 8 + devreg: BF.0x34 + width: 16 rw: ro - dtype: float - scale : 1 + dtype: double + scale : 1.0 dim: 4 mask: HBAT2_BF_mask + - name: HBAT2_FE_I + driver: hbat2 + devreg: [BF.0x30,BF.0x31,BF.0x32,BF.0x33] + width: 16 + rw: ro + dtype: double + scale : 1.0 + dim: 16 + mask: HBAT2_ANT_mask + + - name: [HBAT2_BF_I1,HBAT2_BF_I2] + driver: hbat2 + devreg: [BF.0x35,BF.0x36] + width: 16 + rw: ro + dtype: double + scale : 1.0 + dim: 16 + mask: HBAT2_BF_mask + methods: - - name: LOAD_EEPROM - driver: hbat2 - instructions: - - BF1.LOAD_EEPROM: 0 + - name: HBAT2_Init #Called after startup to load. Should have all stored registers + driver: hbat2 + debug: True + instructions: + - HBAT2_ID : Update + - HBAT2_VERSION : Update + - HBAT2_DELAYS_X_G1: Update + - HBAT2_DELAYS_X_G2: Update + - HBAT2_DELAYS_Y_G1: Update + - HBAT2_DELAYS_Y_G2: Update + - HBAT2_DELAYS_PWR_FE: Update + - HBAT2_LED0: Update + - HBAT2_PWR_X: Update + - HBAT2_PWR_Y: Update + - HBAT2_PWR_FEs: Update + - HBAT2_PWR_FE : Update + - HBAT2_BEAMFORM_X: Update + - HBAT2_BEAMFORM_Y: Update + - HBAT2_BF_V: Update +# - HBAT2_BF_I1: Update +# - HBAT2_BF_I2: Update + - HBAT2_FE_I: Update + \ No newline at end of file diff --git a/testHBA2_pico.py b/testHBA2_pico.py index 475bd004ca05e39c21aed3efd8ca167b7b14afa0..1604db0edc9b3bb62c61049e1960e367737fc1ba 100644 --- a/testHBA2_pico.py +++ b/testHBA2_pico.py @@ -41,7 +41,8 @@ if __name__ == '__main__': #RCU_I2C.callmethod(var1,[]) BFaddr=[0,3]; - var1=RCU_conf.getvarid('DELAYS_X_G1'); +# var1=RCU_conf.getvarid('HBAT2_DELAYS_X_G1'); + var1=RCU_conf.getvarid('HBAT2_PWR_FE'); N=16; data=[1,2,3,4]+[0]*8+[1,2,3,4]; mask=[(i//4) in BFaddr for i in range(N)]; @@ -49,13 +50,22 @@ if __name__ == '__main__': # RCU_I2C.setvar(var1,data,mask); RCU_I2C.readvar(var1,mask); - var1=RCU_conf.getvarid('DELAYS_X_G2'); +# var1=RCU_conf.getvarid('HBAT2_FE_I'); +# RCU_I2C.readvar(var1,mask); + + var1=RCU_conf.getvarid('HBAT2_DELAYS_X_G2'); N=4; data=[2,0,0,3]; mask=[i in BFaddr for i in range(N)]; print(mask,data) # RCU_I2C.setvar(var1,data,mask); - RCU_I2C.readvar(var1,mask); +# RCU_I2C.readvar(var1,mask); + +# var1=RCU_conf.getvarid('HBAT2_BF_V'); +# RCU_I2C.readvar(var1,mask); + +# var1=RCU_conf.getvarid('HBAT2_BF_I1'); +# RCU_I2C.readvar(var1,mask); time.sleep(5);