make interrupt smalle (and hopefully faster)
parent
4d37eeeb35
commit
deee8c4d3b
39
s0_detect.py
39
s0_detect.py
|
@ -15,26 +15,31 @@ if "device" in log_conf:
|
|||
g.setmode(g.BCM)
|
||||
g.setup(1, g.IN,pull_up_down=g.PUD_UP)
|
||||
global revcount
|
||||
revcount = 0
|
||||
revcount = []
|
||||
def increaserev(channel):
|
||||
timestamp=int(1000*time.time())
|
||||
json_out={"time": timestamp,"device": devicename,"payload":{"S0":{"timestamp": timestamp,"sensor":"S0","i2c":0,"value":1}}}
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
except:
|
||||
print("{}: could not connect to database".format(time.time()))
|
||||
else:
|
||||
try:
|
||||
s.connect(("banana", 24048))
|
||||
except:
|
||||
print("{}: could not connect to database".format(time.time()))
|
||||
else:
|
||||
s.sendall(json.dumps(json_out))
|
||||
s.close()
|
||||
global revcount
|
||||
revcount += 1
|
||||
revcount.append(int(time.time()*1000))
|
||||
|
||||
g.add_event_detect(1, g.RISING, callback=increaserev)
|
||||
while True:
|
||||
sleep(60)
|
||||
print "RPM is {0}".format(revcount)
|
||||
if len(revcount) > 0:
|
||||
rc=revcount[:]
|
||||
for i in rc:
|
||||
json_out={"time": timestamp,"device": devicename,"payload":{"S0":{"timestamp": timestamp,"sensor":"S0","i2c":0,"value":1}}}
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
except:
|
||||
print("{}: could not connect to database".format(time.time()))
|
||||
else:
|
||||
try:
|
||||
s.connect(("banana", 24048))
|
||||
except:
|
||||
print("{}: could not connect to database".format(time.time()))
|
||||
else:
|
||||
s.sendall(json.dumps(json_out))
|
||||
s.close()
|
||||
revcount.remove(i)
|
||||
|
||||
print "RPM is {0}".format(len(revcount))
|
||||
revcount = 0
|
||||
|
|
Loading…
Reference in New Issue