-
Notifications
You must be signed in to change notification settings - Fork 0
/
attention.py
37 lines (29 loc) · 1.06 KB
/
attention.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import sys
import thinkgear
from multiprocessing import Process, Value
from time import sleep
class Attention():
def monitor_attention(self, callback):
Process(target=self._start_reading, args=(callback,)).start()
def _start_reading(self, callback):
while True:
try:
for pkt in thinkgear.ThinkGearProtocol('/dev/rfcomm0').get_packets():
for d in pkt:
if isinstance(d, thinkgear.ThinkGearAttentionData):
current_value = int(d.value)
if not callback(current_value):
return
except:
sleep(5)
pass
def update_attention(value):
print >>sys.stderr, "EEG:", value
return True
if __name__ == '__main__':
#main()
a = Attention()
a.monitor_attention(update_attention)
sleep(5)
while True:
sleep(1)