Beispiel #1
0
def create_ltc2378_dbg(meter_dev, bus_dev, audio_dev, adc_volt_range):
    ltc2378_dbg = LTC2378Debuger()
    if meter_dev == '':
        meter_bus = None
    else:
        if utility.is_pl_device(meter_dev):
            axi4_bus = AXI4LiteBus(meter_dev, 1024)
            meter_bus = MIXSignalMeterSG(axi4_bus)
        else:
            meter_bus = MIXSignalMeterSG(meter_dev)
    if bus_dev == '':
        spi_adc_bus = None
    else:
        if utility.is_pl_device(bus_dev):
            adc_bus = AXI4LiteBus(bus_dev, 256)
            spi_adc_bus = PLSPIADC(adc_bus)
        else:
            spi_adc_bus = PLSPIADC(adc_bus)
    if audio_dev == '':
        audio_bus = None
    else:
        if utility.is_pl_device(audio_dev):
            axi4_bus = AXI4LiteBus(audio_dev, 65536)
            audio_bus = MIXFftAnalyzerSG(axi4_bus)
        else:
            audio_bus = MIXFftAnalyzerSG(axi4_bus)
    ltc2378_dbg.ltc2378 = LTC2378(
        meter_bus, spi_adc_bus, audio_bus, adc_volt_range)
    return ltc2378_dbg
Beispiel #2
0
def create_mixboard_dbg(eeprom_addr, eeprom_bus_name, nct_addr, nct_bus_name,
                        cal_table, range_table):
    mixboard_dbg = MIXBoardDebuger()
    if eeprom_bus_name == "":
        eeprom = None
    else:
        if utility.is_pl_device(eeprom_bus_name):
            axi4_bus = AXI4LiteBus(eeprom_bus_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(eeprom_bus_name)
        eeprom = AT24C08(eeprom_addr, i2c_bus)

    if nct_bus_name == "":
        nct = None
    else:
        if utility.is_pl_device(nct_bus_name):
            axi4_bus = AXI4LiteBus(nct_bus_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(nct_bus_name)
        nct = NCT75(nct_addr, nct_bus_name)

    mixboard_dbg._mix = MIXBoard(eeprom, nct, cal_table, range_table)
    return mixboard_dbg
Beispiel #3
0
def create_sgmoduledriver_dbg(eeprom_addr, eeprom_bus_name, nct_addr,
                              nct_bus_name, range_table):
    sgmoduledriver_dbg = SGModuleDriverDebuger()
    if eeprom_bus_name == "":
        eeprom = None
    else:
        if utility.is_pl_device(eeprom_bus_name):
            axi4_bus = AXI4LiteBus(eeprom_bus_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(eeprom_bus_name)
        eeprom = AT24C08(eeprom_addr, i2c_bus)

    if nct_bus_name == "":
        nct = None
    else:
        if utility.is_pl_device(nct_bus_name):
            axi4_bus = AXI4LiteBus(nct_bus_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(nct_bus_name)
        nct = NCT75(nct_addr, nct_bus_name)

    sgmoduledriver_dbg._mix = SGModuleDriver(eeprom, nct, range_table)
    return sgmoduledriver_dbg
Beispiel #4
0
def create_uel001003a_dbg(i2c_bus_name, spi_bus_name, gpio_device_name,
                          switch_pin_id):
    uel001003a_dbg = UEL001003ADebuger()

    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)

    if spi_bus_name == '':
        spi_bus_name = None
    else:
        axi4_bus = AXI4LiteBus(spi_bus_name, 8192)
        spi_bus = MIXQSPISG(axi4_bus)

    if gpio_device_name == '':
        gpio_switch = GPIO(int(switch_pin_id), "output")
    else:
        axi4_bus = AXI4LiteBus(gpio_device_name, 256)
        gpio = MIXGPIOSG(axi4_bus)
        gpio_switch = Pin(gpio, int(switch_pin_id))

    uel001003a_dbg.uel001003a = UEL001003A(i2c=i2c_bus,
                                           spi=spi_bus,
                                           gpio_switch=gpio_switch)

    return uel001003a_dbg
Beispiel #5
0
def create_bus(dev_name, bus_type):
    if dev_name == '':
        return None

    if bus_type == 'i2c':
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            bus = MIXI2CSG(axi4_bus)
        else:
            bus = I2C(dev_name)
    elif bus_type == 'spi':
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLSPIDef.REG_SIZE)
            bus = MIXQSPISG(axi4_bus)
        else:
            raise NotImplementedError('PS SPI not implement yet!')
    return bus
Beispiel #6
0
def create_bus(dev_name):
    if dev_name == '':
        return None

    if utility.is_pl_device(dev_name):
        axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
        i2c_bus = MIXI2CSG(axi4_bus)
    else:
        i2c_bus = I2C(dev_name)
    return i2c_bus
Beispiel #7
0
def create_ad5781_dbg(dev_name, mvref_p, mvref_n):
    ad5781_dbg = AD5781Debuger()
    if dev_name == '':
        spi_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLSPIDef.REG_SIZE)
            spi_bus = MIXQSPISG(axi4_bus)

    ad5781_dbg.ad5781 = AD5781(mvref_p, mvref_n, spi_bus)
    return ad5781_dbg
def create_sg2251pw01pca_dbg(ip_name, signal_source_name, io_name, pin,
                             i2c_name):
    sg2251pw01pca_dbg = None
    if utility.is_pl_device(i2c_name):
        axi4_bus = AXI4LiteBus(i2c_name, 256)
        i2c = PLI2CBus(axi4_bus)
    else:
        i2c = I2C(i2c_name)
    sg2251pw01pca_dbg.sg2251pw01pca = SG2251PW01PCA(i2c)

    return sg2251pw01pca_dbg
Beispiel #9
0
def create_gpio_dbg(dev_name, reg_size):
    gpio_dbg = MIXGPIOSGDebuger()
    if dev_name == '':
        gpio_dbg.gpio = MIXGPIOSGEmulator(dev_name, reg_size)
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, reg_size)
        else:
            raise NotImplementedError('PS gpio not implement yet!')
        gpio_dbg.gpio = MIXGPIOSG(axi4_bus)
    return gpio_dbg
