1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
# encoding: utf-8
#
# TEMPer USB temperature/humidty sensor device driver settings.
# Handles devices reporting themselves as USB VID/PID 0C45:7401 (mine also says
# RDing TEMPerV1.2).
#
# Copyright 2012-2020 Philipp Adelt <info@philipp.adelt.net> and contributors.
#
# This code is licensed under the GNU public license (GPL). See LICENSE.md for
# details.
from enum import Enum
class TemperType(Enum):
FM75 = 0
SI7021 = 1
class TemperConfig:
def __init__(
self,
temp_sens_offsets: list,
hum_sens_offsets: list = None,
type: TemperType = TemperType.FM75,
):
self.temp_sens_offsets = temp_sens_offsets
self.hum_sens_offsets = hum_sens_offsets
self.type = type
DEVICE_LIBRARY = {
"TEMPer2V1.3": TemperConfig(
temp_sens_offsets=[2, 4],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPerV1.2": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPerV1.4": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPer1F_V1.3": TemperConfig(
# Has only 1 sensor at offset 4
temp_sens_offsets=[4],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPERHUM1V1.2": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=[4],
type=TemperType.SI7021,
),
"TEMPERHUM1V1.3": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=[4],
type=TemperType.SI7021,
),
"TEMPerHumiV1.0": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=[4],
type=TemperType.FM75,
),
"TEMPerHumiV1.1": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=[4],
type=TemperType.FM75,
),
"TEMPer1F_H1_V1.4": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=[4],
type=TemperType.FM75,
),
"TEMPerNTC1.O": TemperConfig(
temp_sens_offsets=[2, 4, 6],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPer1V1.4": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPer2_V3.7": TemperConfig(
temp_sens_offsets=[2, 10],
hum_sens_offsets=None,
type=TemperType.FM75,
),
"TEMPer2V1.4": TemperConfig(
temp_sens_offsets=[2],
hum_sens_offsets=None,
type=TemperType.FM75,
),
# The config used if the sensor type is not recognised.
# If your sensor is working but showing as unrecognised, please
# add a new entry above based on "generic_fm75" below, and submit
# a PR to https://github.com/padelt/temper-python/pulls
"generic_fm75": TemperConfig(
temp_sens_offsets=[2, 4],
hum_sens_offsets=None,
type=TemperType.FM75,
),
}
|