Skip to content

Commit

Permalink
Add resistance property.
Browse files Browse the repository at this point in the history
  • Loading branch information
tdicola committed Dec 15, 2017
1 parent 2151dda commit d6213b3
Showing 1 changed file with 14 additions and 8 deletions.
22 changes: 14 additions & 8 deletions adafruit_max31865.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,19 +194,25 @@ def read_rtd(self):
rtd >>= 1
return rtd

@property
def resistance(self):
"""Read the resistance of the RTD and return its value in Ohms."""
resistance = self.read_rtd()
resistance /= 32768
resistance *= self.ref_resistor
return resistance

@property
def temperature(self):
"""Read the temperature of the sensor and return its value in degrees
Celsius.
"""
raw_reading = self.read_rtd()
raw_reading /= 32768
raw_reading *= self.ref_resistor

# This math originates from:
# http://www.analog.com/media/en/technical-documentation/application-notes/AN709_0.pdf
# To match the naming from the app note we tell lint to ignore the Z1-4 naming.
# To match the naming from the app note we tell lint to ignore the Z1-4
# naming.
# pylint: disable=invalid-name
raw_reading = self.resistance
Z1 = -_RTD_A
Z2 = _RTD_A * _RTD_A - (4 * _RTD_B)
Z3 = (4 * _RTD_B) / self.rtd_nominal
Expand All @@ -220,10 +226,10 @@ def temperature(self):
temp += 2.2228 * rpoly
rpoly *= raw_reading # square
temp += 2.5859e-3 * rpoly
rpoly *= raw_reading # ^3
rpoly *= raw_reading # ^3
temp -= 4.8260e-6 * rpoly
rpoly *= raw_reading # ^4
rpoly *= raw_reading # ^4
temp -= 2.8183e-8 * rpoly
rpoly *= raw_reading # ^5
rpoly *= raw_reading # ^5
temp += 1.5243e-10 * rpoly
return temp

0 comments on commit d6213b3

Please sign in to comment.