import struct

import sbigpy

class Temp_Status:
    def __init__(self):
        self.enabled = 0
        self.setpoint = 0
        self.output = 0
        self.samp_rate = sbigpy.ST5.DEFAULT_TEMP_SAMP_RATE
        self.p_gain = sbigpy.ST5.DEFAULT_TEMP_P_GAIN
        self.i_gain = sbigpy.ST5.DEFAULT_TEMP_I_GAIN
        self.brownout_detected = 0

    def unpack(self, data):
        (self.enabled,
         self.setpoint,
         self.output,
         self.samp_rate,
         self.p_gain,
         self.i_gain,
         self.brownout_detected) = struct.unpack('<7H', data)

    def prettyprint(self):
        print("Temp control enabled: %d" % self.enabled)
        print("Temp setpoint: %d" % self.setpoint)
        print("Temp output drive: %d" % self.output)
        print("Temp sample rate: %d" % self.samp_rate)
        print("Temp p_gain: %d" % self.p_gain)
        print("Temp i_gain: %d" % self.i_gain)
        print("Temp brownout detected: %d" % self.brownout_detected)