Ejemplo n.º 1
0
    def __init__(self, title, procedure, analyse=(lambda x: x)):
        self.title = title
        self.procedure = procedure
        self.measlist = []
        self.port = 5888
        self.plots = []
        self.figs = []
        self._data = []
        self.analyse = analyse
        self._data_timeout = 10

        config = get_config()
        set_mpl_rcparams(config)
        if 'Logging' in config._sections.keys():
            self.scribe = setup_logging(log, **config._sections['Logging'])
        else:
            self.scribe = console_log(log)
        self.scribe.start()

        self.filename = create_filename(self.title)
        log.info("Using data file: %s" % self.filename)

        self.results = Results(self.procedure, self.filename)
        log.info("Set up Results")

        self.worker = Worker(self.results, self.scribe.queue, logging.DEBUG)
        log.info("Create worker")
Ejemplo n.º 2
0
    scribe = console_log(log, level=logging.DEBUG)
    scribe.start()

    filename = tempfile.mktemp()
    log.info("Using data file: %s" % filename)

    procedure = TestProcedure()
    procedure.iterations = 200
    procedure.delay = 0.1
    log.info("Set up TestProcedure with %d iterations" % procedure.iterations)

    results = Results(procedure, filename)
    log.info("Set up Results")

    plotter = Plotter(results)
    plotter.start()

    worker = Worker(results, scribe.queue, log_level=logging.DEBUG)
    log.info("Created worker for TestProcedure")
    log.info("Starting worker...")
    worker.start()

    log.info("Joining with the worker in at most 20 min")
    worker.join(60 * 20)
    log.info("Waiting for Plotter to close")
    plotter.wait_for_close()
    log.info("Plotter closed")

    log.info("Stopping the logging")
    scribe.stop()
Ejemplo n.º 3
0
                    'Reverse Current Dark': abs(trace_data_dark[i, 0]),
                    'Timestamp Dark': trace_data_dark[i, 1],
                    'Status Dark': trace_data_dark[i, 2],
                    'Reverse Voltage Light': abs(trace_data_light[i, 3]),
                    'Reverse Current Light': abs(trace_data_light[i, 0]),
                    'Timestamp Light': trace_data_light[i, 1],
                    'Status Light': trace_data_light[i, 2]
                }) for i in range(n_samples)
        ]
        log.info("Current data emitted")
        log.info("Turning off light source")
        self.power_supply.enabled = "OFF"
        log.info("Waiting for 30sec in between test.")
        sleep(30)


if __name__ == "__main__":
    console_log(log, level=logging.DEBUG)

    procedure = IVSweepProcedure()
    procedure.polarity = "Anode"
    # procedure.step = 1

    data_filename = 'example.csv'
    results = Results(procedure, data_filename)

    worker = Worker(results)
    worker.start()

    worker.join(timeout=3600)  # wait at most 1 hr (3600 sec)