def get_mntr(dev): if dev['devdata'] == 'mod': mntr_mod = Data(io_cb=hm_SL2048_io_cb) mntr_mod.add_page('mod') mntr_mod.add('TFAULT', wdgt='alarm', msg='TFAULT') return mntr_mod if dev['devdata'] == 'demod': mntr_demod = Data(io_cb=hm_SL2048_io_cb) mntr_demod.add_page('demod') mntr_demod.add('RCD', wdgt='alarm', msg='RCD') mntr_demod.add('RDEC', wdgt='alarm', msg='RDEC') mntr_demod.add('RSYNTH', wdgt='alarm', msg='RSYNTH') mntr_demod.add('REBNO', wdgt='entry', state='readonly', pack_forget=True, msg='Eb/No') mntr_demod.add('RBER', wdgt='entry', state='readonly', pack_forget=True, msg='BER') mntr_demod.add_page('demod1') mntr_demod.add('REBNO', wdgt='entry', state='readonly', label='Eb/No') mntr_demod.add('RBER', wdgt='entry', state='readonly', label='BER') mntr_demod.add('RAGC', wdgt='entry', state='readonly', label='AGC') mntr_demod.add('RROFFSET', wdgt='entry', state='readonly', label='ROFFSET') return mntr_demod
def main(): train_data = pickle.load( open('../datasets/' + opt.dataset + '/train.txt', 'rb')) test_data = pickle.load( open('../datasets/' + opt.dataset + '/test.txt', 'rb')) if opt.dataset == 'diginetica': n_node = 43097 elif opt.dataset == 'Tmall': n_node = 40727 elif opt.dataset == 'Nowplaying': n_node = 60416 else: n_node = 309 train_data = Data(train_data, shuffle=True, n_node=n_node) test_data = Data(test_data, shuffle=True, n_node=n_node) model = trans_to_cuda( DHCN(adjacency=train_data.adjacency, n_node=n_node, lr=opt.lr, l2=opt.l2, beta=opt.beta, layers=opt.layer, emb_size=opt.embSize, batch_size=opt.batchSize, dataset=opt.dataset)) top_K = [5, 10, 20] best_results = {} for K in top_K: best_results['epoch%d' % K] = [0, 0] best_results['metric%d' % K] = [0, 0] for epoch in range(opt.epoch): print('-------------------------------------------------------') print('epoch: ', epoch) metrics, total_loss = train_test(model, train_data, test_data) for K in top_K: metrics['hit%d' % K] = np.mean(metrics['hit%d' % K]) * 100 metrics['mrr%d' % K] = np.mean(metrics['mrr%d' % K]) * 100 if best_results['metric%d' % K][0] < metrics['hit%d' % K]: best_results['metric%d' % K][0] = metrics['hit%d' % K] best_results['epoch%d' % K][0] = epoch if best_results['metric%d' % K][1] < metrics['mrr%d' % K]: best_results['metric%d' % K][1] = metrics['mrr%d' % K] best_results['epoch%d' % K][1] = epoch print(metrics) for K in top_K: print( 'train_loss:\t%.4f\tRecall@%d: %.4f\tMRR%d: %.4f\tEpoch: %d, %d' % (total_loss, K, best_results['metric%d' % K][0], K, best_results['metric%d' % K][1], best_results['epoch%d' % K][0], best_results['epoch%d' % K][1]))
def get_mntr(dev): if 'devdata' not in dev: return if dev['devdata'].find('mod') == 0: mntr_mod = Data(io_cb=cmd_io_cb, send=True) mntr_mod.add_page('Modulator') ''' mod_mntr_pages = [] mod_mntr = OD() #create_alarms('FAULT', mod_mntr, fmt_cb_fault) mod_mntr_pages.append(dict([('cmds',mod_mntr), ('update', True)])) ''' return mntr_mod elif dev['devdata'].find('demod') == 0: mntr_demod = Data(io_cb=cmd_io_cb, send=True) mntr_demod.add_page('demod0') mntr_demod.add('CD', wdgt='alarm', msg='Carrier detect', fmt_cb=cd_fmt_cb, trace_cb=alarm_trace_cb) mntr_demod.add('DEC', wdgt='alarm', msg='Decoder lock', fmt_cb=dec_fmt_cb, trace_cb=alarm_trace_cb) mntr_demod.add_page('demod1') mntr_demod.add('AGC', label='RX Level, dBm', wdgt='entry', state='readonly', fmt_cb=agc_roffset_fmt_cb) mntr_demod.add('EBNO', label='Eb/NO', wdgt='entry', state='readonly', fmt_cb=ebno_ber_fmt_cb) mntr_demod.add('ROFFSET', label='Freq. offset, Hz', wdgt='entry', state='readonly', fmt_cb=agc_roffset_fmt_cb) mntr_demod.add('BER', label='Bit error rate', wdgt='entry', state='readonly', fmt_cb=ebno_ber_fmt_cb) return mntr_demod
def get_ctrl(dev): ctrl = Data(name='Settings', send=True, io_cb=dev_io_cb) ctrl.add('channel', label='Channel selection', wdgt='radio', value=OD([('Channel A', '1'), ('Channel B', '0')])) ctrl.add('tx', label='TX enable', wdgt='radio', value=OD([('ON', '1'), ('OFF', '0')])) ctrl.add('fan', label='FAN enable', wdgt='radio', value=OD([('ON', '1'), ('OFF', '0')])) ctrl.add('thrt1', label='Threshold1, C', wdgt='spin', value=Data.spn(0, 100, 1)) ctrl.add('thrt2', label='Threshold2, C', wdgt='spin', value=Data.spn(0, 100, 1)) ctrl.add_page('System') ctrl.add('commit', label='EFC commit enable', wdgt='combo', state='readonly', value=['ON', 'OFF'], text='ON') return ctrl
def get_ctrl(dev): ctrl = Data(name='Settings', send=True, io_cb=dev_io_cb) ctrl.add('chup', label='Channel UP', wdgt='combo', state='readonly', value=OD([('Channel A', '1'), ('Channel B', '0')])) ctrl.add('chdn', label='Channel DOWN', wdgt='combo', state='readonly', value=OD([('Channel A', '1'), ('Channel B', '0')])) ctrl.add('test', label='Test signal', wdgt='combo', state='readonly', value=OD([('UC-HF', '0'), ('UC-IF', '1'), ('DC-HF', '2'), ('DC-IF', '3')])) ctrl.add_page('System') ctrl.add('commit', label='EFC commit enable', wdgt='combo', state='readonly', value=['ON', 'OFF'], text='ON') return ctrl
def get_mntr(dev): mntr = Data(name='status', send=True, io_cb=dev_io_cb) mntr.add('status', wdgt='alarm', trace_cb=alarm_trace_cb, fmt_cb=status_fmt_cb, msg='Power supply') add_status = lambda n, msg: mntr.add('status%d' % n, wdgt='alarm', send=False, trace_cb=alarm_trace_cb, fmt_cb=lambda val, read: status_fmt_cb(val, read, n), msg=msg) add_status(1, 'Ch1 (sig)') add_status(2, 'Ch2 (aux)') add_status(3, 'Ch3 (br)') add_status(4, 'Uch1 (sig) < LVL') add_status(5, 'Uch3 (br) < LVL') mntr.add_page('Vcc') mntr.add('3v', wdgt='entry', label='3V', state='readonly', msg='3V') mntr.add('11v', wdgt='entry', label='11V', state='readonly', msg='11V') mntr.add('2_5v1', wdgt='entry', label='UC 2.5V', state='readonly', msg='UC 2.5V') mntr.add('2_5v2', wdgt='entry', label='DC 2.5V', state='readonly', msg='DC 2.5V') return mntr
def train(self, sess, X_train, Y_train, X_test, Y_test,num_epochs, num_count,logs): res = 0.0 summary_writer = tf.summary.FileWriter(logs+'/train',sess.graph) summary_writer1 = tf.summary.FileWriter(logs+'/test',sess.graph) sess.run(self.init_op) datagen = util.get_generator() # 模型持久化器 saver = tf.train.Saver() batch_size = 128 print('batch_size:', batch_size) # 开始迭代 for e in range(num_epochs): yieldData = Data(X_train,Y_train) print('Epoch', e) batches = 0 if e != 0 and (e %(num_epochs-1) == 0 or e%20==0): #每迭代一定次数保存下模型 saver.save(sess, logs+'/'+str(e)+'model') #使用原始数据进行迭代 for i in range(1): for batch_X,batch_Y in yieldData.get_next_batch(batch_size): _, lossval, scoreval = sess.run([self.train_op,self.loss, self.score], feed_dict={self.X: batch_X, self.keep_prob:self.keep_prob_train, self.y:batch_Y,self.is_training:True}) summary2, accuval, scoreval, lossval = sess.run([self.merged, self.accuracy_test, self.score,self.loss], feed_dict={self.X: X_test, self.keep_prob:1, self.y:Y_test,self.is_training:False}) print("Test accuracy:", accuval) print("Test loss:",lossval) return 0
def __init__(self, dev): data = Data() Control.__init__(self, data=data, dev=dev, title='Pcl edit') io.BytesIO.__init__(self) self.io_start = lambda *args: asyncio. async (self.io.start()) self.fileext = 'pcl' self.filemode = 'r'
def get_mntr(self): data = Data(name='Monitor') data.add('az', label='Azimuth', wdgt='entry', state='readonly', send=True, cmd_cb=polus_cmd_cb) data.add('el', label='Elevation', wdgt='entry', state='readonly', send=True, cmd_cb=polus_cmd_cb) def add_alarm(k, bit, msg, cmd_cb=None): data.add(k, wdgt='alarm', send=True if cmd_cb else False, cmd_cb=cmd_cb, fmt_cb=lambda val, read: alarm_fmt_cb(val, read, bit), msg=msg, trace_cb=alarm_trace_cb) add_alarm('az+', 0, 'az+', cmd_cb=lambda *args: 'POLUS.status') add_alarm('az-', 1, 'az-') #add_alarm('limaz+', 4, 'limaz+') #add_alarm('limaz-', 5, 'limaz-') add_alarm('el+', 2, 'el+') add_alarm('el-', 3, 'el-') #add_alarm('limel+', 6, 'limel+') #add_alarm('limel-', 7, 'limel-') return data
def get_ctrl(dev): ctrl = Data(name='ctrl', send=True, io_cb=dev_io_cb) ctrl.add('test', label='TEST output', wdgt='radio', value=OD([('Synth1(679-957MHz)', '0'), ('XTAL(26MHz)', '1'), ('Synth2(151MHz)', '2')])) ctrl.add('freq', label='Output frequency, MHz', wdgt='spin', value=Data.spn(805, 831, 0.01), cmd_cb=freq_cmd_cb) ctrl.add('inv', label='Inversion', wdgt='check', fmt_cb=inv_fmt_cb, trace_cb=inv_trace_cb) ctrl.add('gain', label='Gain, dB', wdgt='spin', value=Data.spn(-10.5, 15, 0.5)) ctrl.add('thrs', label='Threshold, dBm', wdgt='spin', value=Data.spn(-40, 20, 1)) return ctrl
def get_ctrl(dev): ctrl = Data(io_cb=dev_io_cb) for i in [1, 2]: ctrl.add_page('CH%d' % i, send=True) ctrl.add('freq%d' % i, label='Frequency, MHz', wdgt='spin', value=Data.spn(950, 2150, 0.01)) ctrl.add('rfgain%d' % i, label='RF Gain, dB', wdgt='spin', value=Data.spn(0, 31.5, 0.5)) ctrl.add('bbgain%d' % i, label='BB Gain, dB', wdgt='spin', value=Data.spn(0, 50, 0.1)) ctrl.add('bblpf%d' % i, label='BB Filter, MHz', wdgt='spin', value=Data.spn(1, 30)) ctrl.add_page('Other', send=True) ctrl.add('commit', label='EFC commit enable', wdgt='combo', state='readonly', value=['ON', 'OFF']) ctrl.add('dlpf', label='Digital LPF, MHz', wdgt='combo', state='readonly', value=['0.1', '0.2', '0.5', '1', '1.5', '2', '5', '10', '20']) return ctrl
def get_ctrl(dev): ctrl = Data(io_cb=dev_io_cb) ctrl.add_page('TX', send=True) ctrl.add('txfreq', label='Frequency, MHz', wdgt='spin', value={ 'min': 232.5, 'max': 3720, 'step': 0.01 }, text='1000') ctrl.add('txlpf', label='LPF, MHz', wdgt='combo', value=LMS6002D.trxlpfbw_list, state='readonly', text='14') ctrl.add('txvga1', label='VGA1 Gain, dB', wdgt='spin', value={ 'min': -35, 'max': -4, 'step': 1 }) ctrl.add('txvga2', label='VGA2 Gain, dB', wdgt='spin', value={ 'min': 0, 'max': 25, 'step': 1 }) ctrl.add_page('RX', send=True) ctrl.add('rxfreq', label='Frequency, MHz', wdgt='spin', value={ 'min': 232.5, 'max': 3720, 'step': 0.01 }) ctrl.add('rxlpf', label='LPF, MHz', wdgt='combo', value=LMS6002D.trxlpfbw_list, state='readonly') ctrl.add('rxvga2', label='VGA2 Gain, dB', wdgt='spin', value={ 'min': 0, 'max': 30, 'step': 3 }) ctrl.menu = get_ctrl_menu(dev) #dev['spi'] = '0' return ctrl
def get_mntr(dev): mntr = Data(name='status', send=True, io_cb=dev_io_cb) mntr.add('status', wdgt='alarm', trace_cb=alarm_trace_cb, fmt_cb=status_fmt_cb, msg='Power supply') add_status = lambda n, msg: mntr.add('status%d' % n, wdgt='alarm', send=False, trace_cb=alarm_trace_cb, fmt_cb=lambda val, read: status_fmt_cb(val, read, n), msg=msg) add_status(1, 'Synth1 lock detect') add_status(2, 'Synth2 (aux) lock detect') add_status(3, 'Output level < threshold') mntr.add_page('mntr') mntr.add('5_5v', wdgt='entry', label='5.5V', state='readonly', msg='5.5V') mntr.add('txl', wdgt='entry', label='TXL', state='readonly', msg='TX signal level') return mntr
def get_ctrl(dev): ctrl = Data(name='CH1', send=True, io_cb=dev_io_cb) ctrl.add('freq', label='Frequency, MHz', wdgt='spin', value=Data.spn(1350, 1750, 0.01)) ctrl.add('rfgain', label='RF Gain, dB', wdgt='spin', value=Data.spn(0, 31.5, 0.5)) ctrl.add('bbgain', label='BB Gain, dB', wdgt='spin', value=Data.spn(0, 50, 0.1)) ctrl.add('lpf', label='Filter, MHz', wdgt='combo', state='readonly', value=['2', '4', '10', '20'], text='10') ctrl.add('commit', label='EFC commit enable', wdgt='combo', state='readonly', value=['ON', 'OFF'], text='ON') return ctrl
def get_mntr(dev, cc=None): mntr = Data(io_cb=lambda d, c, v=None: 'QD2048.cmd %s %s %s' % (d['serial'], d['addr'], c)) mntr.add_page('mntr0') aa = lambda k, send, msg: mntr.add( k, wdgt='alarm', send=send, msg=msg, cmd='FLT', fmt_cb=flt_fmt_cb) aa('CD', True, 'CD') aa('DEC', True, 'DEC') aa('RSYNTH', True, 'RSYNTH') mntr.add('EBNO', wdgt='entry', state='readonly', pack_forget=True, msg='Eb/No') mntr.add('BER', wdgt='entry', state='readonly', pack_forget=True, msg='BER') mntr.add_page('mntr1') mntr.add('EBNO', wdgt='entry', state='readonly', label='Eb/No') mntr.add('BER', wdgt='entry', state='readonly', label='BER') mntr.add('AGC', wdgt='entry', state='readonly', label='AGC') mntr.add('ROFFSET', wdgt='entry', state='readonly', label='ROFFSET') mntr.cmds.columns = 2 return mntr
def get_ctrl(dev): ctrl = Data(io_cb=cmd_serial_io_cb, send=True, name='ctrl') ctrl.add('TX', label='TX', wdgt='radio', value=['ON', 'OFF']) #ctrl.add('TXCHAN', label='TX chan', wdgt='spin', value=Data.spn(1, 501), trace_cb=chan_trace_cb) ctrl.add('TXFREQ', label='TX freq [MHz]', wdgt='spin', value=Data.spn(5925, 6475), fmt_cb=freq_gain_fmt_cb) ctrl.add('TXGAIN', label='TX gain [dB]', wdgt='spin', value=Data.spn(38, 74), fmt_cb=freq_gain_fmt_cb) #ctrl.add('RXCHAN', label='RX chan', wdgt='spin', value=Data.spn(1, 501), trace_cb=lambda k,d: chan_trace_cb(k,d,'R',3579)) ctrl.add('RXFREQ', label='RX freq [MHz]', wdgt='spin', value=Data.spn(3650, 4200), fmt_cb=freq_gain_fmt_cb) ctrl.add('RXGAIN', label='RX gain [dB]', wdgt='spin', value=Data.spn(80, 105), fmt_cb=freq_gain_fmt_cb) return ctrl
def get_mntr(dev): mntr = Data(io_cb=dev_serial_io_cb) mntr.add_page('mntr0', send=True) mntr.add('alarm', wdgt='alarm', msg='Sum Alarm', trace_cb=alarm_trace_cb) mntr.add('temp', wdgt='entry', state='readonly', msg='Temperature') mntr.add('pwr', wdgt='entry', state='readonly', msg='Power level') return mntr
def get_mntr(dev): data = Data(name='mntr', io_cb=lambda d, c: util_io_cb(d, c, prefix='ALT')) data.add('pio', label='IN', wdgt='entry', state='readonly', cmd_cb=alt_cmd_cb, send=True) return data
def get_lpf_ctrl(data=None, cmd=None): if not data: data = Data(name='LPF', io_cb=util_io_cb) if not cmd: cmd = 'lpf' data.add(cmd, label='LPF, MHz', wdgt='spin', text='15', value={'min':0, 'max':31, 'step':1}, fmt_cb=lpf_fmt_cb, cmd_cb=lpf_cmd_cb, send=True) data.add('g3', label='Preamplifier gain', wdgt='radio', text=gain_list[2][0], value=gain_list[2], fmt_cb=lambda v,r: gain_fmt_cb(v,r,2), send=False) data.add('g2', label='Postamplifier gain', wdgt='radio', text=gain_list[1][0], value=gain_list[1], fmt_cb=lambda v,r: gain_fmt_cb(v,r,1), send=False) data.add('g1', label='VGA max gain', wdgt='radio', text=gain_list[0][0], value=gain_list[0], fmt_cb=lambda v,r: gain_fmt_cb(v,r,0), send=False)
def get_mntr(dev): mntr = Data(name='status', send=True, io_cb=dev_io_cb) mntr.add('status', wdgt='alarm', trace_cb=alarm_trace_cb, fmt_cb=status_fmt_cb, msg='ChA LNA power supply') add_status = lambda n, msg: mntr.add('status%d' % n, wdgt='alarm', send=False, trace_cb=alarm_trace_cb, fmt_cb=lambda val, read: status_fmt_cb(val, read, n), msg=msg) add_status(1, 'ChB LNA power supply') add_status(2, 'Output switch power supply') add_status(3, 'AC-DC/DC-DC?') add_status(4, 'ChA power supply') add_status(5, 'ChB power supply') add_status(6, 'MCU power supply') mntr.add_page('Vcc') mntr.add('5v1', wdgt='entry', label='5V1', state='readonly', msg='5V, ChA LNA power supply') mntr.add('5v2', wdgt='entry', label='5V2', state='readonly', msg='5V, ChB LNA power supply') mntr.add('2_5v', wdgt='entry', label='2.5V', state='readonly', msg='Output switch power supply') mntr.add('26v', wdgt='entry', label='26V', state='readonly', msg='AC-DC/DC-DC?') mntr.add('12v1', wdgt='entry', label='12V1', state='readonly', msg='ChA power supply') mntr.add('12v2', wdgt='entry', label='12V2', state='readonly', msg='ChB power supply') mntr.add('5_5v', wdgt='entry', label='5_5V', state='readonly', msg='MCU power supply') return mntr
def get_mntr(dev): mntr = Data(io_cb=dev_io_cb) mntr.add_page('mntr', send=True) mntr.add('synth', wdgt='alarm', trace_cb=alarm_trace_cb, fmt_cb=synth_fmt_cb, msg='Synthesizer status') mntr.add('uout', wdgt='entry', state='readonly', msg='Uout, V') return mntr
def get_ctrl(dev): ctrl = Data(io_cb=dev_serial_io_cb, send=True, name='ctrl') ctrl.add('tx', label='Mute/unmute tx', wdgt='combo', state='readonly', value=OD([('ON', '1'), ('OFF', '0')])) ctrl.add('gain', label='Gain', wdgt='entry') ctrl.add('atten', label='Attenuation', wdgt='entry') return ctrl
def get_data(self): data = Data(name='byteswap') data.add('srcbrowse', label='Source', wdgt='button', text='Browse...', click_cb=lambda: self.fileopen_cb('src')) data.add('src', wdgt='entry', columnspan=2) data.add('destbrowse', label='Destination', wdgt='button', text='Browse...', click_cb=lambda: self.fileopen_cb('dest')) data.add('dest', wdgt='entry', columnspan=2) data.add('wordsz', label='word size in bytes', wdgt='radio', value=['2', '4'], text=4, trace_cb=self.wordsz_cb) for i in range(1, 5): data.add('b%d' % i, label='byte[%d] ->' % i, wdgt='combo', value=['1', '2', '3', '4'], text='%d' % i, state='readonly') return data
def __init__(self, dev, title='FW upgrade'): data = Data() data.dev = dev data.buttons = OD() self.txcrc32 = True self.add_tx_cmds(data, txcrc32=self.txcrc32) Control.__init__(self, data, dev, title=title) data.cmds['send'].w.configure(text='Start upgrade') self.fileext = 'bin' self.filemode = 'rb' self.io_start = lambda *args: asyncio. async (self.io.start())
def __init__(self, dev, title='File IO'): data = Data() data.dev = dev data.buttons = OD() #data.buttons['TX stop'] = self.dma_stop_cb self.add_tx_cmds(data, txcrc32=False) data.add('txstop', wdgt='button', text='TX stop', click_cb=self.dma_stop_cb) self.add_rx_cmds(data) Control.__init__(self, data, dev, title=title) self.fileext = 'pcm' self.center()
def get_mntr(dev): mntr = Data('mntr', send=True, io_cb=dev_serial_io_cb) mntr.add('pwr', wdgt='entry', state='readonly', msg='current power reading (in dBm)') mntr.add('temp', wdgt='entry', state='readonly', msg='current temperature reading') return mntr
def get_ctrl(dev): ctrl_buttons = OD([('Read', read_cb), ('Write', write_cb), ('Stop', stop_cb)]) ctrl = Data(name='Setup', buttons=ctrl_buttons) ctrl.add('limaz', label='Azimuth max.', wdgt='spin', value=Data.spn(0, 16383), send=True, fmt_cb=lambda val, read: ae0_fmt_cb(val, read, e=0), cmd_cb=polus_cmd_cb) ctrl.add('limaz2', label='Azimuth min.', wdgt='spin', value=Data.spn(0, 16383), fmt_cb=lambda val, read: ae0_fmt_cb(val, read, e=1)) ctrl.add('limel', label='Elevation max.', wdgt='spin', value=Data.spn(0, 16383), send=True, fmt_cb=lambda val, read: ae0_fmt_cb(val, read, e=2), cmd_cb=polus_cmd_cb) ctrl.add('limel2', label='Elevation min.', wdgt='spin', value=Data.spn(0, 16383), fmt_cb=lambda val, read: ae0_fmt_cb(val, read, e=3)) ctrl.add('ae0', label='New azimuth', wdgt='spin', value=Data.spn(0, 16383), send=True, fmt_cb=lambda val, read: ae0_fmt_cb(val, read, e=4), cmd_cb=polus_cmd_cb) ctrl.add('ae02', label='New elevation', wdgt='spin', value=Data.spn(0, 16383), fmt_cb=lambda val, read: ae0_fmt_cb(val, read, e=5)) ctrl.add_page('Move') ctrl.add('az', label='Azimuth', wdgt='spin', value=Data.spn(0, 16383), send=True, cmd_cb=polus_cmd_cb) ctrl.add('el', label='Elevation', wdgt='spin', value=Data.spn(0, 16383), send=True, cmd_cb=polus_cmd_cb) return ctrl
def get_ctrl(dev): ctrl = Data(name='RF', send=True, io_cb=dev_io_cb) ctrl.add('freq', label='Frequency, MHz', wdgt='spin', value=Data.spn(356.25, 2850, 0.01)) ctrl.add('rfgain', label='RF Gain, dB', wdgt='spin', text='0.0', value=Data.spn(-13.5, 18, 0.5)) ctrl.add_page('BB') ctrl.add('bbgain', label='Analog Gain, dB', wdgt='spin', value=Data.spn(0, 64.5, 0.5)) get_lpf_ctrl(ctrl, 'bblpf') ctrl.add_page('DSP') ctrl.add('dsplpf', label='Filter, MHz', wdgt='combo', state='readonly', value=['10', '20'], text='10') ctrl.add_page('TEST') ctrl.add('test', label='Nothing', send=False) return ctrl
def get_ctrl(dev): data = Data(name='atten', send=True, io_cb=util_io_cb) cmd_cb = lambda dev, cmd, val: spi_efc_cmd_cb( dev, cmd, val, cpha='0', cpol='0') data.add('atten', label='Attenuation, dB', wdgt='spin', text='0', value=Data.spn(-13.5, 18, 0.5), fmt_cb=fmt_cb, cmd_cb=cmd_cb) return data
def get_conn_data(self): conn = Data(name='conn') conn.add('remote_ipaddr', label='Remote IP address', wdgt='combo', value=['192.168.0.1'], text='192.168.0.1') conn.add('remote_port', label='Remote port', wdgt='combo', value=['12345'], text='12345') conn.add('local_ipaddr', label='Local IP address', wdgt='combo', value=['127.0.0.1', '192.168.0.100'], text='192.168.0.100') conn.add('local_port', label='Local port', wdgt='combo', value=['54321'], text='54321') conn.add('packet_sz', label='UDP Packet size', wdgt='entry', text='256') conn.add('period_ms', label='Data exchange period, ms', wdgt='entry', text='100') if hasattr(self, 'conn'): for k,v in self.conn.items(): conn.set_value(k,v) return conn