Types
- class quanser.devices.types.LCDTouch
- A structure to hold LCD touch panel information. - gesture
- A gesture indicator. - Type
- int 
 
 - num_fingers
- The number of fingers currently touching the display. This parameter also
- determines the number of valid elements of the arrays in this structure. 
 - Type
- int 
 
 - fingers
- An array of 10 finger structures containing the fields:
- rint
- Represents the pixel row of the finger. 
- cint
- Represents the pixel column of the finger. 
- event: int
- Represents an event for the finger (0 = put down, 1 = put up, 2 = contact, 3 = no event) 
- idint
- Represents the identifier associated with the finger. 
- weightint
- Represents the touch weight (valid points in X * valid points in Y / 2). 
- speedint
- Represents the speed (0 = static, 1 = normal speed, 2 = high speed). 
- directionint
- Represents the direction (0 = up, 1 = down, 2 = left, 3 = right). 
- areaint
- Represents the area covered by the touch. 
 
 - Type
- array 
 
 - Examples - Create a holder for LCD touch panel information. - >>> from quanser.devices import LCDTouch >>> touch_data = LCDTouch() >>> print(f"Location: {touch_data.fingers[0].row}, {touch_data.fingers[0].column}) 
- class quanser.devices.types.RangingMeasurements(num_measurements=0, distance=0.0, distance_sigma=0.0, heading=0.0, quality=0)
- A structure to hold ranging measurements. - Parameters
- distance (float[]) – The distances in metres. 
- distance_sigma (float[]) – Estimates of the standard deviation in the current distance measurement. 
- heading (float[]) – The headings in radians (will be zero for 1D ranging sensors). 
- quality (int[]) – Indications of the quality of the measurement (0 to 100%). 
- length (int) – The number of valid measurements in each array. 
 
 - Examples - Create a holder for ranging measurements. - >>> from quanser.devices.types import RangingMeasurements >>> measurement = RangingMeasurements(num_measurements) - Create a ranging measurement holder containing values. - >>> from quanser.devices.types import RangingMeasurements >>> measurement = RangingMeasurements(720, 10.0, 0.2, 0.0, 50) 
- class quanser.devices.types.VRPNAnalogMeasurements
- A structure to hold VRPN analog measurements. - device
- Index of the analog device that this measurement represents. - Type
- int 
 
 - channel
- Index of the channel of the device that this measurement represents. - Type
- int 
 
 - new
- Indicates whether this measurement contains new data. - Type
- boolean 
 
 - value
- Represents the analog value of the channel. - Type
- float 
 
 - Examples - Create a holder for analog reading measurements. - >>> from quanser.common.utilities import count_list_elements >>> from quanser.devices import VRPNClient, VRPNAnalogMeasurements >>> analog_names = ['Mouse0'] >>> analog_num_channels = arr.array('I', [2]) >>> analog_channels_to_read = [[0, 1]] >>> num_analog_channels = count_list_elements(analog_channels_to_read) >>> analog_measurements = [VRPNAnalogMeasurements() for _ in range(num_analog_channels)] >>> vrpn_client = VRPNClient() >>> vrpn_client.open("localhost:3883", analog_names, analog_num_channels, None, None, None, None, None, None) >>> vrpn_client.initialize(analog_channels_to_read, None, None, None) >>> vrpn_client.read(analog_measurements, None, None, None, False) >>> vrpn_client.close() 
- class quanser.devices.types.VRPNButtonMeasurements
- A structure to hold VRPN button measurements. - device
- Index of the button device that this measurement represents. - Type
- int 
 
 - button
- Index of the button of the device that this measurement represents. - Type
- int 
 
 - new
- Indicates whether this measurement contains new data. - Type
- boolean 
 
 - value
- Represents the value of the button. - Type
- boolean 
 
 - Examples - Create a holder for button reading measurements. - >>> from quanser.common.utilities import count_list_elements >>> from quanser.devices import VRPNClient, VRPNButtonMeasurements >>> button_names = ['Mouse0'] >>> button_num_buttons = arr.array('I', [3]) >>> button_buttons_to_read = [[0, 1, 2]] >>> num_button_buttons = count_list_elements(button_buttons_to_read) >>> button_measurements = [VRPNButtonMeasurements() for _ in range(num_button_buttons)] >>> vrpn_client = VRPNClient() >>> vrpn_client.open("localhost:3883", None, None, button_names, button_num_buttons, None, None, None, None) >>> vrpn_client.initialize(None, button_buttons_to_read, None, None) >>> vrpn_client.read(None, button_measurements, None, None, False) >>> vrpn_client.close() 
- class quanser.devices.types.VRPNDialMeasurements
- A structure to hold VRPN dial measurements. - device
- Index of the dial device that this measurement represents. - Type
- int 
 
 - channel
- Index of the channel of the device that this measurement represents. - Type
- int 
 
 - new
- Indicates whether this measurement contains new data. - Type
- boolean 
 
 - value
- Represents the value of the channel. - Type
- float 
 
 - Examples - Create a holder for dial reading measurements. - >>> from quanser.common.utilities import count_list_elements >>> from quanser.devices import VRPNClient, VRPNDialMeasurements >>> dial_names = ['Dial0'] >>> dial_num_channels = arr.array('I', [2]) >>> dial_channels_to_read = [[0, 1]] >>> num_dial_channels = count_list_elements(dial_channels_to_read) >>> dial_measurements = [VRPNDialMeasurements() for _ in range(num_dial_channels)] >>> vrpn_client = VRPNClient() >>> vrpn_client.open("localhost:3883", None, None, None, None, dial_names, dial_num_channels, None, None) >>> vrpn_client.initialize(None, None, dial_channels_to_read, None) >>> vrpn_client.read(None, None, dial_measurements, None, False) >>> vrpn_client.close() 
- class quanser.devices.types.VRPNTrackerMeasurements
- A structure to hold VRPN tracker measurements. - device
- Index of the tracker device that this measurement represents. - Type
- int 
 
 - sensor
- Index of the tracker sensor of the device that this measurement represents. - Type
- int 
 
 - new
- Indicates whether this measurement contains new data. - Type
- boolean 
 
 - pos
- Represents the xyz coordinates of the tracker sensor. - Type
- float[3] 
 
 - quat
- Represents the orientation of the tracker sensor in quaternion format. - Type
- float[4] 
 
 - vel
- Represents the xyz velocities of the tracker sensor. - Type
- float[3] 
 
 - vel_quat
- Represents the angular velocities of the tracker sensor in quaternion format - Type
- float[4] 
 
 - vel_quat_dt
- Represents the angular velocity delta time of the tracker sensor. - Type
- float 
 
 - acc
- Represents the xyz accelerations of the tracker sensor. - Type
- float[3] 
 
 - acc_quat
- Represents the angular acclerations of the tracker sensor in quaternion format. - Type
- float[4] 
 
 - acc_quat_dt
- Represents the angular acceleration delta time of the tracker sensor. - Type
- float 
 
 - Examples - Create a holder for tracker sensor measurements. - >>> from quanser.common.utilities import count_list_elements >>> from quanser.devices import VRPNClient, VRPNTrackerMeasurements >>> tracker_names = ['Tracker0', 'Tracker1'] >>> tracker_num_sensors = arr.array('I', [2, 2]) >>> tracker_sensors_to_read = [[0, 1], [1]] >>> num_tracker_sensors = count_list_elements(tracker_sensors_to_read) >>> tracker_measurements = [VRPNTrackerMeasurements() for _ in range(num_tracker_sensors)] >>> vrpn_client = VRPNClient() >>> vrpn_client.open("localhost:3883", None, None, None, None, None, None, tracker_names, tracker_num_sensors) >>> vrpn_client.initialize(None, None, None, tracker_sensors_to_read) >>> vrpn_client.read(None, None, None, tracker_measurements, False)