Beispiel #10
0
def create_bus(dev_name):
    if dev_name == '':
        return None

    if utility.is_pl_device(dev_name):
        axi4_bus = AXI4LiteBus(dev_name, 256)
        bus = MIXQSPISG(axi4_bus)
        bus.mode = 'MODE2'
    else:
        raise NotImplementedError('PS SPI not implement yet!')
    return bus
Beispiel #11
0
def create_bh1750_dbg(dev_name, dev_addr):
    bh1750_dbg = BH1750Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    bh1750_dbg.bh1750 = BH1750(dev_addr, i2c_bus)
    return bh1750_dbg
Beispiel #12
0
def create_tmp108_dbg(dev_name, dev_addr):
    tmp108_dbg = TMP108Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    tmp108_dbg.tmp108 = TMP108(dev_addr, i2c_bus)
    return tmp108_dbg
Beispiel #13
0
def create_sn65_dbg(dev_name, dev_addr):
    sn65dbg = SN65DSI86Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    sn65dbg.sn65dsi86 = SN65DSI86(dev_addr, i2c_bus)
    return sn65dbg
Beispiel #14
0
def create_mcp4725_dbg(dev_name, device_address):
    mcp4725_dbg = MCP4725Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    mcp4725_dbg.mcp4725 = MCP4725(device_address, i2c_bus)
    return mcp4725_dbg
Beispiel #15
0
def create_ad5693_dbg(dev_name, dev_addr):
    ad5693_dbg = AD5693Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    ad5693_dbg.ad5693 = AD5693(dev_addr, i2c_bus)
    return ad5693_dbg
Beispiel #16
0
def create_pcal6524_dbg(dev_name, device_address):
    pcal6524_dbg = PCAL6524Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = PLI2CBus(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    pcal6524_dbg.pcal6524 = PCAL6524(device_address, i2c_bus)
    return pcal6524_dbg
Beispiel #17
0
def create_max6642_dbg(dev_name, dev_addr):
    max6642_dbg = MAX6642Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    max6642_dbg.max6642 = MAX6642(dev_addr, i2c_bus)
    return max6642_dbg
Beispiel #18
0
def create_adc121c021_dbg(dev_name, vref, dev_addr):
    adc121c021_dbg = ADC121C021Debuger()
    if dev_name == '':
        i2c_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLI2CDef.REG_SIZE)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(dev_name)
    adc121c021_dbg.adc121c021 = ADC121C021(dev_addr, vref, i2c_bus)
    return adc121c021_dbg
