def gpio_getdir(*args, regulator=ddr, **kwargs): gpio_op(SCA_OP_MODE['gpio_getdir'], *args, **kwargs) ret = pydim.dic_sync_info_service( '{}/{}/SrvcGPIORead'.format(GBT_PREF, GBT_SERV), 'I:1;C' ) return int(dim_dic_err(regulator(ret), GPIO_ERR_CODE), base=16)
def gpio_write(*args, regulator=ddr, **kwargs): gpio_op(SCA_OP_MODE['write'], *args, **kwargs) ret = pydim.dic_sync_info_service( '{}/{}/SrvcGPIOWrite'.format(GBT_PREF, GBT_SERV), 'I:1' ) return dim_dic_err(regulator(ret), GPIO_ERR_CODE)
def i2c_writeread(*args, regulator=ddr, **kwargs): # FIXME: The operation order doesn't make sense. i2c_op(SCA_OP_MODE['writeread'], *args, **kwargs) pydim.dic_sync_info_service('{}/{}/SrvcI2CRead'.format(GBT_PREF, GBT_SERV), 'I:1;C') ret = pydim.dic_sync_info_service( '{}/{}/SrvcI2CRead'.format(GBT_PREF, GBT_SERV), 'I:1;C') return dim_dic_err(regulator(ret), I2C_ERR_CODE)
def mem_mon_options_read(tell40=TELL40, regulator=ddr): ret = pydim.dic_sync_cmnd_service( '{}/{}/CmndOperation/{}.top_tell40.monitoring_options'.format( GBT_PREF, GBT_SERV, tell40), (FPGA_REG_OP_MODE['read'], '0'), 'C:1;C') dim_cmd_err(ret) ret = pydim.dic_sync_info_service( '{}/{}/SrvcReadings/{}.top_tell40.monitoring_options'.format( GBT_PREF, GBT_SERV, tell40), 'I:1;C') return dim_dic_err(regulator(ret), FPGA_REG_ERR_CODE)