def collect_data(suffix): global SAMPLE_RATE global w1 global row print "Now recording " + suffix ipcon = IPConnection() # Create IP connection imu = IMU(UID, ipcon) # Create device object ipcon.connect(HOST, PORT) # Connect to brickd # Don't use device before ipcon is connected # Set period for quaternion callback to 1s imu.set_all_data_period(SAMPLE_RATE) imu.set_orientation_period(SAMPLE_RATE) imu.set_quaternion_period(SAMPLE_RATE) f1 = open('data/letters/all_data_'+suffix+'.csv', 'wb') w1 = csv.writer(f1) row = [] # Register quaternion callback imu.register_callback(imu.CALLBACK_ALL_DATA, cb_all_data) imu.register_callback(imu.CALLBACK_ORIENTATION, cb_orientation_data) imu.register_callback(imu.CALLBACK_QUATERNION, cb_quaternion_data) raw_input('Press key to quit recording ' + suffix + ' \n') # Use input() in Python 3 ipcon.disconnect()