def test_find_device(self): print "Testing finding device and flashing stock firmware." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() assert scope.close_handle()
def _updateScopeSettings(self): if self._scope: self.cancel() self._scope = Oscilloscope() self._scope.setup() self._scope.open_handle() if (not self._scope.is_device_firmware_present): self._scope.flash_firmware() else: self._scope.supports_single_channel = True logging.info("Setting up scope!") self._scope.set_interface(self._alternative) logging.info("ISO" if self._scope.is_iso else "BULK", "packet size:", self._scope.packetsize) if self.widget.channel2CheckBox.isChecked(): self._scope.set_num_channels(2) else: self._scope.set_num_channels(1) # set voltage range voltagerange1 = self._strVoltageToID( self.widget.channel1VoltPDivComboBox.currentText()) voltagerange2 = self._strVoltageToID( self.widget.channel2VoltPDivComboBox.currentText()) self._scope.set_ch1_voltage_range(voltagerange1) self._scope.set_ch2_voltage_range(voltagerange2) self._scope.set_sample_rate( self._str2SamplerateID( self.widget.samplerateComboBox.currentText())) self._blocksize = self._recordLength self.start()
def test_clear_fifo(self): print "Testing explicitly clearing the FIFO." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() assert scope.clear_fifo() assert scope.close_handle()
def test_read_firmware(self): print "Testing read_firmware method on scope." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() assert scope.read_firmware() assert scope.close_handle()
def test_set_sample_rate(self): print "Testing setting the sample rate." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() for rate_index in scope.SAMPLE_RATES.keys(): scope.set_sample_rate(rate_index) assert scope.close_handle()
def test_get_cal_values(self): print "Testing getting calibration values." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() cal_values = scope.get_calibration_values() assert cal_values assert scope.close_handle()
def test_flash_firmware(self): print "Testing flashing multiple firmwares." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware(stock_firmware, supports_single_channel=False) assert scope.flash_firmware(mod_firmware_01) assert scope.flash_firmware(stock_firmware, supports_single_channel=False) assert scope.close_handle()
def test_set_channel_voltage_range(self): print "Testing setting the voltage range." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() for vrange in scope.VOLTAGE_RANGES.keys(): assert scope.set_ch1_voltage_range(vrange) assert scope.set_ch1_voltage_range(vrange) assert scope.close_handle()
def test_set_num_channels(self): print "Testing setting the number of channels with modified firmware." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware(mod_firmware_01) assert scope.set_num_channels(1) assert scope.set_num_channels(2) assert scope.set_num_channels(1) assert scope.close_handle()
def test_read_data(self): print "Testing reading data from the oscilloscope." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() ch1_data, _ = scope.read_data(data_size=0x400) print ch1_data assert ch1_data assert scope.close_handle()
def createControlPanel(self, frame): self.device = Oscilloscope() self.reader = None self.ch1 = ChannelControl(self.device, frame, CONST.CH1, self.acquire) self.ch2 = ChannelControl(self.device, frame, CONST.CH2, self.acquire) self.tb = TimeBaseControl(self.device, frame, self.acquire) self.reader = Reader(self.device)
def test_set_one_channel_and_read(self): print "Testing setting one channel and reading it." scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware(mod_firmware_01) assert scope.set_ch1_voltage_range(0xA) assert scope.set_sample_rate(0x10) assert scope.set_num_channels(1) ch1_data, ch2_data = scope.read_data(0x4000) assert ch1_data assert not ch2_data assert scope.close_handle()
def test_data_scaling(self): print "Testing setting various scale facotrs and reading." scale_factor = 0x01 scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() assert scope.set_ch1_voltage_range(scale_factor) assert scope.set_sample_rate(27) ch1_data, _ = scope.read_data(0x100000) ch1_data = scope.scale_read_data(ch1_data, scale_factor) print "Max:", max(ch1_data), "(V), Min:", min(ch1_data), "(V)" assert ch1_data assert scope.close_handle()
def test_read_many_sizes(self): print "Testing reading many different data sizes" scope = Oscilloscope() assert scope.setup() assert scope.open_handle() assert scope.flash_firmware() data_size = 0x400 for _ in xrange(11): print "DATA SIZE", data_size ch1_data, ch2_data = scope.read_data(data_size=data_size, raw=True) print len(ch1_data) print len(ch2_data) assert ch1_data, ch2_data data_size <<= 1 assert scope.close_handle()
def initialize(self): self.sample_rate_index = 8 self.voltage_range = 0x01 self.data_points = 3 * 1024 self.trigger_level = 150 self.trigger_type = +1 self.scope = Oscilloscope() self.scope.setup() self.scope.open_handle() if (not self.scope.is_device_firmware_present): self.scope.flash_firmware() self.scope.set_interface(1) # choose ISO self.scope.set_num_channels(1) self.scope.set_sample_rate(self.sample_rate_index) self.scope.set_ch1_voltage_range(self.voltage_range) time.sleep(0.1) return None
def setup_scope(): scope = Oscilloscope() if not scope.setup(): raise AttributeError('Scope not available!') scope.open_handle() if (not scope.is_device_firmware_present): logger.info('flash firmware') scope.flash_firmware() else: scope.supports_single_channel = True logger.info("Setting up scope!") scope.set_interface(1) # choose ISO logger.info('%s %s' % ("ISO" if scope.is_iso else "BULK", "packet size: %d" % scope.packetsize)) scope.set_num_channels(numchannels) scope.set_ch1_voltage_range(voltage_range) scope.set_sample_rate(sample_rate_index) time.sleep(1) return scope
#!/usr/bin/python3 from PyHT6022.LibUsbScope import Oscilloscope scope = Oscilloscope(0x14aa, 0x0226) scope.setup() scope.open_handle() eeprom = scope.read_eeprom(0, 256) scope.close_handle() f = open("eeprom_256.dat", "wb") f.write(eeprom) f.close() print(eeprom)
#!/usr/bin/python3 __author__ = 'Robert Cope' from PyHT6022.LibUsbScope import Oscilloscope from PyHT6022.HantekFirmware import mod_firmware_iso as Firmware scope = Oscilloscope() scope.setup() scope.open_handle() scope.flash_firmware(firmware=Firmware) scope.close_handle()
#!/usr/bin/python3 from PyHT6022.LibUsbScope import Oscilloscope firmware = "dso6021-firmware.hex" VID=0x04b4 PID=0x6021 scope = Oscilloscope( VID, PID ) scope.setup() scope.open_handle() scope.flash_firmware_from_hex( firmware ) print( "FW version", hex( scope.get_fw_version() ) ) scope.close_handle()