#!/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()