Ejemplo n.º 1
0
    def sample(self, sht_datum=None):
        # temperature...
        pt1000_datum = self.sample_pt1000()
        temp = self.sample_temp(sht_datum)

        # gases...
        samples = []
        no2_sample = None

        for sensor_index in range(len(self.__sensors)):
            sensor = self.__sensors[sensor_index]

            if sensor is None:
                continue

            # cross-sensitivity sample...
            if sensor.has_no2_cross_sensitivity():
                no2_sample = AFE.__no2_sample(samples)

            # sample...
            sample = sensor.sample(self, temp, sensor_index, no2_sample)

            samples.append((sensor.gas_name, sample))

        return AFEDatum(pt1000_datum, *samples)
Ejemplo n.º 2
0
    def sample(self, sht_datum=None):
        # temperature...
        temp = self.sample_temp(sht_datum)

        # gases...
        samples = []

        # NO2...
        sample = self.__sensors[0].sample(self, temp, 0, None)

        samples.append(('NO2', sample))

        # H2S...
        we_v = self.sample_raw_wrk(1, self.__H2S_GAIN_INDEX)
        sample = D4Datum(we_v)

        samples.append(('H2S', sample))

        # CO...
        we_v = self.sample_raw_wrk(2, self.__CO_GAIN_INDEX)
        sample = D4Datum(we_v)

        samples.append(('CO', sample))

        return AFEDatum(None, *samples)
Ejemplo n.º 3
0
    def null_datum(cls):
        samples = [
            ('NO2', A4Datum(None, None)),
            ('H2S', D4Datum(None)),
            ('CO', D4Datum(None)),
        ]

        return AFEDatum(None, *samples)
Ejemplo n.º 4
0
    def sample_station(self, sn, sht_datum=None):
        index = sn - 1

        pt1000_datum = self.sample_temp()

        temp = pt1000_datum.temp if sht_datum is None else sht_datum.temp  # use SHT temp if available

        sensor = self.__sensors[index]

        if sensor is None:
            return AFEDatum(pt1000_datum)

        # cross-sensitivity sample...
        if sensor.has_no2_cross_sensitivity():
            no2_index, no2_sensor = self.__no2_sensor()
            no2_sample = no2_sensor.sample(self, temp, no2_index)
        else:
            no2_sample = None

        # sample...
        sample = sensor.sample(self, temp, index, no2_sample)

        return AFEDatum(pt1000_datum, (sensor.gas_name, sample))
Ejemplo n.º 5
0
    def null_datum(self):
        pt1000_datum = self.sample_temp()

        samples = []

        for sensor_index in range(len(self.__sensors)):
            sensor = self.__sensors[sensor_index]

            if sensor is None:
                continue

            samples.append((sensor.gas_name, sensor.null_datum()))

        return AFEDatum(pt1000_datum, *samples)
Ejemplo n.º 6
0
    def sample_station(self, sn, sht_datum=None):
        # temperature...
        pt1000_datum = self.sample_pt1000()
        temp = self.sample_temp(sht_datum)

        # gas...
        index = sn - 1

        sensor = self.__sensors[index]

        if sensor is None:
            return AFEDatum(pt1000_datum)

        # cross-sensitivity sample...
        if sensor.has_no2_cross_sensitivity():
            no2_index, no2_sensor = self.__no2_sensor()
            no2_sample = no2_sensor.sample(self, temp, no2_index)
        else:
            no2_sample = None

        # sample...
        sample = sensor.sample(self, temp, index, no2_sample)

        return AFEDatum(pt1000_datum, (sensor.gas_name, sample))
Ejemplo n.º 7
0
    def sample(self, sht_datum=None):
        pt1000_datum = self.sample_temp()

        temp = pt1000_datum.temp if sht_datum is None else sht_datum.temp  # use SHT temp if available

        samples = []
        no2_sample = None

        for sensor_index in range(len(self.__sensors)):
            sensor = self.__sensors[sensor_index]

            if sensor is None:
                continue

            # cross-sensitivity sample...
            if sensor.has_no2_cross_sensitivity():
                no2_sample = AFE.__no2_sample(samples)

            # sample...
            sample = sensor.sample(self, temp, sensor_index, no2_sample)

            samples.append((sensor.gas_name, sample))

        return AFEDatum(pt1000_datum, *samples)
Ejemplo n.º 8
0
a4_2 = A4Datum(1.234567, 6.543210)
print(a4_2)

a4_3 = A4Datum(2.345678, 5.432101)
print(a4_3)

pid = PIDDatum(0.123456, 23)
print(pid)
print("-")

sn1 = sensors[0].gas_name
sn2 = sensors[1].gas_name
sn3 = sensors[2].gas_name
sn4 = sensors[3].gas_name

afe = AFEDatum(pt1, (sn1, a4_1), (sn2, a4_2), (sn3, a4_3), (sn4, pid))
print(afe)
print("-")

# --------------------------------------------------------------------------------------------------------------------

now = LocalizedDatetime.now()

pmx = PMxDatum(now, 11, 22, 33)
print(pmx)
print("-")

# --------------------------------------------------------------------------------------------------------------------

now = LocalizedDatetime.now()
print(now)