示例#1
0
    def _update_channel_gain(self, index):
        logging.debug('update_channel_gain('+str(index)+')')
        ch = self._scp.channels[index]
        menu_ch = self._menu_channels[index]
        items = menu_ch["menu"].children()
        if len(items) > MENU_CHANNEL_RANGE_INDEX:
            menu = items[MENU_CHANNEL_RANGE_INDEX]

            menu.clear()

            action = menu.addAction("Auto")
            action.setCheckable(True)
            action.setChecked(ch.auto_ranging)
            action.setData({"ch": index, "range": None})
            action.toggled.connect(self._channel_gain_changed)
            menu_ch["gain_action_group"].addAction(action)

            ck = self._scp.channels[index].coupling
            if ck & libtiepie.CKM_V != 0:
                unit = "V"
            elif ck & libtiepie.CKM_A != 0:
                unit = "A"
            elif ck & libtiepie.CKM_OHM != 0:
                unit = "Ohm"
            logging.debug('gains['+str(index)+']='+str(GAINS))
            #for value in reversed(self._scp.channels[index].ranges):
            for value in reversed(GAINS):
                action = menu.addAction(utils.val_to_str(value, 3, 0) + unit)
                action.setCheckable(True)
                action.setChecked(not ch.auto_ranging and ch.range == value)
                action.setData({"ch": index, "range": value})
                action.toggled.connect(self._channel_gain_changed)
                menu_ch["gain_action_group"].addAction(action)
示例#2
0
    def _update_record_length(self):
        record_length = self._scp.record_length
        menu = self._menu_record_length
        menu.clear()

        for value in reversed(utils.sequence_125(self._scp.verify_record_length(RECORD_LENGTH_MIN), self._scp.verify_record_length(RECORD_LENGTH_MAX))):
            action = menu.addAction(utils.val_to_str(value, 3, 0) + "Samples")
            action.setCheckable(True)
            action.setChecked(record_length == value)
            action.setData(int(value))
            action.toggled.connect(self._record_length_changed)
            self._menu_record_length_act_group.addAction(action)
示例#3
0
 def _update_sample_frequency(self):
     sample_frequency = self._scp.sample_frequency
     menu = self._menu_sample_frequency
     menu.clear()
     for value in reversed(utils.sequence_125(SAMPLE_FREQUENCY_MIN, self._scp.verify_sample_frequency(1e100))):
         logging.debug('update_sample_frequency value '+str(value))
         action = menu.addAction(utils.val_to_str(value, 3, 0) + "Hz")
         action.setCheckable(True)
         action.setChecked(sample_frequency == value)
         action.setData(value)
         action.toggled.connect(self._sample_frequency_changed)
         self._menu_sample_frequency_act_group.addAction
示例#4
0
 def _update_trigger_times(self):
     tr = self._trigger_source
     time_count = len(tr.times) if hasattr(tr, 'times') else 0
     for i in range(len(self._menu_trigger_times)):
         menu = self._menu_trigger_times[i]
         menu.menuAction().setVisible(time_count > i)
         if menu.menuAction().isVisible():
             menu.clear()
             for value in utils.sequence_125(tr.times.verify(i, 1e-100), 1):
                 action = menu.addAction(utils.val_to_str(value, 3, 0) + "s")
                 action.setCheckable(True)
                 action.setChecked(tr.times[i] == value)
                 action.setData({"index": i, "value": value})
                 action.toggled.connect(self._trigger_time_changed)
                 self._menu_trigger_times_act_group[i].addAction(action)