def create_sg2238_dbg(i2c1):
    sg2238_dbg = Sg2238sp02pcaDebuger()
    if i2c1 == '':
        i2c1 = None
    else:
        if utility.is_pl_device(i2c1):
            axi4_bus = AXI4LiteBus(i2c1, 256)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(i2c1)
    sg2238_dbg.sg223802 = SG2238SP02PCA(i2c_bus)

    return sg2238_dbg
Beispiel #20
0
def create_ad9628_dbg(dev_name, pdwn_ctrl, oeb_ctrl, cs_ctrl, use_cs):
    ad9628_dbg = AD9628Debuger()
    if dev_name == '':
        spi_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLSPIDef.REG_SIZE)
            spi_bus = MIXQSPISG(axi4_bus)
            spi_bus.mode = 'MODE1'
        else:
            raise NotImplementedError('ps spi bus not support')
    ad9628_dbg.ad9628 = AD9628(spi_bus, pdwn_ctrl, oeb_ctrl, cs_ctrl, use_cs)
    return ad9628_dbg
Beispiel #21
0
def create_ad9833_dbg(dev_name):
    ad9833_dbg = AD9833Debuger()
    if dev_name == '':
        spi_bus = None
    else:
        if utility.is_pl_device(dev_name):
            axi4_bus = AXI4LiteBus(dev_name, PLSPIDef.REG_SIZE)
            spi_bus = MIXQSPISG(axi4_bus)
            spi_bus.set_mode('MODE1')
        else:
            raise NotImplementedError('ps spi bus not support')
    ad9833_dbg.ad9833 = AD9833(spi_bus)
    return ad9833_dbg
Beispiel #22
0
def create_psu001003_dbg(i2c_bus_name):
    psu001003_dbg = Psu001003Debugger()
    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)
    psu001003_dbg.psu = PSU001003(i2c_bus)
    psu001003_dbg.psu.board_init()
    return psu001003_dbg
Beispiel #23
0
def create_armor_dbg(dac_i2c_bus_name, eeprom_i2c_bus_name):
    armor_dbg = ArmorDebuger()

    if dac_i2c_bus_name == '':
        dac_i2c_bus = None
    else:
        if utility.is_pl_device(dac_i2c_bus_name):
            axi4_bus = AXI4LiteBus(dac_i2c_bus_name, 256)
            dac_i2c_bus = MIXI2CSG(axi4_bus)
        else:
            dac_i2c_bus = I2C(dac_i2c_bus_name)

    if eeprom_i2c_bus_name == '':
        eeprom_i2c_bus = None
    else:
        if utility.is_pl_device(eeprom_i2c_bus_name):
            axi4_bus = AXI4LiteBus(eeprom_i2c_bus_name, 256)
            eeprom_i2c_bus = MIXI2CSG(axi4_bus)
        else:
            eeprom_i2c_bus = I2C(eeprom_i2c_bus_name)

    armor_dbg.armor = Armor(dac_i2c_bus, eeprom_i2c_bus)
    return armor_dbg
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
Beispiel #25
0
def create_warlock_dbg(ipcore_name, i2c_dev, analyzer_dev, adc_rst_pin,
                       adc_ovfl_l_pin, i2s_rx_en_pin, i2s_ch_select_pin,
                       tone_detect_pin):

    warlock_dbg = WarlockDebuger()

    if i2c_dev != '':
        if utility.is_pl_device(i2c_dev):
            axi4_bus = AXI4LiteBus(i2c_dev, 256)
            i2c_bus = MIXI2CSG(axi4_bus)
        else:
            i2c_bus = I2C(i2c_dev)
    else:
        i2c_bus = None

    if ipcore_name != '':
        ipcore = MIXMIK002SGR(ipcore_name)
        warlock_dbg.warlock = Warlock(i2c_bus, ipcore=ipcore)
    else:
        axi4 = AXI4LiteBus(analyzer_dev, 65535)
        analyzer = MIXFftAnalyzerSG(axi4)

        adc_rst_pin = GPIO(int(adc_rst_pin),
                           'output') if adc_rst_pin != "" else None
        adc_ovfl_l_pin = GPIO(int(adc_ovfl_l_pin),
                              'output') if adc_ovfl_l_pin != "" else None
        i2s_rx_en_pin = GPIO(int(i2s_rx_en_pin),
                             'output') if i2s_rx_en_pin != "" else None
        i2s_ch_select_pin = GPIO(int(i2s_ch_select_pin),
                                 'output') if i2s_ch_select_pin != "" else None
        tone_detect_pin = GPIO(int(tone_detect_pin),
                               'output') if tone_detect_pin != "" else None
        warlock_dbg.warlock = Warlock(i2c=i2c_bus,
                                      ipcore=None,
                                      analyzer=analyzer,
                                      adc_rst_pin=adc_rst_pin,
                                      adc_ovfl_l_pin=adc_ovfl_l_pin,
                                      i2s_rx_en_pin=i2s_rx_en_pin,
                                      i2s_ch_select_pin=i2s_ch_select_pin,
                                      tone_detect_pin=tone_detect_pin,
                                      upload_ch_select_pin=None,
                                      sample_rate=48000)

    return warlock_dbg
