From 921f28727bf775347abc5eae6e2ba030df14ab69 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Thu, 10 Nov 2022 22:00:57 +0000 Subject: [PATCH] add gpio usage --- HIL/esp_dut.py | 14 ++++++++++++-- HIL/tests/test_basic.py | 8 ++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/HIL/esp_dut.py b/HIL/esp_dut.py index 15ce7d7..b5e42a2 100644 --- a/HIL/esp_dut.py +++ b/HIL/esp_dut.py @@ -4,6 +4,7 @@ import serial import logging import json import tempfile +import pigpio from pathlib import Path from HIL.common import runProcess @@ -62,12 +63,21 @@ class EspConfig: class EspDut: - def __init__(self, port, configPath, configFile): + def __init__(self, port, configPath, configFile, powerPin): self.port = port self.baudrate = 115200 self.serial = None self.flash = EspFlash(self.port) self.config = EspConfig(configPath, configFile) + self.pigpio = pigpio.pi() + self.powerPin = powerPin + self.pigpio.set_mode(self.powerPin, pigpio.OUTPUT) + + def begin(): + self.pigpio.pi.write(self.powerPin, 1) + + def stop(): + self.pigpio.pi.write(self.powerPin, 0) def writeFlash(self, bin_dir): logger.info("write flash") @@ -100,4 +110,4 @@ class EspDut: @pytest.fixture def ESP(): - return EspDut(os.environ["ESP_PORT"], Path(os.environ["ESP_CONFIG_PATH"]), Path(os.environ["ESP_CONFIG_FILE"])) + return EspDut(os.environ["ESP_PORT"], Path(os.environ["ESP_CONFIG_PATH"]), Path(os.environ["ESP_CONFIG_FILE"]), 13) diff --git a/HIL/tests/test_basic.py b/HIL/tests/test_basic.py index 6f07162..b402245 100644 --- a/HIL/tests/test_basic.py +++ b/HIL/tests/test_basic.py @@ -4,27 +4,35 @@ from pathlib import Path def test_basic_port(ESP): + ESP.begin() ESP.openPort() ESP.closePort() + ESP.end() def test_flash(ESP): + ESP.begin() bin_dir = Path("testbinary") ESP.writeFlash(bin_dir) ESP.flash.verify("0x1000", bin_dir / 'bootloader_dio_40m.bin') ESP.flash.verify("0x8000", bin_dir / 'partitions.bin') ESP.flash.verify("0xe000", bin_dir / 'boot_app0.bin') ESP.flash.verify("0x10000", bin_dir / 'firmware.bin') + ESP.end() def test_flash_config(ESP): + ESP.begin() ESP.config.data["bar"] = "foo" ESP.config.data["number"] = 123 ESP.writeConfig() + ESP.end() def test_erase(ESP): + ESP.begin() ESP.flash.erase() + ESP.end() def test_aprs_login(APRSIS):