Skip to content

Commit

Permalink
Update test_edgepi_dac.py
Browse files Browse the repository at this point in the history
DAC unittest passing
  • Loading branch information
sjpark608 committed Dec 16, 2022
1 parent 7a53da2 commit df069f9
Showing 1 changed file with 27 additions and 8 deletions.
35 changes: 27 additions & 8 deletions src/test_edgepi/unit_tests/test_dac/test_edgepi_dac.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
EdgePiDacCom as COM,
)
from edgepi.dac.edgepi_dac import EdgePiDAC
from edgepi.calibration.protobuf_mapping import EdgePiEEPROMData
from edgepi.calibration.calibration_constants import CalibParam
from edgepi.calibration.protobuf_mapping import EdgePiEEPROMData
from test_edgepi.unit_tests.test_calibration.read_serialized import read_binfile
from edgepi.calibration.eeprom_mapping_pb2 import EepromLayout

dummy_calib_param_dict = {0:CalibParam(gain=1,offset=0),
1:CalibParam(gain=1,offset=0),
Expand All @@ -35,17 +37,25 @@
def fixture_test_dac(mocker):
mocker.patch("edgepi.peripherals.spi.SPI")
mocker.patch("edgepi.dac.edgepi_dac.EdgePiGPIO")
eelayout= EepromLayout()
eelayout.ParseFromString(read_binfile())
mocker.patch("edgepi.dac.edgepi_dac.EdgePiEEPROM.get_edgepi_reserved_data",
return_value = EdgePiEEPROMData(dac_calib_parms=dummy_calib_param_dict))
yield EdgePiDAC()
return_value = EdgePiEEPROMData(eelayout))
dac = EdgePiDAC()
dac.dac_ops.dict_calib_param = dummy_calib_param_dict
yield dac

@pytest.fixture(name="dac_mock_periph")
def fixture_test_dac_write_voltage(mocker):
mocker.patch("edgepi.peripherals.spi.SPI")
mocker.patch("edgepi.peripherals.i2c.I2C")
eelayout= EepromLayout()
eelayout.ParseFromString(read_binfile())
mocker.patch("edgepi.dac.edgepi_dac.EdgePiEEPROM.get_edgepi_reserved_data",
return_value = EdgePiEEPROMData(dac_calib_parms=dummy_calib_param_dict))
yield EdgePiDAC()
return_value = EdgePiEEPROMData(eelayout))
dac = EdgePiDAC()
dac.dac_ops.dict_calib_param = dummy_calib_param_dict
yield dac


_default_power_modes = {
Expand Down Expand Up @@ -178,9 +188,12 @@ def test_dac_send_to_gpio_pins(mocker, analog_out, pin_name, voltage, mock_name)
mocker.patch("edgepi.gpio.edgepi_gpio_expander.I2CDevice")
mock_set = mocker.patch("edgepi.dac.edgepi_dac.EdgePiGPIO.set_expander_pin")
mock_clear = mocker.patch("edgepi.dac.edgepi_dac.EdgePiGPIO.clear_expander_pin")
eelayout= EepromLayout()
eelayout.ParseFromString(read_binfile())
mocker.patch("edgepi.dac.edgepi_dac.EdgePiEEPROM.get_edgepi_reserved_data",
return_value = EdgePiEEPROMData(dac_calib_parms=dummy_calib_param_dict))
return_value = EdgePiEEPROMData(eelayout))
dac = EdgePiDAC()
dac.dac_ops.dict_calib_param = dummy_calib_param_dict
dac._EdgePiDAC__send_to_gpio_pins(analog_out, voltage)
# check correct clause is entered depending on voltage written
if voltage > 0:
Expand Down Expand Up @@ -237,9 +250,12 @@ def test_enable_dac_gain(mocker, enable, result, mocker_values):
return_value = (mocker_values[0], mocker_values[1], mocker_values[2]))
set_dac_gain = mocker.patch("edgepi.dac.edgepi_dac.EdgePiGPIO.set_expander_pin")
clear_dac_gain = mocker.patch("edgepi.dac.edgepi_dac.EdgePiGPIO.clear_expander_pin")
eelayout= EepromLayout()
eelayout.ParseFromString(read_binfile())
mocker.patch("edgepi.dac.edgepi_dac.EdgePiEEPROM.get_edgepi_reserved_data",
return_value = EdgePiEEPROMData(dac_calib_parms=dummy_calib_param_dict))
return_value = EdgePiEEPROMData(eelayout))
dac = EdgePiDAC()
dac.dac_ops.dict_calib_param = dummy_calib_param_dict
# pylint: disable=expression-not-assigned
assert dac.enable_dac_gain(enable) == result
set_dac_gain.assert_called_once_with("DAC_GAIN") if enable \
Expand All @@ -260,9 +276,12 @@ def test_get_state(mocker, analog_out, code, voltage, gain, result, mock_val):
mocker.patch("edgepi.gpio.edgepi_gpio_expander.I2CDevice")
mocker.patch("edgepi.dac.edgepi_dac.EdgePiGPIO.get_pin_direction", return_value = mock_val[3])
mocker.patch("edgepi.peripherals.spi.SpiDevice.transfer", return_value=mock_val[0:3])
eelayout= EepromLayout()
eelayout.ParseFromString(read_binfile())
mocker.patch("edgepi.dac.edgepi_dac.EdgePiEEPROM.get_edgepi_reserved_data",
return_value = EdgePiEEPROMData(dac_calib_parms=dummy_calib_param_dict))
return_value = EdgePiEEPROMData(eelayout))
dac = EdgePiDAC()
dac.dac_ops.dict_calib_param = dummy_calib_param_dict
code_val, voltage_val, gain_state = dac.get_state(analog_out, code, voltage, gain)
assert code_val == result[0]
assert pytest.approx(voltage_val, 1e-3) == voltage_val
Expand Down

0 comments on commit df069f9

Please sign in to comment.