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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#!/usr/bin/env python
import argparse
import threading
import time
import random
from argaze.TobiiGlassesPro2 import TobiiController
from argaze.utils import MiscFeatures
def main():
"""
Record a Tobii Glasses Pro 2 session on Tobii interface's SD Card
"""
# Manage arguments
parser = argparse.ArgumentParser(description=main.__doc__.split('-')[0])
parser.add_argument('-t', '--tobii_ip', metavar='TOBII_IP', type=str, default='192.168.1.10', help='tobii glasses ip')
parser.add_argument('-p', '--project_name', metavar='PROJECT_NAME', type=str, default=TobiiController.DEFAULT_PROJECT_NAME, help='project name')
parser.add_argument('-u', '--participant_name', metavar='PARTICIPANT_NAME', type=str, default=TobiiController.DEFAULT_PARTICIPANT_NAME, help='participant name')
args = parser.parse_args()
# Create tobii controller
tobii_controller = TobiiController.TobiiController(args.tobii_ip, args.project_name, args.participant_name)
# Calibrate tobii glasses
tobii_controller.calibrate()
# Create recording
recording_id = tobii_controller.create_recording(args.participant_name)
# Start recording
tobii_controller.start_recording(recording_id)
print('Recording started')
# Define loop
last_battery_level = 0
time_count = 0
exit = MiscFeatures.ExitSignalHandler()
print('Waiting for Ctrl+C to quit...\n')
while not exit.status():
# Print storage info each minutes
if time_count % 60 == 0:
print(tobii_controller.get_storage_info())
# print battery level each time it changes
# send it as experimental variable
battery_level = tobii_controller.get_battery_level()
if battery_level != last_battery_level:
print(tobii_controller.get_battery_info())
tobii_controller.send_variable('battery', battery_level)
last_battery_level = battery_level
# send random event each 3 - 10 seconds
if time_count % random.randint(3, 10) == 0:
print('Send random event')
tobii_controller.send_event('random')
# Sleep 1 second
time.sleep(1)
time_count += 1
# Stop recording
tobii_controller.stop_recording(recording_id)
print('Recording stopped')
if __name__ == '__main__':
main()
|