Device Support for CRGSHARE --------------------------- Device types: - workstation keyboard - 2D input device - 3D input device - 6DOF input device - buttons - valuators Configuration information: - what devices are available at a site - what devices are attached to a machine Information about a device: - what type is it? - how many "units" does it have (eg a polhemus may have several receivers) - configuration information (port, baud rate etc) - workspace information (position and orientations of source & receivers) Configuration ------------- BibTeX is used as the format for the device configuration files. Entry types @INPUT_DEVICE{device_name, # eg dream.mouse CLASS = "", # keyboard, 2dposition, 3dposition, 6dposition, buttons, valuator TYPE = "", # device type e.g. fastrak, divsmouse DEVICE = "", # operating system device name eg /dev/ttyd2 PORT = "", # port number BAUDRATE = "", # baud rate to talk to device NUM_UNITS = "", number of logical units supported by this device ATTACHMENT = "", # (per unit) what device is attached to (head, right hand) # position trackers only ORIGIN_POS = "x,y,z,xR,yR,zR", # position and orientation of tracker source SENSOR_POS = "x,y,z,xR,yR,zR", # orientation and offset for tracker sensor SENSOR_POS = "x,y", # 2 DOF SENSOR_POS = "x,y,z", # 3 DOF SENSOR_POS = "x,y,z,xR,yR,zR", # 6 DOF } @OUTPUT_DEVICE{device_name, TYPE = "", # 3dgraphic, 2dgraphic, audio DEVICE = "", # operating system device name eg /dev/audio PORT = "", # port number BAUDRATE = "", # baud rate to talk to device } Device types ------------ fastrak = Polhemus Fastrak divmouse = Division mour button device API --- Calls to - open a device - close a device - open a unit - close a unit - return device description