Пример #1
0
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
Пример #2
0
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]))
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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
Пример #7
0
 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
Пример #8
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'
Пример #9
0
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
Пример #10
0
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
Пример #11
0
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
Пример #12
0
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
Пример #13
0
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
Пример #14
0
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
Пример #15
0
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
Пример #16
0
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
Пример #17
0
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
Пример #18
0
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
Пример #19
0
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)
Пример #20
0
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
Пример #21
0
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
Пример #22
0
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
Пример #23
0
 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
Пример #24
0
 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())
Пример #25
0
 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()
Пример #26
0
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
Пример #27
0
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
Пример #28
0
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
Пример #29
0
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
Пример #30
0
 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