   }
 }
 
-
-// TODO(z2amiller):  Have the TI128D818 library only return the raw
-//                   temperature value, this temperature conversion
-//                   is very application specific.
-float TI128D818::temp(const uint8_t channel) {
-  uint16_t t = read16(channel);
+// Takes the channel number (0 - 8).  If given an invalid
+// channel, returns 0.  The actual I2C channel ID is offset
+// by 0x20.
+uint16_t TI128D818::RawValue(const uint8_t channel) {
+  if (channel < 0 || channel > 8) {
+    return 0;
+  }
   // This is a 12 bit ADC; bit shift this 16 bit value to get the
   // 12 bits we are interested in.
-  t >>= 4;
-  // Calculate the actual temperature using the Steinhart-Hart
-  // formula.
-  const int measured_resistance = 10000.0 * ((4096.0 / t) - 1); 
-  const float mr_log = log(measured_resistance / 10000.0);
-  // Steinhart-hart coefficients for the Vishay NTCLG100E2103.
-  // (10K @ 25C thermistor)
-  const float tempK = 1 / (0.003354016 +
-                          (0.0002569850 * mr_log) +
-                          (0.000002620131 * pow(mr_log, 2)) +
-                          (0.00000006383091 * pow(mr_log, 3)));
-  return tempK - 273.15; // tempC
+  return read16(channel + 0x20) >> 4;
 }
+
 
 // TODO(z2amiller):  Provide a configuration class that encapsulates
 //                   all of the ADC configuration options.
 //                   (pins, modes, etc).
-bool TI128D818::init(const uint8_t adc_mode) {
+bool TI128D818::Init(const uint8_t adc_mode) {
   Wire.begin(SDAPIN, SCLPIN);
   write8(0x00, 0x00); // disable all.
   pollUntilReady();

}

// TODO(z2amiller):  Have a maximum allowed elapsed time?
// TODO(z2amiller):  Can't dump to serial in a library.  #ifdef debug?
void TI128D818::pollUntilReady() {
  int delay_time = 33;
  while (true) {

#define ADC_INT 14

#define ADC_ADDR 0x37
#define NUM_CHANNELS 4

const String channels[NUM_CHANNELS] = {
  "hot_water_out",
  "recirc_return",
  "cold_water_in",
  "recirc_pump_in",
};

// TODO(z2amiller):  Cut this out into a separate library.
class TI128D818 {
 public:
  TI128D818();
  TI128D818(const uint8_t adc_addr);
  bool Init(const uint8_t adc_mode = 0);
  uint16_t RawValue(const uint8_t channel);
 private:
  uint8_t read8(const uint8_t addr);
  uint16_t read16(const uint8_t addr);
