diff --git a/dstat-interface/dstat_comm.py b/dstat-interface/dstat_comm.py index 2b83bd9b48cb977ab8bae53393a6f5df501d3142..e4fc8f657f4ef31604dd015920e9d3cf0338e3bb 100644 --- a/dstat-interface/dstat_comm.py +++ b/dstat-interface/dstat_comm.py @@ -207,10 +207,15 @@ class Experiment(object): self.__gaintable = [1e2, 3e2, 3e3, 3e4, 3e5, 3e6, 3e7, 5e8] elif minor >= 2: self.__gaintable = [1, 1e2, 3e3, 3e4, 3e5, 3e6, 3e7, 1e8] + self.__gain_trim_table = [None, 'r100_trim', 'r3k_trim', + 'r30k_trim', 'r300k_trim', 'r3M_trim', + 'r30M_trim', 'r100M_trim'] else: raise VarError(parameters['version'], "Invalid version parameter.") self.gain = self.__gaintable[int(self.parameters['gain'])] + self.gain_trim = int( + settings[self.__gain_trim_table[int(self.parameters['gain'])]][1]) self.commands = ["EA", "EG"] @@ -299,7 +304,8 @@ class Experiment(object): scan, data = data_input voltage, current = struct.unpack('pot Potentiometry + + 8 + cal + Offset Calibration + diff --git a/dstat-interface/interface/exp_int.py b/dstat-interface/interface/exp_int.py index 045046265762e465d9a8b5a9aa48693f1db68b23..b6410b2adda0312a8eb4ab00debe1234099d7012 100644 --- a/dstat-interface/interface/exp_int.py +++ b/dstat-interface/interface/exp_int.py @@ -244,4 +244,56 @@ class POT(ExpInterface): """Adds entry listings to superclass's self.entry dict""" super(POT, self).__init__('interface/potexp.glade') - self.entry['time'] = self.builder.get_object('time_entry') \ No newline at end of file + self.entry['time'] = self.builder.get_object('time_entry') + +class CAL(ExpInterface): + """Experiment class for Calibrating gain.""" + def __init__(self): + """Adds entry listings to superclass's self.entry dict""" + super(CAL, self).__init__('interface/calib.glade') + + self.entry['time'] = self.builder.get_object('time_entry') + self.entry['R100'] = self.builder.get_object('100_entry') + self.entry['R3k'] = self.builder.get_object('3k_entry') + self.entry['R30k'] = self.builder.get_object('30k_entry') + self.entry['R300k'] = self.builder.get_object('300k_entry') + self.entry['R3M'] = self.builder.get_object('3M_entry') + self.entry['R30M'] = self.builder.get_object('30M_entry') + self.entry['R100M'] = self.builder.get_object('100M_entry') + + def on_read_button_clicked(self, data=None): + __main__.MAIN.on_pot_stop_clicked() + + gobject.source_remove(__main__.MAIN.ocp_proc) + dstat_comm.read_settings() + self.entry['R100'].set_text(str( + dstat_comm.settings['r100_trim'][1])) + self.entry['R3k'].set_text(str( + dstat_comm.settings['r3k_trim'][1])) + self.entry['R30k'].set_text(str( + dstat_comm.settings['r30k_trim'][1])) + self.entry['R300k'].set_text(str( + dstat_comm.settings['r300k_trim'][1])) + self.entry['R3M'].set_text(str( + dstat_comm.settings['r3M_trim'][1])) + self.entry['R30M'].set_text(str( + dstat_comm.settings['r30M_trim'][1])) + self.entry['R100M'].set_text(str( + dstat_comm.settings['r100M_trim'][1])) + + __main__.MAIN.start_ocp() + + def on_write_button_clicked(self, data=None): + __main__.MAIN.on_pot_stop_clicked() + gobject.source_remove(__main__.MAIN.ocp_proc) + + dstat_comm.settings['r100_trim'][1] = self.entry['R100'].get_text() + dstat_comm.settings['r3k_trim'][1] = self.entry['R3k'].get_text() + dstat_comm.settings['r30k_trim'][1] = self.entry['R30k'].get_text() + dstat_comm.settings['r300k_trim'][1] = self.entry['R300k'].get_text() + dstat_comm.settings['r3M_trim'][1] = self.entry['R3M'].get_text() + dstat_comm.settings['r30M_trim'][1] = self.entry['R30M'].get_text() + dstat_comm.settings['r100M_trim'][1] = self.entry['R100M'].get_text() + dstat_comm.write_settings() + + __main__.MAIN.start_ocp() \ No newline at end of file diff --git a/dstat-interface/interface/exp_window.py b/dstat-interface/interface/exp_window.py index f5bf561f3f678a95d8c1cc7f6beb7a50d182ce33..0aebdb5fd2dc3290c6c465965182ffc0e032fc0a 100644 --- a/dstat-interface/interface/exp_window.py +++ b/dstat-interface/interface/exp_window.py @@ -32,6 +32,7 @@ class Experiments: self.classes['acv'] = exp.ACV() self.classes['pde'] = exp.PD() self.classes['pot'] = exp.POT() + self.classes['cal'] = exp.CAL() #fill exp_section exp_section = self.builder.get_object('exp_section_box')