def __init__(self, i2c, ad7175=None, range_ctrl_pin=None, meter_ctrl_pin=None, ipcore=None): if ad7175 and range_ctrl_pin and meter_ctrl_pin and not ipcore: if isinstance(ad7175, basestring): axi4 = AXI4LiteBus(ad7175, WolverineDef.PLAD7175_REG_SIZE) self.ad7175 = MIXAd7175SG(axi4, mvref=WolverineDef.MVREF, code_polar=WolverineDef.POLAR, clock=WolverineDef.CLOCK) else: self.ad7175 = ad7175 self.range_ctrl_pin = range_ctrl_pin self.meter_ctrl_pin = meter_ctrl_pin elif not ad7175 and not range_ctrl_pin and not meter_ctrl_pin and ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, WolverineDef.MIX_DAQT1_REG_SIZE) self.ipcore = MIXDAQT1SGR(axi4_bus, 'AD7175', ad717x_mvref=WolverineDef.MVREF, code_polar=WolverineDef.POLAR, clock=WolverineDef.CLOCK, use_gpio=True) else: self.ipcore = ipcore self.ad7175 = self.ipcore.ad717x gpio = self.ipcore.gpio self.range_ctrl_pin = Pin(gpio, WolverineDef.RANGE_SEL_BIT) self.meter_ctrl_pin = Pin(gpio, WolverineDef.METER_SEL_BIT) self.tag_pins = [ Pin(gpio, WolverineDef.TAG_BASE_PIN + x, WolverineDef.GPIO_OUTPUT_DIR) for x in range(4) ] elif not ad7175 and range_ctrl_pin and meter_ctrl_pin and ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, WolverineDef.MIX_DAQT1_REG_SIZE) self.ipcore = MIXDAQT1SGR(axi4_bus, 'AD7175', ad717x_mvref=WolverineDef.MVREF, code_polar=WolverineDef.POLAR, clock=WolverineDef.CLOCK, use_gpio=True) else: self.ipcore = ipcore self.ad7175 = self.ipcore.ad717x self.range_ctrl_pin = range_ctrl_pin self.meter_ctrl_pin = meter_ctrl_pin gpio = self.ipcore.gpio self.tag_pins = [ Pin(gpio, WolverineDef.TAG_BASE_PIN + x, WolverineDef.GPIO_OUTPUT_DIR) for x in range(4) ] else: raise WolverineException("Invalid parameter, please check") eeprom = CAT24C32(WolverineDef.EEPROM_DEV_ADDR, i2c) nct75 = NCT75(WolverineDef.NCT75_DEV_ADDR, i2c) super(Wolverine, self).__init__(eeprom, nct75, range_table=wolverine_range_table) self.channel_path = {'range_sel_bit': self.range_ctrl_pin, 'meter_sel_bit': self.meter_ctrl_pin} self.measure_path = dict() self.measure_path['range'] = WolverineDef.VOLT_5V
def create_omega_dbg(axi4_bus_name, spi_axi4_bus_name, i2c_bus_name): omega = OmegaDebuger() if 'DAQT1' in axi4_bus_name: daqt1_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8000) daqt1 = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=5000, use_spi=True, use_gpio=False) ad7175 = None spi_bus = None else: daqt1 = None ad717x_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8192) ad7175 = MIXAd7175SG(ad717x_axi4_bus, 5000) spi_axi4_bus = AXI4LiteBus(spi_axi4_bus_name, 0x8192) spi_bus = PLSPIBus(spi_axi4_bus) axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) omega.omega = DMM005004(i2c=i2c_bus, spi=spi_bus, ad7175=ad7175, ipcore=daqt1) return omega
def create_scope_dbg(axi4_bus_name, i2c_bus_name): scope_dbg = CloakDebuger() if axi4_bus_name == '': daqt1 = MIXDAQT1SGREmulator(axi4_bus=None, ad717x_chip='AD7177', ad717x_mvref=2500, use_spi=False, use_gpio=False) ad7177 = None elif 'MIX_Scope' in axi4_bus_name: daqt1_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8000) daqt1 = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7177', ad717x_mvref=2500, use_spi=False, use_gpio=False) ad7177 = None else: daqt1 = None ad717x_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8192) ad7177 = MIXAd7177SG(ad717x_axi4_bus, 2500) if i2c_bus_name == '': i2c_bus = None else: axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) scope_dbg.cloak = Cloak(i2c=i2c_bus, ad7177=ad7177, ip=daqt1) return scope_dbg
def __init__(self, i2c=None, ipcore=None, ad7175=None): if ipcore: if isinstance(ipcore, basestring): daqt1_axi4_bus = AXI4LiteBus(ipcore, DMM003004Def.MIXDAQT1_REG_SIZE) self.ip = MIXDAQT1SGR( axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=DMM003004Def.ADC_VREF_VOLTAGE_5000mV, use_spi=True, use_gpio=False) self.ad7175 = self.ip.ad717x else: self.ip = ipcore self.ad7175 = self.ip.ad717x elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, DMM003004Def.AD7175_REG_SIZE) self.ad7175 = MIXAd7175SG( axi4_bus, mvref=DMM003004Def.ADC_VREF_VOLTAGE_5000mV) else: self.ad7175 = ad7175 else: raise DMM003004Exception("Invalid parameter, please check") super(DMM003004, self).__init__(i2c, ipcore, ad7175, DMM003004Def.EEPROM_DEV_ADDR, DMM003004Def.SENSOR_DEV_ADDR, DMM003004Def.CAT9555_DEV_ADDR, range_table=dmm003004_range_table) self.function_info = dmm003004_function_info
def __init__(self, i2c, ad7175=None, fault_pin=None, ipcore=None): if ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, HPPSU001Def.MIX_DAQT1_REG_SIZE) ipcore = MIXDAQT1SGR( axi4_bus, 'AD7175', ad717x_mvref=HPPSU001Def.AD7175_MVREF, code_polar=HPPSU001Def.AD7175_CODE_POLAR, reference=HPPSU001Def.AD7175_REFERENCE_SOURCE, buffer_flag=HPPSU001Def.AD7175_BUFFER_FLAG, clock=HPPSU001Def.AD7175_CLOCK, use_spi=False, use_gpio=False) elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, HPPSU001Def.AD7175_REG_SIZE) ad7175 = MIXAd7175SG( axi4_bus, mvref=HPPSU001Def.AD7175_MVREF, code_polar=HPPSU001Def.AD7175_CODE_POLAR, reference=HPPSU001Def.AD7175_REFERENCE_SOURCE, buffer_flag=HPPSU001Def.AD7175_BUFFER_FLAG, clock=HPPSU001Def.AD7175_CLOCK) else: ad7175 = MIXAd7175SGEmulator('mix_ad7175_sg_emulator', HPPSU001Def.AD7175_MVREF) super(HPPSU001002, self).__init__(i2c, ad7175, fault_pin, ipcore, hppsu001002_calibration_info, hppsu001002_range_table)
def create_mimic_dbg(ipcore_name, ad7175_bus_name, vref, i2c_bus_name): mimic_dbg = DMM003004Debuger() daqt1 = None ad7175 = None if ipcore_name != '': axi4_bus = AXI4LiteBus(ipcore_name, 9548) daqt1 = MIXDAQT1SGR(axi4_bus, ad717x_mvref=vref, use_spi=False, use_gpio=False) elif ad7175_bus_name != '': axi4_bus = AXI4LiteBus(ad7175_bus_name, 256) ad7175 = MIXAd7175SG(axi4_bus, vref) if i2c_bus_name == '': i2c_bus = None else: if utility.is_pl_device(i2c_bus_name): axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) else: i2c_bus = I2C(i2c_bus_name) mimic_dbg.mimic = DMM003004(i2c_bus, daqt1, ad7175) mimic_dbg.mimic.post_power_on_init() return mimic_dbg
def __init__(self, i2c=None, spi=None, blade=None, gpio=None, volt_ch1=2, volt_ch2=3, curr_ch1=0, curr_ch2=1, eeprom_dev_addr=None, sensor_dev_addr=None, ipcore=None, cat9555_dev_addr=ElektraDef.CAT9555_ADDR, range_table=elektra_range_table): self.eeprom = CAT24C32(eeprom_dev_addr, i2c) self.sensor = NCT75(sensor_dev_addr, i2c) self.cat9555 = CAT9555(cat9555_dev_addr, i2c) if (i2c is not None and spi is not None and gpio is not None): self.spi = spi self.spi.set_mode('MODE2') self.ad5663 = AD5663R(spi, ElektraDef.DAC_MV_REF, ElektraDef.DAC_MODE_REF) # if not using wrapper IP, blade is ad7608 IP driver self.ad7608 = blade self.gpio = gpio elif (ipcore is not None and i2c is not None): if isinstance(ipcore, basestring): daqt1_axi4_bus = AXI4LiteBus(ipcore, ElektraDef.MIXDAQT1_REG_SIZE) self.ipcore = MIXDAQT1SGR( axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=ElektraDef.ADC_VREF_VOLTAGE_5000mV, use_spi=True, use_gpio=False) self.spi = self.ipcore.spi self.ad7175 = self.ipcore.ad717x else: self.ipcore = ipcore self.spi = self.ipcore.spi self.ad7175 = self.ipcore.ad717x self.spi.set_mode('MODE2') self.ad5663 = AD5663R(self.spi, ElektraDef.DAC_MV_REF, ElektraDef.DAC_MODE_REF) self.gpio = None if blade: self.blade = blade self.ad7608 = blade.adc else: raise ElektraException( '__init__ error! Please check the parameters!') super(ElektraBase, self).__init__(self.eeprom, self.sensor, range_table=range_table) self.adc_voltage_channel = {'ch1': volt_ch1, 'ch2': volt_ch2} self.adc_current_channel = {'ch1': curr_ch1, 'ch2': curr_ch2}
def __init__(self, i2c, ad7175=None, ipcore=None, eeprom_dev_addr=DaggerDef.EEPROM_DEV_ADDR, sensor_dev_addr=DaggerDef.NCT75_DEV_ADDR): if ipcore and ad7175: raise DaggerException( 'ipcore and ad7175 can not be existed at the same time') self.ipcore = ipcore if ipcore is not None: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, DaggerDef.MIX_DAQT1_REG_SIZE) self.ipcore = MIXDAQT1SGR( axi4_bus, 'AD7175', ad717x_mvref=DaggerDef.AD7175_MVREF, code_polar=DaggerDef.AD7175_CODE_POLAR, reference=DaggerDef.AD7175_REFERENCE_SOURCE, buffer_flag=DaggerDef.AD7175_BUFFER_FLAG, clock=DaggerDef.AD7175_CLOCK, use_spi=False, use_gpio=False) else: self.ipcore = ipcore self.ad7175 = self.ipcore.ad717x elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, DaggerDef.AD7175_REG_SIZE) self.ad7175 = MIXAd7175SG( axi4_bus, mvref=DaggerDef.AD7175_MVREF, code_polar=DaggerDef.AD7175_CODE_POLAR, reference=DaggerDef.AD7175_REFERENCE_SOURCE, buffer_flag=DaggerDef.AD7175_BUFFER_FLAG, clock=DaggerDef.AD7175_CLOCK) else: self.ad7175 = ad7175 else: raise DaggerException("Invalid parameter, please check") self.eeprom = CAT24C32(eeprom_dev_addr, i2c) self.nct75 = NCT75(sensor_dev_addr, i2c) super(DaggerBase, self).__init__(self.eeprom, self.nct75, range_table=dagger_range_table) self.ad7175.config = { "ch0": { "P": "AIN0", "N": "AIN1" }, "ch1": { "P": "AIN2", "N": "AIN3" } }
def __init__(self, i2c_ext=None, i2c_power=None, ad7175=None, ipcore=None): if ad7175 and not ipcore: if isinstance(ad7175, basestring): axi4 = AXI4LiteBus(ad7175, OdinDef.PLAD7175_REG_SIZE) self.ad7175 = MIXAd7175SG(axi4, mvref=OdinDef.MVREF, code_polar=OdinDef.POLAR, reference=OdinDef.AD7175_REF_MODE, clock=OdinDef.CLOCK) else: self.ad7175 = ad7175 elif not ad7175 and ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, OdinDef.MIX_DAQT1_REG_SIZE) self.ipcore = MIXDAQT1SGR(axi4_bus, 'AD7175', ad717x_mvref=OdinDef.MVREF, code_polar=OdinDef.POLAR, reference=OdinDef.AD7175_REF_MODE, clock=OdinDef.CLOCK, use_gpio=False) else: self.ipcore = ipcore self.ad7175 = self.ipcore.ad717x elif not ad7175 and not ipcore: self.ad7175 = MIXAd7175SGEmulator("ad7175_emulator", OdinDef.PLAD7175_REG_SIZE) if i2c_ext and i2c_power: eeprom = CAT24C32(OdinDef.EEPROM_DEV_ADDR, i2c_ext) nct75 = NCT75(OdinDef.NCT75_DEV_ADDR, i2c_ext) self.tca9538 = TCA9538(OdinDef.TCA9538_ADDR, i2c_ext) self.ad5667_batt = AD5667R(OdinDef.DAC_BATT_ADDR, i2c_power, ref_mode=OdinDef.DAC_REF_MODE, mvref=OdinDef.DAC_VREF) self.ad5667_charge = AD5667R(OdinDef.DAC_CHARGE_ADDR, i2c_power, ref_mode=OdinDef.DAC_REF_MODE, mvref=OdinDef.DAC_VREF) super(Odin, self).__init__(eeprom, nct75, range_table=odin_range_table) elif not i2c_ext and not i2c_power: self.tca9538 = TCA9538Emulator(OdinDef.TCA9538_ADDR) self.ad5667_batt = AD5667REmulator('ad5667_emulator') self.ad5667_charge = AD5667REmulator('ad5667_emulator') super(Odin, self).__init__(None, None, cal_table={}, range_table=odin_range_table) else: raise OdinException("Invalid parameter, please check")
def __init__(self, i2c, ipcore=None, ad7175=None, eeprom_dev_addr=MimicDef.EEPROM_DEV_ADDR, sensor_dev_addr=MimicDef.SENSOR_DEV_ADDR, cat9555_dev_addr=MimicDef.CAT9555_DEV_ADDR, range_table=mimic_range_table): self.eeprom = CAT24C32(eeprom_dev_addr, i2c) self.sensor = NCT75(sensor_dev_addr, i2c) self.cat9555 = CAT9555(cat9555_dev_addr, i2c) if ipcore: if isinstance(ipcore, basestring): daqt1_axi4_bus = AXI4LiteBus(ipcore, MimicDef.MIXDAQT1_REG_SIZE) self.ip = MIXDAQT1SGR( axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=MimicDef.ADC_VREF_VOLTAGE_5000mV, use_spi=True, use_gpio=False) self.ad7175 = self.ip.ad717x else: self.ip = ipcore self.ad7175 = self.ip.ad717x elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, MimicDef.AD7175_REG_SIZE) self.ad7175 = MIXAd7175SG( axi4_bus, mvref=MimicDef.ADC_VREF_VOLTAGE_5000mV) else: self.ad7175 = ad7175 else: raise MimicException("Invalid parameter, please check") self.ad7175.config = { 'ch0': { 'P': 'AIN0', 'N': 'AIN1' }, 'ch1': { 'P': 'AIN2', 'N': 'AIN3' } } self.measure_path = dict() super(MimicBase, self).__init__(self.eeprom, self.sensor, range_table=range_table) self.function_info = mimic_function_info self.module_calibration_info = range_table
def create_scope_dbg(axi4_bus_name, i2c_bus_name): scope_dbg = Scope002006Debuger() if axi4_bus_name == '': daqt1 = MIXDAQT1SGREmulator(axi4_bus=None, ad717x_chip='AD7175', ad717x_mvref=2500, use_spi=False, use_gpio=False) ad7175 = None elif 'MIX_Scope' in axi4_bus_name: daqt1_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8000) daqt1 = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=2500, use_spi=False, use_gpio=False) ad7175 = None elif 'MIX_DAQT' in axi4_bus_name: daqt1_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8000) daqt1 = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=2500, use_spi=False, use_gpio=False) ad7175 = None else: daqt1 = None ad717x_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8192) ad7175 = MIXAd7175SG(ad717x_axi4_bus, 2500) if i2c_bus_name == '': i2c_bus = None else: i2c_bus = I2C(i2c_bus_name) scope_dbg.scope002006 = Scope002006(i2c=i2c_bus, ad7175=ad7175, ipcore=daqt1) return scope_dbg
def create_wolverine_dbg(ad7175_bus_name, vref, i2c_bus0_name, i2c_bus1_name, i2c_dev_addr1, range_sel_bit, meter_sel_bit, ip_dev_name): if ad7175_bus_name == '': ad7175 = None else: axi4_bus = AXI4LiteBus(ad7175_bus_name, 8192) ad7175 = MIXAd7175SG(axi4_bus, vref) if i2c_bus0_name == '': i2c_bus0 = None else: if utility.is_pl_device(i2c_bus0_name): axi4_bus = AXI4LiteBus(i2c_bus0_name, 256) i2c_bus0 = MIXI2CSG(axi4_bus) else: i2c_bus0 = I2C(i2c_bus0_name) if i2c_bus1_name == '': cat9555 = None else: if utility.is_pl_device(i2c_bus1_name): axi4_bus = AXI4LiteBus(i2c_bus1_name, 256) i2c_bus1 = MIXI2CSG(axi4_bus) else: i2c_bus1 = I2C(i2c_bus1_name) cat9555 = CAT9555(i2c_dev_addr1, i2c_bus1) if ip_dev_name == '': ipcore = None else: axi4_bus = AXI4LiteBus(ip_dev_name, 0x8000) ipcore = MIXDAQT1SGR(axi4_bus, ad717x_chip='AD7175', use_spi=False, use_gpio=True) if range_sel_bit == '': range_sel_bit = None else: range_sel_bit = int(range_sel_bit) if meter_sel_bit == '': meter_sel_bit = None else: meter_sel_bit = int(meter_sel_bit) wolverine_dbg = WolverineDebugger( Wolverine(i2c_bus0, ad7175, Pin(cat9555, range_sel_bit), Pin(cat9555, meter_sel_bit), ipcore)) return wolverine_dbg
def __init__(self, i2c=None, ipcore=None, ad7175=None): if i2c: self.eeprom = CAT24C32(DMM003004Def.EEPROM_DEV_ADDR, i2c) self.sensor = NCT75(DMM003004Def.SENSOR_DEV_ADDR, i2c) self.cat9555 = CAT9555(DMM003004Def.CAT9555_DEV_ADDR, i2c) else: self.eeprom = EepromEmulator('eeprom_emulator') self.sensor = NCT75Emulator('nct75_emulator') self.cat9555 = CAT9555Emulator(DMM003004Def.CAT9555_DEV_ADDR, None, None) if ipcore: if isinstance(ipcore, basestring): daqt1_axi4_bus = AXI4LiteBus(ipcore, DMM003004Def.MIXDAQT1_REG_SIZE) self.ip = MIXDAQT1SGR( axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=DMM003004Def.ADC_VREF_VOLTAGE_5000mV, use_spi=True, use_gpio=False) self.ad7175 = self.ip.ad717x else: self.ip = ipcore self.ad7175 = self.ip.ad717x elif ad7175: self.ad7175 = ad7175 else: self.ad7175 = MIXAd7175SGEmulator('mix_ad7175_sg_emulator', DMM003004Def.EMULATOR_REG_SIZE) self.ad7175.config = { 'ch0': { 'P': 'AIN0', 'N': 'AIN1' }, 'ch1': { 'P': 'AIN2', 'N': 'AIN3' } } self.mode = 'cal' self.measure_path = dict() super(Mimic, self).__init__(self.eeprom, self.sensor, cal_table=dmm003004_calibration_info, range_table=dmm003004_range_table) self.function_info = dmm003004_function_info self.module_calibration_info = dmm003004_calibration_info
def __init__(self, i2c, ipcore=None): if i2c: self.eeprom = CAT24C32(WolverineiiDef.EEPROM_DEV_ADDR, i2c) self.sensor = NCT75(WolverineiiDef.SENSOR_DEV_ADDR, i2c) self.pca9536 = PCA9536(WolverineiiDef.IO_EXP_DEV_ADDR, i2c) else: self.eeprom = EepromEmulator('eeprom_emulator') self.sensor = NCT75Emulator('nct75_emulator') self.pca9536 = PCA9536Emulator('pca9536_emulator') if ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, WolverineiiDef.MIXDAQT1_REG_SIZE) ipcore = MIXDAQT1SGR( axi4_bus, 'AD7175', ad717x_mvref=WolverineiiDef.AD7175_MVREF, code_polar=WolverineiiDef.AD7175_CODE_POLAR, reference=WolverineiiDef.AD7175_REFERENCE, clock=WolverineiiDef.AD7175_CLOCK) self.ipcore = ipcore else: self.ipcore = ipcore self.ad7175 = self.ipcore.ad717x self.ad7175.config = { 'ch0': { 'P': 'AIN0', 'N': 'AIN1' }, 'ch1': { 'P': 'AIN2', 'N': 'AIN3' } } else: self.ad7175 = MIXAd7175SGEmulator('mix_ad7175_sg_emulator', WolverineiiDef.EMULATOR_REG_SIZE) self.mode = 'cal' self.measure_path = dict() super(WolverineII, self).__init__(self.eeprom, self.sensor, cal_table=wolverineii_calibration_info, range_table=wolverineii_range_table)
def __init__(self, i2c, ad7175=None, ipcore=None): self.eeprom = CAT24C32(Scope002006Def.EEPROM_DEV_ADDR, i2c) self.sensor = NCT75(Scope002006Def.SENSOR_DEV_ADDR, i2c) if ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, Scope002006Def.MIX_DAQT1_REG_SIZE) ipcore = MIXDAQT1SGR( axi4_bus, 'AD7175', ad717x_mvref=Scope002006Def.AD7175_MVREF, code_polar=Scope002006Def.AD7175_CODE_POLAR, reference=Scope002006Def.AD7175_REFERENCE_SOURCE, buffer_flag=Scope002006Def.AD7175_BUFFER_FLAG, clock=Scope002006Def.AD7175_CLOCK, use_spi=False, use_gpio=True) ipcore.ad717x.config = {"ch0": {"P": "AIN0", "N": "AIN1"}} self.ad7175 = ipcore.ad717x self.gpio = ipcore.gpio self.tag_pins = [ Pin(self.gpio, Scope002006Def.TAG_BASE_PIN + x, Scope002006Def.GPIO_OUTPUT_DIR) for x in xrange(4) ] elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, Scope002006Def.AD7175_REG_SIZE) ad7175 = MIXAd7175SG( axi4_bus, mvref=Scope002006Def.AD7175_MVREF, code_polar=Scope002006Def.AD7175_CODE_POLAR, reference=Scope002006Def.AD7175_REFERENCE_SOURCE, buffer_flag=Scope002006Def.AD7175_BUFFER_FLAG, clock=Scope002006Def.AD7175_CLOCK) ad7175.config = {"ch0": {"P": "AIN0", "N": "AIN1"}} self.ad7175 = ad7175 else: raise Scope002006Exception('Use one of aggregated IP or AD717X') super(Scope002006, self).__init__(self.eeprom, self.sensor, range_table=scope002006_range_table)
def __init__(self, i2c=None, ipcore=None): if isinstance(ipcore, basestring): daqt1_axi4_bus = AXI4LiteBus(ipcore, DMM003004ADef.MIXDAQT1_REG_SIZE) self.ip = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=DMM003004ADef.ADC_VREF_VOLTAGE_5000mV, use_spi=False, use_gpio=False) self.ad7175 = self.ip.ad717x else: self.ip = ipcore self.ad7175 = self.ip.ad717x super(DMM003004, self).__init__(i2c, ipcore, ad7175=None, eeprom_dev_addr=DMM003004ADef.EEPROM_DEV_ADDR, sensor_dev_addr=DMM003004ADef.SENSOR_DEV_ADDR, cat9555_dev_addr=DMM003004ADef.CAT9555_DEV_ADDR, range_table=dmm003004A_range_table) self.function_info = dmm003004A_function_info
def create_moonstar_dbg(ipcore_name, i2c_bus_name): moonstar_dbg = MoonstarDebuger() axi4_bus = AXI4LiteBus(ipcore_name, 9548) daqt1 = MIXDAQT1SGR(axi4_bus, ad717x_chip='AD7175', use_spi=False, use_gpio=False) if utility.is_pl_device(i2c_bus_name): axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) else: i2c_bus = I2C(i2c_bus_name) moonstar_dbg.moonstar = DMM007001(i2c_bus, daqt1) moonstar_dbg.moonstar.post_power_on_init() return moonstar_dbg
def __init__(self, ad7175=None, i2c=None, ipcore=None): if ipcore and ad7175: raise Dmm010Exception('Not allowed to use both aggregated IP and AD717X') if i2c: self.tca9538 = TCA9538(DMM010Def.TAC9538_I2C_ADDR, i2c) self.eeprom = CAT24C32(DMM010Def.CAT24C32_I2C_ADDR, i2c) self.sensor = NCT75(DMM010Def.NCT75_I2C_ADDR, i2c) else: self.tca9538 = TCA9538Emulator(DMM010Def.TAC9538_I2C_ADDR) self.eeprom = EepromEmulator("eeprom_emulator") self.sensor = NCT75Emulator("nct75_emulator") if ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, DMM010Def.MIX_DAQT1_REG_SIZE) ipcore = MIXDAQT1SGR(axi4_bus, "AD7175", ad717x_mvref=DMM010Def.ADC_VREF_VOLTAGE_5000mV, code_polar=DMM010Def.AD7175_CODE_POLAR, reference=DMM010Def.AD7175_REFERENCE_SOURCE, buffer_flag=DMM010Def.AD7175_BUFFER_FLAG, clock=DMM010Def.AD7175_CLOCK, use_spi=False, use_gpio=False) self.ad7175 = ipcore.ad717x elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, DMM010Def.PLAD7175_REG_SIZE) ad7175 = MIXAd7175SG(axi4_bus, mvref=DMM010Def.ADC_VREF_VOLTAGE_5000mV, code_polar=DMM010Def.AD7175_CODE_POLAR, reference=DMM010Def.AD7175_REFERENCE_SOURCE, buffer_flag=DMM010Def.AD7175_BUFFER_FLAG, clock=DMM010Def.AD7175_CLOCK) self.ad7175 = ad7175 else: self.ad7175 = MIXAd7175SGEmulator('ad7175_emulator', DMM010Def.ADC_VREF_VOLTAGE_5000mV) self.ad7175.config = { "ch0": {"P": "AIN0", "N": "AIN1"}, "ch1": {"P": "AIN2", "N": "AIN3"} } super(DMM010001, self).__init__(self.eeprom, self.sensor, cal_table=dmm010_calibration_info, range_table=dmm010_range_table) self.continuous_sample_channel = None self.measure_path = None
def create_wolverineii_dbg(ipcore_name, i2c_bus_name): wolverineii_dbg = WolverineiiDebuger() daqt1 = None if ipcore_name != '': axi4_bus = AXI4LiteBus(ipcore_name, 9548) daqt1 = MIXDAQT1SGR(axi4_bus, 'AD7175', use_spi=True, use_gpio=False) if i2c_bus_name == '': i2c_bus = None else: if utility.is_pl_device(i2c_bus_name): axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) else: i2c_bus = I2C(i2c_bus_name) wolverineii_dbg.wolverineii = WolverineII(i2c_bus, daqt1) wolverineii_dbg.wolverineii.module_init() return wolverineii_dbg
def create_dmm003004A_dbg(ipcore_name, vref, i2c_bus_name): dmm003004A_dbg = DMM003004ADebuger() daqt1 = None if ipcore_name != '': axi4_bus = AXI4LiteBus(ipcore_name, 9548) daqt1 = MIXDAQT1SGR(axi4_bus, ad717x_chip='AD7175', ad717x_mvref=vref, use_spi=False, use_gpio=False) if i2c_bus_name == '': i2c_bus = None else: if utility.is_pl_device(i2c_bus_name): axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) else: i2c_bus = I2C(i2c_bus_name) dmm003004A_dbg.dmm003004A = DMM003004A(i2c_bus, daqt1) dmm003004A_dbg.dmm003004A.module_init() return dmm003004A_dbg
def create_psu_dbg(i2c_ext, i2c_power, ad7175_bus_name, ipcore, i2c_ext_use_tca9548_ch, i2c_power_use_tca9548_ch, tca9548_addr): psu_dbg = OdinDebuger() daqt1 = None ad7175 = None if ipcore != '': axi4_bus = AXI4LiteBus(ipcore, 9548) daqt1 = MIXDAQT1SGR(axi4_bus, ad717x_mvref=2500, use_spi=False, use_gpio=False) elif ad7175_bus_name != '': axi4_bus = AXI4LiteBus(ad7175_bus_name, 256) ad7175 = MIXAd7175SG(axi4_bus, 2500) if i2c_ext != '': if 'AXI4' in i2c_ext or 'MIX' in i2c_ext: axi4_bus = AXI4LiteBus(i2c_ext, 256) i2c_bus_ext = MIXI2CSG(axi4_bus) else: i2c_bus_ext = I2C(i2c_ext) if i2c_power != '': if 'AXI4' in i2c_power or 'MIX' in i2c_power: axi4_bus = AXI4LiteBus(i2c_power, 256) i2c_bus_power = MIXI2CSG(axi4_bus) else: i2c_bus_power = I2C(i2c_power) if i2c_ext_use_tca9548_ch != '' or i2c_power_use_tca9548_ch != '': tca9548_i2c = TCA9548(int(tca9548_addr), i2c_bus_ext) if i2c_ext_use_tca9548_ch != '': i2c_bus_ext = I2CDownstreamBus(tca9548_i2c, int(i2c_ext_use_tca9548_ch)) if i2c_power_use_tca9548_ch != '': i2c_bus_power = I2CDownstreamBus(tca9548_i2c, int(i2c_power_use_tca9548_ch)) psu_dbg.psu = Odin(i2c_bus_ext, i2c_bus_power, ad7175, daqt1) psu_dbg.psu.module_init() return psu_dbg
def __init__(self, i2c, ad7175=None, ipcore=None): if ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, Scope002006Def.MIX_DAQT1_REG_SIZE) ipcore = MIXDAQT1SGR( axi4_bus, 'AD7175', ad717x_mvref=Scope002006Def.AD7175_MVREF, code_polar=Scope002006Def.AD7175_CODE_POLAR, reference=Scope002006Def.AD7175_REFERENCE_SOURCE, buffer_flag=Scope002006Def.AD7175_BUFFER_FLAG, clock=Scope002006Def.AD7175_CLOCK, use_spi=False, use_gpio=False) ipcore.ad717x.config = {"ch0": {"P": "AIN0", "N": "AIN1"}} self.ad7175 = ipcore.ad717x elif ad7175: if isinstance(ad7175, basestring): axi4_bus = AXI4LiteBus(ad7175, Scope002006Def.AD7175_REG_SIZE) ad7175 = MIXAd7175SG( axi4_bus, mvref=Scope002006Def.AD7175_MVREF, code_polar=Scope002006Def.AD7175_CODE_POLAR, reference=Scope002006Def.AD7175_REFERENCE_SOURCE, buffer_flag=Scope002006Def.AD7175_BUFFER_FLAG, clock=Scope002006Def.AD7175_CLOCK) ad7175.config = {"ch0": {"P": "AIN0", "N": "AIN1"}} self.ad7175 = ad7175 else: ad7175 = MIXAd7175SGEmulator('ad7175_emulator', 2500) ad7175.config = {"ch0": {"P": "AIN0", "N": "AIN1"}} self.ad7175 = ad7175 super(Scope002006, self).__init__(i2c, ad7175, ipcore, Scope002006Def.EEPROM_DEV_ADDR, Scope002006Def.SENSOR_DEV_ADDR, scope002006_calibration_info, scope002006_range_table)
def create_elektra_dbg(i2c_name, spi_name, ad717x_name, gpio_id, ipcore_name): scope_dbg = ElektraDebuger() if i2c_name == '': i2c_bus = None else: if utility.is_pl_device(i2c_name): axi4_bus = AXI4LiteBus(i2c_name, 256) i2c_bus = MIXI2CSG(axi4_bus) else: i2c_bus = I2C(i2c_name) if spi_name == '': spi_bus = None else: axi4_bus = AXI4LiteBus(spi_name, 8192) spi_bus = MIXQSPISG(axi4_bus) ipcore = None ad7175 = None vref = 5000 if ipcore_name != '': axi4_bus = AXI4LiteBus(ipcore_name, 9548) ipcore = MIXDAQT1SGR(axi4_bus, ad717x_mvref=vref, use_spi=True, use_gpio=False) elif ad717x_name != '': axi4_bus = AXI4LiteBus(ad717x_name, 256) ad7175 = MIXAd7175SG(axi4_bus, vref) if gpio_id == '': gpio_bus = None else: io = GPIO(gpio_id, "output") gpio_bus = Pin(io, gpio_id, "output") scope_dbg.elektra = EL004002A(i2c=i2c_bus, spi=spi_bus, ad7175=ad7175, gpio=gpio_bus, ipcore=ipcore) return scope_dbg
def __init__(self, i2c, ipcore): self.eeprom = CAT24C32(WolverineiiDef.EEPROM_DEV_ADDR, i2c) self.sensor = NCT75(WolverineiiDef.SENSOR_DEV_ADDR, i2c) self.pca9536 = PCA9536(WolverineiiDef.IO_EXP_DEV_ADDR, i2c) if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, WolverineiiDef.MIXDAQT1_REG_SIZE) ipcore = MIXDAQT1SGR(axi4_bus, 'AD7175', ad717x_mvref=WolverineiiDef.AD7175_MVREF, code_polar=WolverineiiDef.AD7175_CODE_POLAR, reference=WolverineiiDef.AD7175_REFERENCE, clock=WolverineiiDef.AD7175_CLOCK, use_gpio=True) self.ipcore = ipcore self.ad7175 = self.ipcore.ad717x self.ad7175.config = { 'ch0': { 'P': 'AIN0', 'N': 'AIN1' }, 'ch1': { 'P': 'AIN2', 'N': 'AIN3' } } self.measure_path = dict() self.continuous_sample_mode = None self.gpio = ipcore.gpio self.tag_pins = [ Pin(self.gpio, WolverineiiDef.TAG_BASE_PIN + x, WolverineiiDef.GPIO_OUTPUT_DIR) for x in range(4) ] super(WolverineII, self).__init__(self.eeprom, self.sensor, range_table=wolverineii_range_table)
def create_ad9832_dbg(dev_name): ad9832_dbg = AD9832Debuger() if dev_name == '': spi_bus = None elif 'DAQT1' in dev_name: axi4_bus = AXI4LiteBus(dev_name, 0x8000) daqt1 = MIXDAQT1SGR(axi4_bus=axi4_bus, ad717x_chip='AD7175', ad717x_mvref=5000, use_spi=True, use_gpio=False) spi_bus = daqt1.spi else: axi4_bus = AXI4LiteBus(dev_name, PLSPIDef.REG_SIZE) spi_bus = MIXQSPISG(axi4_bus) spi_bus.set_speed(400000) spi_bus.mode = 'MODE1' ad9832_dbg.ad9832 = AD9832(spi_bus) return ad9832_dbg
def create_dagger_dbg(ip_name, i2c_name, ad717x_name): dagger_dbg = None if utility.is_pl_device(i2c_name): axi4_bus = AXI4LiteBus(i2c_name, 256) i2c = MIXI2CSG(axi4_bus) else: i2c = I2C(i2c_name) if ip_name == '': axi4_bus = AXI4LiteBus(ad717x_name, 0x8000) ad717x = MIXAd7175SG(axi4_bus, 5000) dagger_dbg = DaggerDebugger(Dagger(i2c, ad717x)) else: axi4_bus = AXI4LiteBus(ip_name, 256) mix_daqt1 = MIXDAQT1SGR(axi4_bus, ad717x_mvref=5000, use_spi=False, use_gpio=False) dagger_dbg = DaggerDebugger(Dagger(i2c, ipcore=mix_daqt1)) return dagger_dbg
def create_hppsu001002_dbg(i2c_bus_name, axi4_bus_name, gpio_device_name, fault_pin_id): hppsu001002_dbg = HPPSU001002Debugger() if i2c_bus_name == '': i2c_bus = None else: i2c_bus = I2C(i2c_bus_name) if gpio_device_name == '': fault_pin = GPIO(int(fault_pin_id)) else: axi4_bus = AXI4LiteBus(gpio_device_name, 256) gpio = PLGPIO(axi4_bus) fault_pin = Pin(gpio, int(fault_pin_id)) if axi4_bus_name == '': daqt1 = MIXDAQT1Emulator(axi4_bus=None, ad717x_chip='AD7175', ad717x_mvref=5000, use_spi=False, use_gpio=False) ad7175 = None elif 'MIX_DAQT' in axi4_bus_name or 'MIX_AD717X_SG' in axi4_bus_name: daqt1_axi4_bus = AXI4LiteBus(axi4_bus_name, 65535) daqt1 = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=5000, use_spi=False, use_gpio=False) ad7175 = None else: daqt1 = None ad717x_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x4000) ad7175 = MIXAd7175SG(ad717x_axi4_bus, 5000) hppsu001002_dbg.hppsu = HPPSU001002(i2c=i2c_bus, ad7175=ad7175, fault_pin=fault_pin, ipcore=daqt1) hppsu001002_dbg.hppsu.module_init() return hppsu001002_dbg
def create_omega_dbg(axi4_bus_name, spi_axi4_bus_name, i2c_bus_name): omega = OmegaDebuger() if axi4_bus_name == '': daqt1 = MIXDAQT1SGREmulator(axi4_bus=None, ad717x_chip='AD7175', ad717x_mvref=5000, use_spi=True, use_gpio=False) ad7175 = None spi_bus = None elif 'DAQT1' in axi4_bus_name: daqt1_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8000) daqt1 = MIXDAQT1SGR(axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=5000, use_spi=True, use_gpio=False) ad7175 = None spi_bus = None else: daqt1 = None ad717x_axi4_bus = AXI4LiteBus(axi4_bus_name, 0x8192) ad7175 = MIXAd7175SG(ad717x_axi4_bus, 5000) if spi_axi4_bus_name == '': spi_bus = None else: spi_axi4_bus = AXI4LiteBus(spi_axi4_bus_name, 0x8192) spi_bus = PLSPIBus(spi_axi4_bus) if i2c_bus_name == '': i2c_bus = None else: axi4_bus = AXI4LiteBus(i2c_bus_name, 256) i2c_bus = MIXI2CSG(axi4_bus) omega.omega = Omega(i2c=i2c_bus, ip=daqt1, ad7175=ad7175, spi=spi_bus) return omega
def __init__(self, i2c, ad7177=None, ipcore=None): if ipcore: if isinstance(ipcore, basestring): axi4_bus = AXI4LiteBus(ipcore, CloakDef.MIX_DAQT1_REG_SIZE) ipcore = MIXDAQT1SGR( axi4_bus, 'AD7177', ad717x_mvref=CloakDef.AD7177_MVREF, code_polar=CloakDef.AD7177_CODE_POLAR, reference=CloakDef.AD7177_REFERENCE_SOURCE, buffer_flag=CloakDef.AD7177_BUFFER_FLAG, clock=CloakDef.AD7177_CLOCK, use_spi=False, use_gpio=True) self.gpio = ipcore.gpio self.tag_pins = [ Pin(self.gpio, CloakDef.TAG_BASE_PIN + x, CloakDef.GPIO_OUTPUT_DIR) for x in xrange(4) ] elif ad7177: if isinstance(ad7177, basestring): axi4_bus = AXI4LiteBus(ad7177, CloakDef.AD7177_REG_SIZE) ad7177 = MIXAd7177SG( axi4_bus, mvref=CloakDef.AD7177_MVREF, code_polar=CloakDef.AD7177_CODE_POLAR, reference=CloakDef.AD7177_REFERENCE_SOURCE, buffer_flag=CloakDef.AD7177_BUFFER_FLAG, clock=CloakDef.AD7177_CLOCK) else: ad7177 = MIXAd7177SGEmulator('mix_ad7177_sg_emulator', 2500) super(Cloak, self).__init__(i2c, ad7177, ipcore, CloakDef.EEPROM_DEV_ADDR, CloakDef.SENSOR_DEV_ADDR, cloak_calibration_info, cloak_range_table)
def __init__(self, i2c, spi=None, ad7175=None, ipcore=None, eeprom_dev_addr=OmegaDef.EEPROM_DEV_ADDR, sensor_dev_addr=OmegaDef.SENSOR_DEV_ADDR, cat9555_dev_addr=OmegaDef.CAT9555_DEV_ADDR, cal_info=None, range_table=None): if ipcore and ad7175: raise OmegaException( 'Not allowed to use both aggregated IP and AD7175 at the same time' ) elif ipcore and spi: raise OmegaException( 'Not allowed to use both aggregated IP and MIXQSPI at the same time' ) if i2c: self.eeprom = CAT24C32(eeprom_dev_addr, i2c) self.sensor = NCT75(sensor_dev_addr, i2c) self.cat9555 = CAT9555(cat9555_dev_addr, i2c) else: self.eeprom = EepromEmulator("eeprom_emulator") self.sensor = NCT75Emulator("nct75_emulator") self.cat9555 = CAT9555Emulator(cat9555_dev_addr, None, None) if ipcore is None: if isinstance(ad7175, basestring): ad717x_axi4_bus = AXI4LiteBus(ad7175, OmegaDef.PLAD7175_REG_SIZE) ad7175 = MIXAd7175SG(ad717x_axi4_bus, OmegaDef.ADC_VREF_VOLTAGE_5000mV) elif ad7175: self.ad7175 = ad7175 else: self.ad7175 = MIXAd7175SGEmulator( "mix_ad7175_sg_emulator", OmegaDef.ADC_VREF_VOLTAGE_5000mV) self.spi = spi or PLSPIBusEmulator('spi_emulator', OmegaDef.SPI_REG_SIZE) self.ad9832 = AD9832( self.spi) if self.spi is not None else AD9832Emulator( "ad9832_emulator") else: if isinstance(ipcore, basestring): daqt1_axi4_bus = AXI4LiteBus(ipcore, OmegaDef.MIXDAQT1_REG_SIZE) ipcore = MIXDAQT1SGR( axi4_bus=daqt1_axi4_bus, ad717x_chip='AD7175', ad717x_mvref=OmegaDef.ADC_VREF_VOLTAGE_5000mV, use_spi=True, use_gpio=False) self.ipcore = ipcore self.spi = self.ipcore.spi self.ad7175 = self.ipcore.ad717x self.ad9832 = AD9832( self.spi) if self.spi is not None else AD9832Emulator( "ad9832_emulator") self.line_select = None self.ad7175.config = { "ch0": { "P": "AIN0", "N": "AIN1" }, "ch1": { "P": "AIN2", "N": "AIN3" } } super(OmegaBase, self).__init__(self.eeprom, self.sensor, cal_table=cal_info, range_table=range_table) # RMS Voltage of DDS Output wave during board initialization self.dds_value_dict = { '20Hz': None, '100Hz': None, '200Hz': None, '1kHz': None, '10kHz': None, '30kHz': None, '100kHz': None, } self.omega_line_select = omega_line_select # calibration info self.omega_calibration_info = omega_calibration_info