示例#1
0
    def run(self, *args: Any, **kwargs: Any) -> None:
        """Runs driver."""

        # Run parent class
        super().run(*args, **kwargs)

        # Initialize driver
        self.driver = SHT25Driver(
            name=self.args.name,
            i2c_lock=threading.RLock(),
            bus=self.bus,
            address=self.address,
            mux=self.mux,
            channel=self.channel,
        )

        # Check if reading temperature
        if self.args.temperature:
            temperature = self.driver.read_temperature()
            print("Temperature: {} C".format(temperature))

        # Check if reading humidity
        elif self.args.humidity:
            humidity = self.driver.read_humidity()
            print("Humidity: {} %".format(humidity))

        # Check if reading user register
        elif self.args.user_register:
            user_register = self.driver.read_user_register()
            print(user_register)
    def initialize(self) -> None:
        """Initializes manager."""
        self.logger.info("Initializing")

        # Clear reported values
        self.clear_reported_values()

        # Initialize health
        self.health = 100.0

        # Initialize driver
        try:
            self.driver = SHT25Driver(
                name=self.name,
                i2c_lock=self.i2c_lock,
                bus=self.bus,
                mux=self.mux,
                channel=self.channel,
                address=self.address,
                simulate=self.simulate,
                mux_simulator=self.mux_simulator,
            )
        except DriverError as e:
            self.logger.exception("Manager unable to initialize")
            self.health = 0.0
            self.mode = Modes.ERROR
示例#3
0
def test_init() -> None:
    driver = SHT25Driver(
        name="Test",
        i2c_lock=threading.RLock(),
        bus=2,
        address=0x77,
        simulate=True,
        mux_simulator=MuxSimulator(),
    )
示例#4
0
def test_read_humidity() -> None:
    driver = SHT25Driver(
        name="Test",
        i2c_lock=threading.RLock(),
        bus=2,
        address=0x77,
        simulate=True,
        mux_simulator=MuxSimulator(),
    )
    humidity = driver.read_humidity()
    assert humidity == 70.0
示例#5
0
def test_read_temperature() -> None:
    driver = SHT25Driver(
        name="Test",
        i2c_lock=threading.RLock(),
        bus=2,
        address=0x77,
        simulate=True,
        mux_simulator=MuxSimulator(),
    )

    temperature = driver.read_temperature()
    assert temperature == 24.0
示例#6
0
def test_read_user_register() -> None:
    driver = SHT25Driver(
        name="Test",
        i2c_lock=threading.RLock(),
        bus=2,
        address=0x77,
        simulate=True,
        mux_simulator=MuxSimulator(),
    )
    user_register = driver.read_user_register()
    assert user_register.end_of_battery == False
    assert user_register.heater_enabled == False
    assert user_register.reload_disabled == False