Ejemplo n.º 1
0
def test_set_voltage_pv3(power: PowerSupply, multi: Multimeter):
    voltages = np.arange(0, 3.3, 0.1)
    measured = np.zeros(len(voltages))

    for i, v in enumerate(voltages):
        power.pv3 = v
        measured[i] = multi.measure_voltage("VOL")

    assert measured == pytest.approx(voltages, rel=RELTOL * 2, abs=ABSTOL * 2)
Ejemplo n.º 2
0
def test_set_current(power: PowerSupply, multi: Multimeter):
    currents = np.arange(0, 3e-3, 1e-4)
    measured = np.zeros(len(currents))

    for i, c in enumerate(currents):
        power.pcs = c
        measured[i] = multi.measure_voltage("CH3")

    resistor = 100
    assert measured == pytest.approx(currents * resistor,
                                     rel=RELTOL,
                                     abs=ABSTOL)
Ejemplo n.º 3
0
    def __init__(self):
        super().__init__()
        self.logic_analyzer = LogicAnalyzer(device=self)
        self.oscilloscope = Oscilloscope(device=self)
        self.waveform_generator = WaveformGenerator(device=self)
        self.pwm_generator = PWMGenerator(device=self)
        self.multimeter = Multimeter(device=self)
        self.power_supply = PowerSupply(device=self)
        self.i2c = I2CMaster(device=self)
        self.nrf = NRF24L01(device=self)

        if "V6" in self.version:  # Set the built-in WS2812B to green :)
            self.rgb_led([0, 20, 0])
Ejemplo n.º 4
0
    def __init__(
        self,
        device: SerialHandler = None,
        integration_time: float = 10e-6,
        master_clock_frequency: float = 2e6,
    ):
        self._device = SerialHandler() if device is None else device
        self._pwmgen = PWMGenerator(self._device)
        self._scope = Oscilloscope(self._device)
        self._ps = PowerSupply(self._device)
        self.integration_time = integration_time
        self.master_clock_frequency = master_clock_frequency

        self.poweron()
        self._pwmgen.set_state(sq3=True)
        self._start_master_clock()
        self._start_sh_clock()
Ejemplo n.º 5
0
    def __init__(
        self,
        port: str = None,
        baudrate: int = 1000000,
        timeout: float = 1.0,
    ):
        super().__init__(port, baudrate, timeout)
        self.logic_analyzer = LogicAnalyzer(device=self)
        self.oscilloscope = Oscilloscope(device=self)
        self.waveform_generator = WaveformGenerator(device=self)
        self.pwm_generator = PWMGenerator(device=self)
        self.multimeter = Multimeter(device=self)
        self.power_supply = PowerSupply(device=self)
        self.i2c = I2CMaster(device=self)
        self.nrf = NRF24L01(device=self)

        if "V6" in self.version:  # Set the built-in WS2812B to green :)
            self.rgb_led([0, 20, 0])
Ejemplo n.º 6
0
def power(handler: SerialHandler) -> PowerSupply:
    handler._logging = True
    return PowerSupply(handler)
Ejemplo n.º 7
0
def source(handler: SerialHandler):
    if not isinstance(handler, MockHandler):
        ps = PowerSupply()
        ps.pv1.voltage = 2.2
Ejemplo n.º 8
0
 def __init__(self, ):
     self.pwmgen = PWMGenerator()
     self.scope = Oscilloscope()
     self.ps = PowerSupply()