Ejemplo n.º 1
0
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()
def cb_enumerate(uid, connected_uid, position, hardware_version, 
                 firmware_version, device_identifier, enumeration_type):
    
    if connected_uid == '0':
        print 'Master Brick UID: \t%s' % (uid)
    
    #print 'UID: %s' % uid
    #print 'connected_uid: %s' % connected_uid
    #print 'position: %s' % position
    #print 'hardware_version: %i.%i.%i' % hardware_version
    #print 'firmware_version: %i.%i.%i' % firmware_version
    #print 'device_identifier: %d' % device_identifier
    #print 'enumeration_type: %d' % enumeration_type
    
    
    if enumeration_type == IPConnection.ENUMERATION_TYPE_CONNECTED or \
       enumeration_type == IPConnection.ENUMERATION_TYPE_AVAILABLE:
        
        # Enumeration is for IMU Brick
        if device_identifier == IMU.DEVICE_IDENTIFIER:
            
            print 'IMU Brick UID: \t\t%s' % (uid)
            
            # Create imu device object
            imu = IMU(uid, ipcon) 
            imu.set_all_data_period(100)
            imu.register_callback(imu.CALLBACK_ALL_DATA, cb_imudynamic)
            
            
        # Enumeration is for GPS Bricklet
        if device_identifier == GPS.DEVICE_IDENTIFIER:
            
            print 'GPS Bricklet UID: \t%s' % (uid)
            
            # Create imu device object
            gps = GPS(uid, ipcon) 
            gps.set_coordinates_callback_period(100)
            gps.register_callback(gps.CALLBACK_COORDINATES, cb_coordinates)
Ejemplo n.º 3
0
    yawrate = ang_z / 14.375 * 3.14 / 180.0

    temp = temp / 100.0

    collect(ax, ay, az, rollrate, pitchrate, yawrate, temp)


# In[ ]:

# In[10]:

if __name__ == "__main__":

    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
    print('IMU connected')

    # Register callback
    imu.set_all_data_period(10)  #10ms
    imu.register_callback(imu.CALLBACK_ALL_DATA, cb_imudynamic)

    raw_input('Press key to exit\n')  # Use input() in Python 3
    ipcon.disconnect()

# In[ ]:

# In[ ]:


# In[10]:

if __name__ == "__main__":
    
    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
    print('IMU connected')
    
    # Register callback
    imu.set_all_data_period(10) #10ms
    imu.register_callback(imu.CALLBACK_ALL_DATA, cb_imudynamic)

    raw_input('Press key to exit\n') # Use input() in Python 3
    ipcon.disconnect()


# In[ ]:




# In[ ]: