def start(g, gl): global geiger, geigerlog, clients_handler geiger = g geigerlog = gl clients_handler = geigerclient.ClientsHandler(geiger, geigerlog) ip = cfg.get('server', 'ip') port = cfg.getint('server', 'port') log.info("listening on %s:%d" % (ip, port)) server = WSGIServer((ip, port), app, handler_class=WebSocketHandler) server.serve_forever()
def start(g,gl): global geiger, geigerlog, clients_handler geiger = g geigerlog = gl clients_handler = geigerclient.ClientsHandler(geiger,geigerlog) ip = cfg.get('server','ip') port = cfg.getint('server','port') log.info("listening on %s:%d" % (ip, port)) server = WSGIServer((ip, port), app, handler_class=WebSocketHandler) server.serve_forever()
def run(self): if gpio_available: GPIO.setmode(GPIO.BCM) gpio_port = cfg.getint('geigercounter','gpio_port') GPIO.setup(gpio_port,GPIO.IN) GPIO.add_event_detect(gpio_port,GPIO.FALLING) GPIO.add_event_callback(gpio_port,self.tick) # I2C config for HV output i2c_addr = 0x19 bus = smbus.SMBus(1) # I2C1 port bus.write_byte(i2c_addr, 0x71) else: TickSimulator(self).start() cpm_fifo = deque([],60) cpm_dtc_fifo = deque([],60) while True: time.sleep(1) # Statistical correction of tube dead-time if gpio_available: deadtime = cfg.getfloat('geigercounter','tube_dead_time') count_dtc = int(self.count/(1-(self.count*deadtime))) else: count_dtc = self.count cpm_fifo.appendleft(self.count) cpm_dtc_fifo.appendleft(count_dtc) self.cpm = int(sum(cpm_fifo)*60.0/len(cpm_fifo)) self.cpm_dtc = int(sum(cpm_dtc_fifo)*60.0/len(cpm_dtc_fifo)) self.cps = self.count self.cps_dtc = count_dtc ratefactor = cfg.getfloat('geigercounter','tube_rate_factor') self.edr = round(self.cpm_dtc * ratefactor,2) self.totalcount_dtc += (count_dtc - self.count) self.count = 0 log.debug(self.get_state())
def run(self): if gpio_available: GPIO.setmode(GPIO.BCM) gpio_port = cfg.getint('geigercounter','gpio_port') GPIO.setup(gpio_port,GPIO.IN) GPIO.add_event_detect(gpio_port,GPIO.FALLING) GPIO.add_event_callback(gpio_port,self.tick) else: TickSimulator(self).start() cpm_fifo = deque([],60) cpm_dtc_fifo = deque([],60) while True: time.sleep(1) # Statistical correction of tube dead-time if gpio_available: deadtime = cfg.getfloat('geigercounter','tube_dead_time') count_dtc = int(self.count/(1-(self.count*deadtime))) else: count_dtc = self.count cpm_fifo.appendleft(self.count) cpm_dtc_fifo.appendleft(count_dtc) self.cpm = int(sum(cpm_fifo)*60.0/len(cpm_fifo)) self.cpm_dtc = int(sum(cpm_dtc_fifo)*60.0/len(cpm_dtc_fifo)) self.cps = self.count self.cps_dtc = count_dtc ratefactor = cfg.getfloat('geigercounter','tube_rate_factor') self.edr = round(self.cpm_dtc * ratefactor,2) self.totalcount_dtc += (count_dtc - self.count) self.count = 0 log.debug(self.get_state())