def open_sensel(): handle = None error, device_list = sensel.getDeviceList() if device_list.num_devices != 0: error, handle = sensel.openDeviceByID(device_list.devices[0].idx) error, info = sensel.getSensorInfo(handle) print(info) return handle, info
def _initFrame(self): (error, self.info) = sensel.getSensorInfo(self.handle) error = sensel.setFrameContent(self.handle, 0x0F) error = sensel.setContactsMask(self.handle, 0x0F) (error, frame) = sensel.allocateFrameData(self.handle) error = sensel.startScanning(self.handle) self._frame = frame self.frames = [] self.updated = False try: _thread.start_new_thread(self._run, ()) except: print("Thread Error")
def printFrame(frame, info): if frame.n_contacts > 0: print "\nNum Contacts: ", frame.n_contacts for n in range(frame.n_contacts): c = frame.contacts[n] print "Contact ID: ", c.id if c.state == sensel.CONTACT_START: sensel.setLEDBrightness(handle, c.id, 100) elif c.state == sensel.CONTACT_END: sensel.setLEDBrightness(handle, c.id, 0) def closeSensel(frame): error = sensel.freeFrameData(handle, frame) error = sensel.stopScanning(handle) error = sensel.close(handle) if __name__ == "__main__": global enter_pressed handle = openSensel() if handle != None: (error, info) = sensel.getSensorInfo(handle) frame = initFrame() t = threading.Thread(target=waitForEnter) t.start() while (enter_pressed == False): scanFrames(frame, info) closeSensel(frame)
def __init__(self, index=0, tag=''): self.handle = self.open(index) self.frame = self.init_frame() # self.info is not currently used, but this is how to get it. Let's take a look and see what info we get self.info = self.close_on_error(sensel.getSensorInfo(self.handle)) self.contact_frames = queue.Queue(maxsize=1024)