code: function checkForUSBConnectivity(bundle) {
  		var defered = q.defer();
  		var connectionStatus = {
  			'type': 'USB',
  			'isConnectable': false,	// Can another process als use this connection?
  			'isConnected': false,	// Is this the currently active connection?
  			'isAvailable': false,	// Is this an available connection type?
  			'id': undefined,
  		}
  		var isConnected = false;
  		// Determine whether or not the current connection type is USB.
  		if(self.savedAttributes.connectionTypeName === 'USB') {
  			connectionStatus.isConnected = true; // This is the currently active connection.
  		}
  
  		if(connectionStatus.isConnected) {
  			connectionStatus.isConnectable = false; // USB devices, only 1 active connection.
  			connectionStatus.isAvailable = true;	// This device is available via USB.
  			connectionStatus.id = self.savedAttributes.serialNumber.toString();
  			bundle.connections.push(connectionStatus);
  			defered.resolve(bundle);
  		} else {
  			// ljm_ffi
  			var id = self.savedAttributes.serialNumber.toString();
  			connectionStatus.id = self.savedAttributes.serialNumber.toString();
  			var dt = self.savedAttributes.deviceTypeName;
  			var ct = 'USB';
  			function closeFinished(data) {
  				defered.resolve(bundle);
  			}
  			function openFinished(data) {
  				if(data.ljmError === 0) {
  					connectionStatus.isConnectable = true;
  					connectionStatus.isAvailable = true;
  					bundle.connections.push(connectionStatus);
  					ljm_ffi.LJM_Close.async(data.handle, closeFinished);
  				} else {
  					// connectionStatus.isConnectable = false;
  					// connectionStatus.isAvailable = false;
  					// bundle.connections.push(connectionStatus);
  					defered.resolve(bundle);
  				}
  			}
  			ljm_ffi.LJM_OpenS.async(dt, ct, id, 0, openFinished);
  		}
  		return defered.promise;	
  	}
docs: Available Connection Types: