コード例 #1
0
 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()
コード例 #2
0
    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()
コード例 #3
0
 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()
コード例 #4
0
 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()
コード例 #5
0
 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()
コード例 #6
0
 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()
コード例 #7
0
 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()
コード例 #8
0
 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()
コード例 #9
0
 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()
コード例 #10
0
 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()
コード例 #11
0
ファイル: Hantek6022GUI.py プロジェクト: dendvz/Hantek6022GUI
    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)
コード例 #12
0
 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()
コード例 #13
0
 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()
コード例 #14
0
 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()
コード例 #15
0
ファイル: mine.py プロジェクト: GrahamW/Hantek6022API
    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
コード例 #16
0
ファイル: fuzzing.py プロジェクト: packz/hm-2017
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
コード例 #17
0
#!/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)
コード例 #18
0
#!/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()
コード例 #19
0
#!/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()