#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# (c) Copyright 2026 Sensirion AG, Switzerland
#
# THIS FILE IS AUTOMATICALLY GENERATED!
#
# Generator: sensirion-driver-generator 1.8.0
# Product: stc42
# Model-Version: 1.1.0
#
"""
The signal classes specify transformations of the raw sensor signals into a meaningful units.
The generated signal types are used by the driver class and not intended for direct use.
"""
from sensirion_driver_support_types.signals import AbstractSignal
[docs]
class SignalHydrogen(AbstractSignal):
"""Convert raw measurement value to hydrogen value."""
def __init__(self, hydrogen_ticks, scale_factor):
full_scale = float(scale_factor & 4095)
self._hydrogen = (full_scale * (float(hydrogen_ticks) - (1 << 14))) / (1 << 15)
@property
def value(self):
return self._hydrogen
def __str__(self):
return '{0:.2f}'.format(self.value)
[docs]
class SignalTemperature(AbstractSignal):
"""Convert temperature ticks to temperature celsius"""
def __init__(self, temperature_ticks):
self._temperature = ((175.0 * float(temperature_ticks)) / 65535.0) - 45.0
@property
def value(self):
return self._temperature
def __str__(self):
return '{0:.2f}'.format(self.value)
[docs]
class SignalRelativeHumidity(AbstractSignal):
"""Convert relative humidity ticks to relative humidity %"""
def __init__(self, relative_humidity_ticks):
self._relative_humidity = ((125.0 * float(relative_humidity_ticks)) / 65535.0) - 6.0
@property
def value(self):
return self._relative_humidity
def __str__(self):
return '{0:.2f}'.format(self.value)