Beispiel #26
0
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
Beispiel #27
0
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_wolverine_dbg(i2c_dev_name, ad7175, range_ctrl_pin, meter_ctrl_pin,
                         ipcore):
    '''
    cmd: python dmm001003_map_tool.py  -i2c /dev/i2c-0 -rp 86 -mp 87 -ip /dev/MIX_DAQT1_0
    '''
    if utility.is_pl_device(i2c_dev_name):
        axi4_bus = AXI4LiteBus(i2c_dev_name, 256)
        i2c_bus = MIXI2CSG(axi4_bus)
    else:
        i2c_bus = I2C(i2c_dev_name)

    if range_ctrl_pin and meter_ctrl_pin:
        range_ctrl_pin = GPIO(pin_id=int(range_ctrl_pin), default_dir='output')
        meter_ctrl_pin = GPIO(pin_id=int(meter_ctrl_pin), default_dir='output')
    else:
        print "Invalid parameter, please check"

    wolverine_dbg = WolverineDebugger(
        Wolverine(i2c_bus, ad7175, range_ctrl_pin, meter_ctrl_pin, ipcore))
    return wolverine_dbg
Beispiel #29
0
def create_iceman_dbg(ip_name, signal_source_name, io_name, pin, i2c_name):
    iceman_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(signal_source_name, 256)
        signal_source = MIXSignalSourceSG(axi4_bus)
        axi4_bus = AXI4LiteBus(io_name, 256)
        pl_gpio = MIXGPIOSG(axi4_bus)
        iceman_dbg = IcemanDebugger()
        iceman_dbg.iceman = Iceman(i2c, signal_source, Pin(pl_gpio, pin))
    else:
        axi4_bus = AXI4LiteBus(ip_name, 0x8000)
        mix_sgt1 = MIXSGT1SGR(axi4_bus)
        iceman_dbg = IcemanDebugger()
        iceman_dbg.iceman = Iceman(i2c, ipcore=mix_sgt1)
    return iceman_dbg
Beispiel #30
0
def create_dbg(file, uart, i2c_bus_name, plgpio, pull_up_pin_num,
               pull_down_pin_num, tx_en_pin_num, removal_det_pin_num,
               connect_det_pin_num, a0_pin_id, a1_pin_id, a2_pin_id,
               elaod_en_pin_id):
    dbg = DarkBeastDebuger()

    firmware_path = file
    pl_uart_drv_ko_file = uart

    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)

    if plgpio == '':
        gpio = None
    else:
        axi4_bus = AXI4LiteBus(plgpio, 256)
        gpio = MIXGPIOSG(axi4_bus)

    pull_up_pin = GPIO(int(pull_up_pin_num))
    pull_down_pin = GPIO(int(pull_down_pin_num))
    tx_en_pin = GPIO(int(tx_en_pin_num))
    removal_det_pin = GPIO(int(removal_det_pin_num))
    connect_det_pin = GPIO(int(connect_det_pin_num))

    cat9555 = CAT9555(0x20, i2c_bus)
    a0_pin = Pin(cat9555, a0_pin_id)
    a1_pin = Pin(cat9555, a1_pin_id)
    a2_pin = Pin(cat9555, a2_pin_id)
    elaod_en_pin = Pin(cat9555, elaod_en_pin_id)
    dbg.darkbeast = DarkBeast(firmware_path, pl_uart_drv_ko_file, i2c_bus,
                              gpio, pull_up_pin, pull_down_pin, tx_en_pin,
                              removal_det_pin, connect_det_pin, a0_pin, a1_pin,
                              a2_pin, elaod_en_pin)
    return dbg