import time #947 address is 0x28. #948 address is 0x58. #reset 947 board.WriteI2C(0x28, 0x01, 0x03) time.sleep(0.1) #Enable 947 I2C passthrough board.WriteI2C(0x28, 0x03, 0xda) time.sleep(0.1) #Reset 948 board.WriteI2C(0x58, 0x01, 0x03) time.sleep(0.1) print "0x28 0x4F lane mode select. 40h is 1-lane. 00h is 2-lane. 0x4F before is", hex(board.ReadI2C(0x28, 0x4F)) time.sleep(0.1) print "0x28 0x5A bit-6 TX transmit status. High means TX transmits ok. 0x5A before pat en is", hex(board.ReadI2C(0x28, 0x5A)) time.sleep(0.1) board.WriteI2C(0x28, 0x4F, 00) time.sleep(0.1) #select 947 pat gen timing as internal board.WriteI2C(0x28, 0x65, 0x04) time.sleep(0.1) #enable 947 pat gen board.WriteI2C(0x28, 0x64, 0x11) time.sleep(0.1) print "0x28 0x5A bit-6 TX transmit status. High means TX transmits ok. 0x5A after pat en is", hex(board.ReadI2C(0x28, 0x5A)) time.sleep(0.1) #==================================== #check port 0 quality board.WriteI2C(0x58, 0x52, 0x00) time.sleep(0.1) time.sleep(0.1) board.WriteI2C(0x58, 0x57, 0x02) time.sleep(0.1) time.sleep(0.1) board.WriteI2C(0x58, 0x56, 0x08) time.sleep(0.1) time.sleep(0.1) #check port 1 quality #board.WriteI2C(0x58, 0x52, 0x80) #time.sleep(0.1) #time.sleep(0.1) #board.WriteI2C(0x58, 0x57, 0x04) #time.sleep(0.1) #time.sleep(0.1) #board.WriteI2C(0x58, 0x56, 0x08) #time.sleep(0.1) #time.sleep(0.1) #==================================== print "0x28 0x4F lane mode reg value after is", hex(board.ReadI2C(0x28, 0x4F)) time.sleep(0.1) print "0x58 0x52 sel port reg value after is", hex(board.ReadI2C(0x58, 0x52)) time.sleep(0.1) print "0x58 0x57 sel port reg value after is", hex(board.ReadI2C(0x58, 0x57)) time.sleep(0.1) print "0x58 0x56 en eye reg value after is", hex(board.ReadI2C(0x58, 0x56)) time.sleep(0.1)