def set_156_to_188(maroc3_id,value): if value=="undef": return 1,"ok" retcode,res = common_roc.load_str(value,33,True) if retcode==0: return 0,"Error reading value to be applied: %s"%(res) return common_roc.apply_to_roc(maroc3_pool,maroc3_id,common_roc.apply_mask,"set 156 to 188 bits",156,res)
def config_spiroc(spiroc_id,file,bitstream,gtrigger,masktrig,nomasktrig): "prepare the bitstream for configuring a chip" try: spiroc = spiroc_pool.get(spiroc_id) except Exception as e: submod.setres(0,"spiroc: spiroc_%s" % (str(e))) return spiroc["missing"]=False #empty the bitstream spiroc["bitstream"]="" #load bitstream if bitstream!="undef": retcode,res = common_roc.load_str(bitstream,spiroc_bs_length) if retcode==0: submod.setres(0,"spiroc: cant parse bitstream: %s"%(res)) return spiroc["bitstream"]=res #load bitstream from file if file!="undef": retcode,res = common_roc.load_file(file,spiroc_bs_length) if retcode==0: submod.setres(0,"spiroc: cant open config file: %s"%(res)) return spiroc["bitstream"]=res if spiroc["bitstream"]=="": submod.setres(0,"spiroc: no bitstream defined for spiroc %s"%(spiroc_id)) return #set chip id # retcode,res = set_chipid(spiroc_id,spiroc) # if retcode==0: # submod.setres(0,"cant set chipid: %s"%(res)) # return #set global trigger threshold retcode,res = set_gtrigger(spiroc_id,gtrigger) if retcode==0: submod.setres(0,"spiroc: cant set trigger threshold: %s"%(res)) return # allows to mask trigger retcode,res = allow_trig_chans(spiroc_id,masktrig) if retcode==0: submod.setres(0,"spiroc: cant allow to mask masktrig: %s"%(res)) return # disallows to mask trigger retcode,res = disallow_trig_chans(spiroc_id,nomasktrig) if retcode==0: submod.setres(0,"spiroc: cant disallows to mask nomasktrig: %s"%(res)) return #return result submod.setres(1,"ok")
def config_maroc3(maroc3_id,file,bitstream,pp_bandgap,pp_dacs,small_dac,dac0,dac1,wlk_out_adc,wlk_inv_counter,wlk_ramp_8bit,wlk_ramp_10bit,from_156_to_188): "Prepare the bitstream for configuring a chip" try: maroc3 = maroc3_pool.get(maroc3_id) except Exception as e: submod.setres(0,"maroc3: maroc3_%s" % (str(e))) return maroc3["missing"] = False #empty the bitstream maroc3["bitstream"]="" #load bitstream if bitstream!="undef": retcode,res=common_roc.load_str(bitstream,maroc3_bs_length,True) if retcode==0: submod.setres(0,"maroc3: cant parse bitstream: %s"%(res)) return maroc3["bitstream"]=res #load bitstream from file if file!="undef": retcode,res=common_roc.load_file(file,maroc3_bs_length,True) if retcode==0: submod.setres(0,"maroc3: cant open config file: %s"%(res)) return maroc3["bitstream"]=res if maroc3["bitstream"]=="": submod.setres(0,"maroc3: no bitstream defined for maroc3 %s"%(maroc3_id)) return # set pp gandagp retcode,res = set_pp_bandgap(maroc3_id,pp_bandgap) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set pp dacs retcode,res = set_pp_dacs(maroc3_id,pp_dacs) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set small dac value retcode,res = set_small_dac(maroc3_id,small_dac) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set dac0 value retcode,res = set_dac0(maroc3_id,dac0) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set dac1 value retcode,res = set_dac1(maroc3_id,dac1) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set Wilkinson data output retcode,res = set_data_output_wlk(maroc3_id,wlk_out_adc) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set Wilkinson invert counter retcode,res = set_inv_start_counter_wlk(maroc3_id,wlk_inv_counter) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set 8bit Wilkinson ramp retcode,res = set_8bit_ramp_wlk(maroc3_id,wlk_ramp_8bit) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set 10bit Wilkinson ramp retcode,res = set_10bit_ramp_wlk(maroc3_id,wlk_ramp_10bit) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return # set bits from 156 to 188 (33bits) retcode,res = set_156_to_188(maroc3_id,from_156_to_188) if retcode==0: submod.setres(0,"maroc3: %s"%(res)) return #return result submod.setres(1,"ok")
def config_skiroc(skiroc_id,file,bitstream,gtrigger,delay,fbcap,start_ro,end_ro,preamp,nopreamp,calcap,nocalcap,leak,noleak,masktrig,nomasktrig): "Prepare the bitstream for configuring a chip" try: skiroc = skiroc_pool.get(skiroc_id) except Exception as e: submod.setres(0,"skiroc: skiroc_%s" % (str(e))) return #empty the bitstream skiroc["bitstream"]="" #load bitstream if bitstream!="undef": retcode,res=common_roc.load_str(bitstream,skiroc_bs_length) if retcode==0: submod.setres(0,"skiroc: cant parse bitstream: %s"%(res)) return skiroc["bitstream"]=res #load bitstream from file if file!="undef": retcode,res=common_roc.load_file(file,skiroc_bs_length) if retcode==0: submod.setres(0,"skiroc: cant open config file: %s"%(res)) return skiroc["bitstream"]=res if skiroc["bitstream"]=="": submod.setres(0,"skiroc: no bitstream defined for skiroc %s"%(skiroc_id)) return #set chip id retcode,res=set_chipid(skiroc_id,skiroc) if retcode==0: submod.setres(0,"skiroc: cant set chipid: %s"%(res)) return #set global trigger threshold retcode,res=set_gtrigger(skiroc_id,gtrigger) if retcode==0: submod.setres(0,"skiroc: cant set trigger threshold: %s"%(res)) return #set delay retcode,res=set_delay(skiroc_id,delay) if retcode==0: submod.setres(0,"skiroc: cant set delay: %s"%(res)) return #set fbcap retcode,res=set_fbcap(skiroc_id,fbcap) if retcode==0: submod.setres(0,"skiroc: cant set fbcap: %s"%(res)) return #set start_ro retcode,res=set_start_ro(skiroc_id,start_ro) if retcode==0: submod.setres(0,"skiroc: cant set start_ro: %s"%(res)) return #set end_ro retcode,res=set_end_ro(skiroc_id,end_ro) if retcode==0: submod.setres(0,"skiroc: cant set end_ro: %s"%(res)) return #enable charge preamp retcode,res=enable_preamp_chans(skiroc_id,preamp) if retcode==0: submod.setres(0,"skiroc: cant enable preamp: %s"%(res)) return # enable calibration capacitor retcode,res=enable_calib_chans(skiroc_id,calcap) if retcode==0: submod.setres(0,"skiroc: cant enable calcap: %s"%(res)) return # allows to mask trigger retcode,res=allow_trig_chans(skiroc_id,masktrig) if retcode==0: submod.setres(0,"skiroc: cant allow to mask masktrig: %s"%(res)) return # disallows to mask trigger retcode,res=disallow_trig_chans(skiroc_id,nomasktrig) if retcode==0: submod.setres(0,"skiroc: cant disallows to mask nomasktrig: %s"%(res)) return # disable charge preamp retcode,res=disable_preamp_chans(skiroc_id,nopreamp) if retcode==0: submod.setres(0,"skiroc: cant disable nopreamp: %s"%(res)) return # disable calibration capacitor retcode,res=disable_calib_chans(skiroc_id,nocalcap) if retcode==0: submod.setres(0,"skiroc: cant enable nocalcap: %s"%(res)) return # select high leakage current channel retcode,res=select_leak_chans(skiroc_id,leak) if retcode==0: submod.setres(0,"skiroc: cant select leak: %s"%(res)) return # unselect high leakage current channel retcode,res=unselect_leak_chans(skiroc_id,noleak) if retcode==0: submod.setres(0,"skiroc: cant select unleak: %s"%(res)) return #return result submod.setres(1,"ok")
def config_easiroc( easiroc_id, filename, bitstream, d_output, dac_code, hg_tau, lg_tau, hg_comp_capa, hg_fb_capa, lg_comp_capa, lg_fb_capa, lg_preamp_bias, ): "Prepare the bitstream for configuring a chip" try: easiroc = easiroc_pool.get(easiroc_id) except Exception as e: submod.setres(0, "easiroc: easiroc_%s" % (str(e))) return easiroc["missing"] = False # empty the bitstream easiroc["bitstream"] = "" # load bitstream if bitstream != "undef": retcode, res = common_roc.load_str(bitstream, easiroc_bs_length) if retcode == 0: submod.setres(0, "easiroc: cant parse bitstream: %s" % (res)) return easiroc["bitstream"] = res # load bitstream from file if file != "undef": retcode, res = common_roc.load_file(file, easiroc_bs_length) if retcode == 0: submod.setres(0, "easiroc: cant open config file: %s" % (res)) return easiroc["bitstream"] = res if easiroc["bitstream"] == "": submod.setres(0, "easiroc: no bitstream defined for easiroc %s" % (easiroc_id)) return retcode, res = set_d_output(easiroc_id, d_output) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_dac_code(easiroc_id, dac_code) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_hg_tau(easiroc_id, hg_tau) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_lg_tau(easiroc_id, lg_tau) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_hg_comp_capa(easiroc_id, hg_comp_capa) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_hg_fb_capa(easiroc_id, hg_fb_capa) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_lg_comp_capa(easiroc_id, lg_comp_capa) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_lg_fb_capa(easiroc_id, lg_fb_capa) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return retcode, res = set_high_lg_preamp_bias(easiroc_id) if retcode == 0: submod.setres(0, "easiroc: %s" % (res)) return submod.setres(1, "ok")