def main(): """ Main function """ logging.basicConfig(filename="logger.txt", level=logging.ERROR) logging.basicConfig(level=logging.ERROR) i2c_helper = ABEHelpers() bus = i2c_helper.get_smbus() adc_instance = DeltaSigma(bus, 0x68, 0x69, 18) tempreader = TemperatureReader(adc_instance) tempreader.daemon = True tempreader.start() codenames = ['cooling_water_hot', 'cooling_water_cold'] loggers = {} for i in range(0, 2): loggers[codenames[i]] = ValueLogger(tempreader, comp_val=0.5, channel=i) loggers[codenames[i]].start() socket = DateDataPullSocket('hall_cooling_water_temp', codenames, timeouts=2.0) socket.start() live_socket = LiveSocket('hall_waterpressure', codenames) live_socket.start() db_logger = ContinuousDataSaver(continuous_data_table='dateplots_hall', username=credentials.user, password=credentials.passwd, measurement_codenames=codenames) db_logger.start() time.sleep(5) while tempreader.is_alive(): time.sleep(0.25) for name in codenames: value = loggers[name].read_value() socket.set_point_now(name, value) live_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 """ logging.basicConfig(filename="logger.txt", level=logging.ERROR) logging.basicConfig(level=logging.ERROR) i2c_helper = ABEHelpers() bus = i2c_helper.get_smbus() adc_instance = DeltaSigma(bus, 0x68, 0x69, 18) pressurereader = PressureReader(adc_instance) pressurereader.daemon = True pressurereader.start() codenames = ['mr_iongauge_pressure'] logger = ValueLogger(pressurereader, comp_val=0.5) logger.start() socket = DateDataPullSocket('Microreactor Ion Gauge', codenames, timeouts=[1.0]) socket.start() live_socket = LiveSocket('Microreactor Ion Gauge', codenames, 2) live_socket.start() db_logger = ContinuousDataSaver(continuous_data_table='dateplots_microreactor', username=credentials.user, password=credentials.passwd, measurement_codenames=codenames) db_logger.start() time.sleep(2) while True: time.sleep(0.25) value = logger.read_value() socket.set_point_now(codenames[0], value) live_socket.set_point_now(codenames[0], value) if logger.read_trigged(): print(value) db_logger.save_point_now(codenames[0], value) logger.clear_trigged()
ABElectronics Delta-Sigma Pi 8-Channel ADC demo Version 1.0 Created 09/05/2014 Version 1.1 16/11/2014 updated code and functions to PEP8 format Requires python smbus to be installed run with: python demo-read_voltage.py ================================================ Initialise the ADC device using the default addresses and sample rate, change this value if you have changed the address selection jumpers Sample rate can be 12,14, 16 or 18 """ i2c_helper = ABEHelpers() bus = i2c_helper.get_smbus() adc = DeltaSigma(bus, 0x68, 0x69, 18) while (True): # clear the console os.system('clear') # read from adc channels and print to screen print("Channel 1: %02f" % adc.read_voltage(1)) print("Channel 2: %02f" % adc.read_voltage(2)) print("Channel 3: %02f" % adc.read_voltage(3)) print("Channel 4: %02f" % adc.read_voltage(4)) print("Channel 5: %02f" % adc.read_voltage(5)) print("Channel 6: %02f" % adc.read_voltage(6)) print("Channel 7: %02f" % adc.read_voltage(7)) print("Channel 8: %02f" % adc.read_voltage(8))
while not self.quit: temp_hot = 0 temp_cold = 0 for _ in range(0, 4): temp_hot += adc_instance.read_voltage(1) temp_cold += adc_instance.read_voltage(2) self.hot = (temp_hot / 4 - 0.4) / 0.0195 self.cold = (temp_cold / 4 - 0.4) / 0.0195 - 3.5 logging.basicConfig(filename="logger.txt", level=logging.ERROR) logging.basicConfig(level=logging.ERROR) i2c_helper = ABEHelpers() bus = i2c_helper.get_smbus() adc_instance = DeltaSigma(bus, 0x68, 0x69, 18) tempreader = TemperatureReader(adc_instance) tempreader.daemon = True tempreader.start() codenames = ['cooling_water_hot', 'cooling_water_cold'] loggers = {} for i in range(0, 2): loggers[codenames[i]] = ValueLogger(tempreader, comp_val=0.5, channel=i) loggers[codenames[i]].start() socket = DateDataPullSocket('hall_cooling_water_temp', codenames, timeouts=[2.0, 2.0]) socket.start()