Ejemplo n.º 1
0
 def measure_impedance_non_blocking(self, sampling_time_ms, n_samples,
                                    delay_between_samples_ms, state):
     state_ = uint8_tVector()
     for i in range(0, len(state)):
         state_.append(int(state[i]))
     Base.measure_impedance_non_blocking(self, sampling_time_ms, n_samples,
                                         delay_between_samples_ms, state_)
Ejemplo n.º 2
0
 def get_impedance_data(self):
     impedance = np.array(Base.get_impedance_data(self))
     V_hv = impedance[0::4]
     hv_resistor = impedance[1::4].astype(int)
     V_fb = impedance[2::4]
     fb_resistor = impedance[3::4].astype(int)
     return (V_hv, hv_resistor, V_fb, fb_resistor)
Ejemplo n.º 3
0
    def connect(self, port=None):
        if port:
            logger.info("Try connecting to port %s..." % port)
            Base.connect(self, port)
            self.port = port
        else:
            self.get_port()
        logger.info("Poll control board for series resistors and "
                    "capacitance values.")

        data = np.zeros(4)
        for i in range(0, 4):
            data[i] = self.eeprom_read(self.EEPROM_VOLTAGE_TOLERANCE+i)
        self.__voltage_tolerance = unpack('f', pack('BBBB', *data))[0]

        R_hv = []
        C_hv = []
        R_fb = []
        C_fb = []
        try:
            i=0
            while True:
                self.set_series_resistor_index(0, i)
                R_hv.append(self.series_resistance(0))
                C_hv.append(self.series_capacitance(0))
                i+=1
        except:
            logger.info("HV series resistors=%s" % R_hv)
            logger.info("HV series capacitance=%s" % C_hv)
        try:
            i=0
            while True:
                self.set_series_resistor_index(1, i)
                R_fb.append(self.series_resistance(1))
                C_fb.append(self.series_capacitance(1))
                i+=1
        except:
            logger.info("Feedback series resistors=%s" % R_fb)
            logger.info("Feedback series capacitance=%s" % C_fb)
        self.calibration = FeedbackCalibration(R_hv, C_hv, R_fb, C_fb,
            hw_version=Version.fromstring(self.hardware_version()))
        self.set_series_resistor_index(0,0)
        self.set_series_resistor_index(1,0)
        return self.RETURN_OK
Ejemplo n.º 4
0
 def measure_impedance(self, sampling_time_ms, n_samples,
                       delay_between_samples_ms, state):
     state_ = uint8_tVector()
     for i in range(0, len(state)):
         state_.append(int(state[i]))
     impedance = np.array(Base.measure_impedance(self,
                          sampling_time_ms, n_samples,
                          delay_between_samples_ms, state_))
     V_hv = impedance[0::4]
     hv_resistor = impedance[1::4].astype(int)
     V_fb = impedance[2::4]
     fb_resistor = impedance[3::4].astype(int)
     return (V_hv, hv_resistor, V_fb, fb_resistor)
Ejemplo n.º 5
0
 def i2c_send_command(self, address, cmd, data, delay_ms=100):
     data_ = uint8_tVector()
     for i in range(0, len(data)):
         data_.append(int(data[i]))
     return np.array(Base.i2c_send_command(self, address, cmd, data_,
                                           delay_ms))
Ejemplo n.º 6
0
 def i2c_read(self, address, n_bytes_to_read):
     return np.array(Base.i2c_read(self, address, n_bytes_to_read))
Ejemplo n.º 7
0
 def i2c_write(self, address, data):
     data_ = uint8_tVector()
     for i in range(0, len(data)):
         data_.append(int(data[i]))
     Base.i2c_write(self, address, data_)
Ejemplo n.º 8
0
 def analog_reads(self, pin, n_samples):
     return np.array(Base.analog_reads(self, pin, n_samples))
Ejemplo n.º 9
0
 def state_of_all_channels(self, state):
     state_ = uint8_tVector()
     for i in range(0, len(state)):
         state_.append(int(state[i]))
     Base.set_state_of_all_channels(self, state_)
Ejemplo n.º 10
0
 def state_of_all_channels(self):
     return np.array(Base.state_of_all_channels(self))
Ejemplo n.º 11
0
 def __init__(self):
     Base.__init__(self)
     SerialDevice.__init__(self)
     self.calibration = None