def main(): """ Main function """ codenames = [] for channel in settings.channels.values(): channel['reader'] = SocketReaderClass(channel['host'], channel['port'], channel['command']) channel['reader'].start() channel['logger'] = ValueLogger(channel['reader'], comp_val=channel['comp_value']) channel['logger'].daemon = True channel['logger'].start() codenames.append(channel['codename']) db_logger = ContinuousDataSaver(continuous_data_table=settings.dateplot_table, username=credentials.user, password=credentials.passwd, measurement_codenames=codenames) db_logger.start() time.sleep(2) everything_ok = True while everything_ok: time.sleep(0.25) for channel in settings.channels.values(): if not channel['reader'].isAlive(): everything_ok = False value = channel['logger'].read_value() if channel['logger'].read_trigged(): print(value) db_logger.save_point_now(channel['codename'], value) channel['logger'].clear_trigged()
def main(): """ Main function """ logging.basicConfig(filename="logger.txt", level=logging.ERROR) logging.basicConfig(level=logging.ERROR) hih_instance = honeywell_6000.HIH6130() reader = Reader(hih_instance) reader.daemon = True reader.start() time.sleep(5) codenames = ['chemlab312_temperature', 'chemlab312_humidity'] loggers = {} loggers[codenames[0]] = ValueLogger(reader, comp_val=0.2, comp_type='lin', channel=1) loggers[codenames[0]].daemon = True loggers[codenames[0]].start() loggers[codenames[1]] = ValueLogger(reader, comp_val=0.2, comp_type='lin', channel=2) loggers[codenames[1]].daemon = True loggers[codenames[1]].start() livesocket = LiveSocket('Chemlab312 Air Logger', codenames) livesocket.start() socket = DateDataPullSocket('Chemlab312 Air Logger', codenames, timeouts=[1.0] * len(loggers)) socket.start() db_logger = ContinuousDataSaver(continuous_data_table='dateplots_chemlab312', username=credentials.user, password=credentials.passwd, measurement_codenames=codenames) db_logger.start() while reader.isAlive(): time.sleep(0.5) for name in codenames: value = loggers[name].read_value() livesocket.set_point_now(name, value) socket.set_point_now(name, value) if loggers[name].read_trigged(): print(value) db_logger.save_point_now(name, value) loggers[name].clear_trigged()
def main(): """ Main function """ codenames = [] for channel in settings.channels.values(): channel['reader'] = SocketReaderClass(channel['host'], channel['port'], channel['command']) channel['reader'].start() channel['logger'] = ValueLogger(channel['reader'], comp_val=channel['comp_value']) channel['logger'].daemon = True channel['logger'].start() codenames.append(channel['codename']) try: port = settings.port_number except AttributeError: port = 9000 pullsocket = DateDataPullSocket(settings.user + '-socket_logger', codenames, timeouts=5, port=port) pullsocket.start() db_logger = ContinuousDataSaver(continuous_data_table=settings.dateplot_table, username=settings.user, password=settings.passwd, measurement_codenames=codenames) db_logger.start() time.sleep(2) everything_ok = True while everything_ok: time.sleep(0.25) for channel in settings.channels.values(): if not channel['reader'].isAlive(): everything_ok = False # Report error here!!! # Consider to keep program running even in case of # socket failures value = channel['logger'].read_value() pullsocket.set_point_now(channel['codename'], value) if channel['logger'].read_trigged(): print(value) db_logger.save_point_now(channel['codename'], value) channel['logger'].clear_trigged()
self.quit = True #logging.basicConfig(filename="logger.txt", level=logging.ERROR) #logging.basicConfig(level=logging.ERROR) dmm_port = '/dev/serial/by-id/usb-9710_7840-if00-port0' dmm = keithley2700.Keithley2700('serial', device=dmm_port) reader = DmmReader(dmm) reader.daemon = True reader.start() codenames = ['omicron_rtd_resistance',] loggers = {} for i in range(0, len(codenames)): loggers[codenames[i]] = ValueLogger(reader, maximumtime=60, comp_type = 'lin', comp_val = 0.1, channel = i) loggers[codenames[i]].daemon = True loggers[codenames[i]].start() socket = DateDataPullSocket('omicron_rtd_resistance', codenames, port=9001, timeouts=[5.0] * len(codenames)) socket.daemon = True socket.start() #db_logger = ContinuousLogger(table='dateplots_omicron', # username=credentials.user, # password=credentials.passwd, # measurement_codenames=codenames) #db_logger.daemon = True #db_logger.start() time.sleep(5)
self.quit = True ngc2d_port = '/dev/serial/by-id/usb-9710_7840-if00-port0' omega_port = 'usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0' iongauge = NGC2d.NGC2d(device=ngc2d_port) omega = omegabus.OmegaBus(device=omega_port) reader = Reader(iongauge, omega) reader.daemon = True reader.start() codenames = ['omicron_nanobeam_pressure', 'omicron_nanobeam_temperature'] loggers = {} for i in range(0, len(codenames)): loggers[codenames[i]] = ValueLogger(reader, maximumtime=60, comp_type = 'lin', comp_val = 0.1, channel = i) loggers[codenames[i]].daemon = True loggers[codenames[i]].start() socket = DateDataPullSocket('omicron_nanobeam', codenames, port=9000, timeouts=[5.0] * len(codenames)) socket.daemon = True socket.start() #db_logger = ContinuousLogger(table='dateplots_omicron', # username=credentials.user, # password=credentials.passwd, # measurement_codenames=codenames) #db_logger.daemon = True #db_logger.start() time.sleep(5) run = True