Commit a5258ef3 authored by Julio Tambara's avatar Julio Tambara
Browse files

Muitas modificações...

Foram adicionados o arquivo Modulo.py, ele contem uma classe(modulo)
Essa classe faz toda a comunic com o programa em C.
Foi adicionado o arquivo User_config.txt, ele vai ser usado para
habilitar 1 ou 2 modulos.
Foram feitas pequenas modificações para deixar o programa melhor(mais
limpo).
parent 94990bcb
import Tkinter as tk
import pexpect
import numpy as np
from array import *
##############################################################################
##############################################################################
class Modulo:
Data=array('L',[0]*8192)
Controle=dict(pause=1,Nmr_serial=0,Nmr_canais=512, ON=0)
Livetime = dict(ADC_Conversion=0 , Time=0. , LiveTime=0.)
child= None
def __init__(self, Nmr_modulo):
self.child = pexpect.spawn('./N957Run '+ Nmr_modulo)
#self.Controle['Nmr_serial']=Serial
def start(self):
self.child.send('s')
msg=(self.child.readline().strip("\r\n"))
if msg == 'OK':
return 1
else:
return msg
def set_fator(self, canais): # Define o fator para conversao do numero de canais
self.Nmr_canais=canais
if int(canais) == 8192: # 8192 pontos
self.child.send('a')
elif int(canais) == 4096: # 4096 pontos
self.child.send('b')
elif int(canais) == 2048: # 2048 pontos
self.child.send('c')
elif int(canais) == 1024: # 1024 pontos
self.child.send('d')
elif int(canais) == 512: # 512 pontos
self.child.send('e')
elif int(canais) == 256: # 256 pontos
self.child.send('f')
elif int(canais) == 128: # 128 pontos
self.child.send('g')
elif int(canais) == 64: # 64 pontos
self.child.send('h')
def load(self):
self.child.send('y')
def LLDT(self, lldt):
self.child.send('j')
self.child.send(chr(int(lldt)/10))
self.child.send(chr(int(lldt)%10))
def Read_Data(self):
msg=(self.child.readline().strip("\r\n"))
if msg == 'OK':
self.Data = eval(self.child.readline().strip("\r\n"))
self.Livetime['ADC_Conversion'] = int(self.child.readline().strip("\r\n"))
self.Livetime['Time'] = float(self.child.readline().strip("\r\n"))
self.Livetime['LiveTime'] = float(self.child.readline().strip("\r\n"))
return msg
def dump(self): # Sinal para programa coletor enviar os dados
self.child.send('i')
def reset(self,size):
for k in range(size):
self.Data[k] = 0
self.child.send('r')
def pause(self):
self.child.send('p')
Nmr Seriais dos módulos: (CUIDADO AO MODIFICAR ESSE ARQUIVO)
0113
0175
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment