Phidget21.NET This class represents a list of available or attached phidgets. This class contains an indexer list storing references to attached or available phidgets. The Phidget indexer list. This gets a reference to an attached or available phidget. The phidget index. The reference to the phidget stored at the provided index. This class represents an axis of acceleration for a Phidget Accelerometer. All the properties of an Accelerometer axis are stored and modified in this class. A Phidget Accelerometer axis object stores the acceleration data for that axis. The sensitivity of the acceleration readings for the realted axis is implemented in this class. The sensitivity property represents the read sensitivity of the acceleration data for this axis. The sensitivity property gets/sets the sensitiviy data member. This is the difference in acceleration that must appear between succesive calls to the OnAccelerationChange event handler. If this Phidget is not opened and attached. The acceleration property represents the acceleration data for this axis. If this Phidget is not opened and attached. The AccelerationMax property represents the largest acceleration value that this axis will return If the returned acceleration is equal to this maximum, assume that this axis has been saturated - the actual acceleration could be higher. If this Phidget is not opened and attached. The AccelerationMin property represents the largest (negative) acceleration value that this axis will return If the returned acceleration is equal to this minimum, assume that this axis has been saturated - the actual acceleration could be higher. If this Phidget is not opened and attached. This class represents the collection of axes related to a Phidget Accelerometer. All the methods and properties used to axes the available axes are implemented in this class. This class contains the count of the available axes and the axis indexer to access the axes. The AccelerometerAxis indexer list. The axis index. Index 0 is the x-axis, 1 is the y-axis, and 2 is the z-axis (where available). The axis object stored at that index that represents the corresponding axis. This class represents a servo motor for a Phidget Servo. All the properties of a servo motor are stored and modified in this class. A Phidget Servo servo object stores the position data for that motor. Sets custom servo parameters for using a servo not in the predefined list. Pulse widths are specified in microseconds. If this Phidget is not opened and attached. Gets or sets the position property of the servo motor. Note that since servo motors do not offer any feedback in their interface, this value is simply whatever the servo was last set to. There is no way of determining the position of a servo that has been plugged in, until it's position has been set. Therefore, if an initial position is important, it should be set as part of initialization. If this Phidget is not opened and attached, or if the position is out of range. Represents the largest position value that this motor will accept If this Phidget is not opened and attached. Represents the smallest position value that this motor will accept If this Phidget is not opened and attached. Gets or sets the engaged property of the servo motor. Setting this to true sends the servo to the currently set position - and holds it there. Setting this to false will remove the holding force, so the servo can be freely rotated by hand. If this Phidget is not opened and attached. Sets / Gets the type of servo. This determines how degrees are calculated from PCM pulses, and sets min and max angles. If this Phidget is not opened and attached. Supported servo types. This class represents a collection of Servo servo motors. All the methods and properties used to access the available servo motors are implemented in this class. This class contains the count of the available servo motors and the Servo servo motor indexer to access the Servo servo motor objects. The Servo motor object indexer list. This gets a reference to the Servo motor object stored at the supplied index locaiton in the collection list. The Servo motor object index. A reference to the Servo motor object stored at the supplied index location in the collection list. This class represents an axis of acceleration on a Phidget Spatial board. Gets the current acceleration, in gs. If this Phidget is not opened and attached. Gets the maximum acceleration that the sensor can measure. If this Phidget is not opened and attached. Gets the minimum acceleration that the sensor can measure. If this Phidget is not opened and attached. This class represents a collection of accelerometer axes. Gets an accelerometer axes. Index of the axis to get. The requested axis. This class represents a gyroscope axis on the Phidget Spatial. Gets the angular rate of rotation for this Gyro axis, in degrees per second. Gets the maximum supported angular rate for this gyro axis. Gets the minimum supported angular rate for this gyro axis. This class represents a collection of gyro axes. Returns a gyro axis. Index of the axis to return. The axis. This class represents a compass axis on the Phidget Spatial. Gets the magnetic field strength for this axis, in Gauss. Gets the maximum magnetic field strength measurable by this compass axis. Gets the minimum magnetic field strength measurable by this compass axis. This class represents a collection of compass axes Gets a compass axis. Index of the axis to get. The compass axis. This class represents a set of spatial data for a moment in time. Acceleration data. Angular rate (gyro) data. Magnetic field strength (compass) data. Timestamp of when this data was taken. This timestamp starts at 0 when the Phidget is opened/attached. This class represents a Phidget Frequency Counter. All methods to control a Phidget Frequency Counter are implemented in this class. Base class from which all Phidget device classes derive. Don't create phidget devices directly using this class. Use the specific class for the device that you wish to access. Enables logging. This enables logging of library messages to a file or the console. This is usually used for debugging the phidget21 C library. The highest level of logging that will be output. Filename to log to. Specify NULL to output to the console. Disables logging. This disables logging. This only needs to be called if logging was previously enabled. Adds a message to the log. This adds a line to the log at a certain logging level. This is usefull for debugging, but be aware that the log will be full of low level C API logs, and is not generally usefull to those outside of Phidgets Inc. The level to enter the log at. An arbitrary identifier for this log. This can be NULL. The C library uses this field for source filename and line number. The message to log. Open this Phidget with a specific serial number. Open is pervasive. What this means is that you can call open on a device before it is plugged in, and keep the device opened across device dis- and re-connections. Open is Asynchronous. What this means is that open will return immediately – before the device being opened is actually available, so you need to use either the attach event or the waitForAttachment method to determine if a device is available before using it. This version of open specifies a serial number - The serial number is a unique number assigned to each Phidget during production and can be used to uniquely identify specific phidgets. The Serial Number Open a Phidget without a serial number. The first available Phidget will be opened. If there are two Phidgets of the same type attached to the system, you should specify a serial number, as there is no guarantee which Phidget will be selected by the call to open(). Open a Phidget remotely using an IP Address, without a serial number. This version of open is network based. This method is the same as open(int serialNumber, string IPAddress, int port), except that it specifies no serial number. Therefore, the first available Phidget will be opened. If there are two Phidgets of the same type attached to the system, you should specify a serial number, as there is no guarantee which Phidget will be selected by the call to open(). The server IP address. The server port. Open this Phidget remotely using an IP Address, and a specific serial number. This version of open is network based. This version of open specifies a serial number - The serial number is a unique number assigned to each Phidget during production and can be used to uniquely identify specific phidgets. use open(string IPAddress, int port) to open a device without specifying the serial number. The Serial Number IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice Open a Phidget remotely using a Server ID, without a serial number. This version of open is network based. This method is the same as open(int serialNumber, string ServerID), except that it specifies no serial number. Therefore, the first available Phidget will be opened. If there are two Phidgets of the same type attached to the system, you should specify a serial number, as there is no guarantee which Phidget will be selected by the call to open(). The Server ID Open this Phidget remotely using a Server ID, and a specific serial number. This version of open is network based. This version of open specifies a serial number - The serial number is a unique number assigned to each Phidget during production and can be used to uniquely identify specific phidgets. use open(string ServerID) to open a device without specifying the serial number. The Serial Number ServerID of the Phidget Webservice Open a Phidget remotely and securely, using an IP Address, without a serial number. This version of open is network based. This method is the same as open(int serialNumber, string IPAddress, int port, String password), except that it specifies no serial number. Therefore, the first available Phidget will be opened. If there are two Phidgets of the same type attached to the system, you should specify a serial number, as there is no guarantee which Phidget will be selected by the call to open(). IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice The secure password for the Phidget Webservice Open this Phidget remotely and securely, using an IP Address, and a specific serial number. This version of open is network based. This method is the same as open(int serialNumber, string IPAddress, int port), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. The Serial Number IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice The secure password for the Phidget Webservice Open this Phidget remotely and securely, using a Server ID, without a serial number. This version of open is network based. This method is the same as open(int serialNumber, string ServerID, String password), except that it specifies no serial number. Therefore, the first available Phidget will be opened. If there are two Phidgets of the same type attached to the system, you should specify a serial number, as there is no guarantee which Phidget will be selected by the call to open(). ServerID of the Phidget Webservice The secure password for the Phidget Webservice Open this Phidget remotely and securely, using a Server ID, and a specific serial number. This version of open is network based. This method is the same as open(int serialNumber, string ServerID), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. The serial number ServerID of the Phidget Webservice The secure password for the Phidget Webservice Open this Phidget with a specific label. Open is pervasive. What this means is that you can call open on a device before it is plugged in, and keep the device opened across device dis- and re-connections. Open is Asynchronous. What this means is that open will return immediately – before the device being opened is actually available, so you need to use either the attach event or the waitForAttachment method to determine if a device is available before using it. This version of open specifies a label - The label can be set and changed by using the setLabel method (setLabel is unsupported on Windows). The Label Open this Phidget remotely using an IP Address, and a specific label. This version of open is network based. This version of open specifies a label - The label can be set and changed by using the setLabel method (setLabel is unsupported on Windows). use open(string IPAddress, int port) to open a device without specifying the label. The Label IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice Open this Phidget remotely using a Server ID, and a specific label. This version of open is network based. This version of open specifies a label - The label can be set and changed by using the setLabel method (setLabel is unsupported on Windows). use open(string ServerID) to open a device without specifying the label. The Label ServerID of the Phidget Webservice Open this Phidget remotely and securely, using an IP Address, and a specific label. This version of open is network based. This method is the same as openLabel(string label, string IPAddress, int port), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. The Label IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice The secure password for the Phidget Webservice Open this Phidget remotely and securely, using a Server ID, and a specific label. This version of open is network based. This method is the same as openLabel(string label, string ServerID), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. The Label ServerID of the Phidget Webservice The secure password for the Phidget Webservice Waits for this Phidget to become available. This method can be called after open has been called to wait for thid Phidget to become available. This is usefull because open is asynchronous (and thus returns immediately), and most methods will throw a PhidgetException is they are called before a device is actually ready. This method is synonymous with polling the isAttached method until it returns True, or using the Attach event. This method blocks indefinitely until the Phidget becomes available. This can be quite some time (forever), if the Phidget is never plugged in. This method uses the attach handler internally to determine when the Phidget becomes available. If this Phidget is not opened. Waits for this Phidget to become available for the specified time. This method can be called after open has been called to wait for thid Phidget to become available. This is usefull because open is asynchronous (and thus returns immediately), and most methods will throw a PhidgetException is they are called before a device is actually ready. This method is synonymous with polling the isAttached method until it returns True, or using the Attach event. This method blocks indefinitely until the Phidget becomes available. This can be quite some time (forever), if the Phidget is never plugged in. This method uses the attach handler internally to determine when the Phidget becomes available. Specified wait time in milliseconds If this Phidget is not opened, or if the time limit expires before an attach is detected. Closes this Phidget. This will shut down all threads dealing with this Phidget and you won't recieve any more events. This should be called before closing your application or things may not shut down cleanly. If this Phidget is not opened. Compares two Phidgets. This method compares two Phidgets using serial number, device type and version. The object to compare this object to. True if they are equal, false if they are different. Returns this objects hash code. In this overriden case for Phidget objects, the hashcode returned is the device serial number. The device serial number. Gets the class of this Phidget. Classes represent a group of Phidgets that use the same API type. If this Phidget is not opened and attached. Gets the ID of this Phidget. This ID specifies a specific Phidget device, within the phidget class. If this Phidget is not opened and attached. Gets the unique serial number of this Phidget. This number is set during manufacturing, and is unique across all Phidgets. This number can be used in calls to open to specify this specific Phidget to be opened. If this Phidget is not opened and attached. Gets the device version of this Phidget. This number is simply a way of distinguishing between different revisions of a specific type of Phidget, and is only really of use if you need to troubleshoot device problems with Phidgets Inc. If this Phidget is not opened and attached. Gets the attached status of this Phidget. This method returns True or False, depending on whether the Phidget is phisically plugged into the computer, initialized, and ready to use - or not. If a Phidget is not attached, many functions calls will fail with a PhidgetException, so either checking this function, or using the Attach and Detach events, is recommended, if a device is likely to be attached or detached during use. Gets the name of this Phidget. This is a string that describes the device. For example, a PhidgetInterfaceKit could be described as “Phidget InterfaceKit 8/8/8”, or “Phidget InterfaceKit 0/0/4”, among others, depending on the specific device. If this Phidget is not opened and attached. Gets the device type of this Phidget. This is a string that describes the device as a class of devices. For example, all PhidgetInterfaceKit Phidgets will returns the String "PhidgetInterfaceKit". If this Phidget is not opened and attached. Gets / sets the label associated with this Phidget. This label is a String - up to ten characters - that is stored in the Flash memory of newer Phidgets. This label can be set programatically, and is non-volatile - so it is remembered even if the Phidget is unplugged. If this Phidget is not opened and attached, or if this Phidget does not support labels. Gets the attached to server status of this Phidget. For Phidgets opened over the network, returns the status of the connection to the server. If this Phidget was not opened over the network. Gets the Phidget Webservice network address for a Phidget opened over the network. This may be an IP Address or a hostname. If this Phidget was not opened over the network, or if the server is not connected. Gets the Phidget Webservice server id for a Phidget opened over the network. This is an arbitrary server identifier, independant of IP address and Port. This is only available if the Phidget was opened with ServerID. If this Phidget was not opened over the network via ServerID, or if the server is not connected. Gets the Phidget Webservice port for a Phidget opened over the network. If this Phidget was not opened over the network, or if the server is not connected. Attach event. The attach handler is called when this Phidget is phisically attached to the system, has gone through its initalization, and is ready to be used. Detach event. The detach event is called when this Phidget is phisically detached from the system, and is no longer available. Error event. The error event is called when an asynchronous error occurs. This is generally used for network errors, and device hardware error messages. Server connect event This is called for network opened Phidgets when a connection to the Phidget Webservice has been established. Server disconnect event This is called for network opened Phidgets when a connection to the Phidget Webservice has been broken - either by calling close, or by network trouble, etc. Gets the library version. This is the library version of the underlying phidget21 C library and not the version of the .NET wrapper implementation. The version is retured as a string which contains the version number and build date. Logging levels. Critical error messages. Non-ciritcal error messages. Warning messages. Debug messages (internal use only) Informational messages. Verbose messages. Phidget classes. Phidget IDs. The collection of frequency counter inputs. Count event. The count event is called when ticks are counted on an input, or when the timeout expires. This class represents a Phidget Bridge. All methods to control a Phidget Bridge are implemented in this class. The collection of bridge inputs. Gets / sets the event data rate in ms. Data rate needs to be between DataRateMin and DataRateMax, and a multiple of 8. If this Phidget is not opened and attached, or the data rate is out of range. Gets the maximum supported data rate in ms. If this Phidget is not opened and attached. Gets the minimum supported data rate in ms. If this Phidget is not opened and attached. Bridge data event The bridge data event is called at a sets rate as defined by DataRate. This class represents a Phidget Manager. The Phidget manager is a way to keep track of attached phidgets, it will send Attach and Detach events as Phidgets are added and removed from the system. The Phidget manager returns special instances of Phidget objects that are not actually connected to opened Phidgets but can be used to get serial number, name, version, etc. The default constructor. Class destructor/finalizer. Will attempt to close the manager if it has yet to be closed. Starts the PhidgetManager. This method starts the phidget manager running. If attach and detach listeners are to be used, they should be registered before start is called so that no events are missed. Once start is called, the Phidget Manager will be active until close is called. Open this Manager remotely using an IP Address. This version of open is network based. IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice Open this Manager remotely using a Server ID. This version of open is network based. ServerID of the Phidget Webservice Open this Manager remotely and securely, using an IP Address. This method is the same as open(String ipAddress, int port), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice Specified password Open this Manager remotely and securely, using a Server ID. This method is the same as open(String serverID), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. ServerID of the Phidget Webservice Specified password Shuts down the Phidget Manager. This method should be called to close down the Phidget Manager. Events will no longer be recieved. This method gets called automatically when the class is destroyed, but it's still a good idea to call it explicitely. A list of attached Phidgets. This list is updated right before the attach and detach events, and so will be up to date within these events. Gets the Phidget Webservice network address for a Manager opened over the network. This may be an IP Address or a hostname. If this Manager was not opened over the network, or if the server is not connected. Gets the Phidget Webservice server id for a Manager opened over the network. This is an arbitrary server identifier, independant of IP address and Port. This is only available if the Manager was opened with ServerID. If this Manager was not opened over the network via ServerID, or if the server is not connected. Gets the Phidget Webservice port for a Manager opened over the network. If this Manager was not opened over the network, or if the server is not connected. Gets the attached to server status of this Manager. For Managers opened over the network, returns the status of the connection to the server. If this Manager was not opened over the network. Attach event. The attach handler is called when a Phidget is physically attached to the system. Detach event. The detach handler is called when a Phidget is phisically detached from the system. Error event. The error event is called when an asyncronous error occurs. This is only used for network errors for Managers opened over the network. Server connect event This is called for network opened Managers when a connection to the Phidget Webservice has been established. Server disconnect event This is called for network opened Managers when a connection to the Phidget Webservice has been broken - either by calling close, or by network trouble, etc. This class represents a Phidget temperature Sensor. All methods to read temperaure data from the sensor are implemented in this class. The Temperature Phidget consists of a thermocouple interface, and a temperature sensing IC, which is used to measure the temperature of the thermocouple cold junction and calibrate the thermocouple sensed temperature. Both the thermocouple and temperature IC (ambient sensor) temperatures can be read. Values are returned in degrees celcius. The Phidget TemperatureSensor ambient sensor. This is the board ambient temperature sensor. The collection of available thermocouples. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Temperature Change Event. The temperature change handler is called when the temperature has changed by at least the Sensitivity trigger value that has been set. This class represents a Phidget LED. All methods to control a Phidget LED are implemented in this class. The Phidget LED is a board that is meant for driving LEDs. Currently, the only available version drives 64 LEDs, but other versions may become available so this number is not absolute. LEDs can be controlled individually, at brightness levels from 0-100. The collection of available digital inputs. A collection of leds with 12-bit brightness and individual current limit Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Gets / sets the board current limit. Note that not all PhidgetLEDs support settable current limit. If this Phidget is not opened and attached, or if current limit is unsupported. Gets / sets voltage level. Note that not all PhidgetLEDs support settable voltage levels. If this Phidget is not opened and attached, or if setting voltage level is unsupported. Available setting for current limit. Available settings for voltage output. This class represents a custom character that is defined for the TextLCD. Custom characters can be inserted anywhere into the display string. Set this custom character. The custom character is defined by two integers. The two Integers define the character. Each character is 8x5, the first integer defines the top 4x5 and the second the bottom 4x5. Each 4x5 half-character is defined by 5 hex bytes: ie:
0x54321 =
21111
33222
44433
55554
0x11111 =
10001
01000
00100
00010
There is a generator utility that will generate the integers for you here: http://www.phidgets.com/documentation/customchar.html
First value given by the customchar utility Second value given by the customchar utility
The character code associated with this character. Insert this into strings sent to the display where you would like this character to appear. The collection of custom characters that can be defined for the display. The display handles 8 custom characters. These must be defined before they can be used. They will stay in the TextLCD memory until power is removed. The custom character object. Index of the custom character in the collection The custom character object stored at the index in the collection This class represents a row of text display on the screen of the TextLCD. a TextLCDRow object stores the text that will be displayed at the row specified by the provided index. Currently, TextLCDs only support 2 rows of text display. Collection of characters in this row. Use this for setting a single character instead of a whole row. Sets the display string of this row. If the string is longer then the row, it will be truncated. If this Phidget is not opened and attached, or if the row is invalid. Gets the maximum length of this row. Returns the number of columns (characters per row) available on the display. This value is the same for every row. If this Phidget is not opened and attached. This class represents a Screen connected to a TextLCD A TextLCDScreen object stores the overall screen state, as well as a collection of screen rows. The collection of available rows of text display on the TextLCD screen. The collection of defined custom characters. A maximum of 8 custom characters can be defined at a time for the TextLCD screen. Initializes the active screen Only usable for the TextLCD Adapter. If this Phidget is not opened and attached. Gets or sets the status of the backlight property. True indicates that the backlight is on, False indicates that it is off. The default state depends on the board. If this Phidget is not opened and attached. Gets or sets the status of the Brightness property. For devices that support a range of backlight brightnesses. If this Phidget is not opened and attached, or brightness is not supported. Gets or sets the status of the cursor property. True turns the cursor is on, False turns it off. The cursor is an underscore which appears directly to the right of the last entered character on the display. The cursor is by default disabled. If this Phidget is not opened and attached. Gets or sets the status of the cursor blink property. True turns the cursor blink on, False turns it off. The cursor blink is an flashing box which appears directly to the right of the last entered character on the display, in the same spot as the cursor if it is enabled. The cursor blink is by default disabled. If this Phidget is not opened and attached. Gets or sets the value of the contrast property. This is the contrast of the entire display. The valid range is 0-255. Changing the contrast can increase the readability of the display in certain viewing situation, such as at an odd angle. If this Phidget is not opened and attached, or the contrast value is out of range. Gets or sets the screen size Only settable for the TextLCD Adapter. If this Phidget is not opened and attached, or the contrast value is out of range. A collection of columns within a row. Sets a single character. Character index. Number of columns in this collection (row). This class represents the collection of the available rows on the TextLCD screen. This class contains the count of the total number of rows on the TextLCD screen and the indexer for accessing these display rows. The TextLCD row indexer list. This gets a reference to the TextLCDRow object stored at the supplied index locaiton in the collection list. The TextLCD row index. This class represents the collection of the available screens on the TextLCD. This class contains the count of the total number of screens on the TextLCD and the indexer for accessing these screens. The TextLCD screen indexer list. This gets a reference to the TextLCDScreen object stored at the supplied index locaiton in the collection list. The TextLCD screen index. This class represents an analog sensor input for a Phidget InterfaceKit. All the properties of an analog sensor input are stored and modified in this class. A Phidget InterfaceKit analog sensor input object stores the analog sensor data for that input. The sensitivity of the analog sensor readings for the related input is implemented in this class. Returns the raw value of a analog input. This is a more accurate version of Value. Note that the analog outputs on the Interface Kit 8/8/8 are only 10-bit values and this value represents an oversampling to 12-bit. If this Phidget is not opened and attached. Gets or sets the change trigger sensitivity for an analog input. This is the ammount that an inputs must change between successive SensorChangeEvents. This is based on the 0-1000 range provided by Value. This value is by default set to 10 for most Interface Kits with analog inputs. If this Phidget is not opened and attached. Returns the value of a analog input. The analog inputs are where analog sensors are attached on the InterfaceKit 8/8/8. On the Linear and Circular touch sensor Phidgets, analog input 0 represents position on the slider. If this Phidget is not opened and attached. Represents the maximum rate at which events will be fired, in ms. If this Phidget is not opened and attached. The maximum supported data rate. If this Phidget is not opened and attached. The minimum supported data rate. If this Phidget is not opened and attached. This class represents a collection of Analog Sensor Inputs. This class contains the count of the available analog sensor inputs and the analog sensor input indexer to access the analog sensor inputs. The analog sensor input indexer list. This gets a reference to the analog sensor object stored at the supplied index locaiton in the collection list. The analog sensor input index. A reference to the analog sensor object stored at the supplied index location in the collection list. This class represents a collection of Digital Inputs. All the methods and properties used to access the available digital inputs are implemented in this class. This class contains the count of the available digital inputs and the digital input indexer to access the digital inputs. The digital input indexer list. This gets the state of a digital input at the supplied index in the list. Digital inputs read True where they are activated and false when they are in their default state. Index of the input. State of the input. If this Phidget is not opened and attached, or if the index is out of range. Returns the number of ditigal inputs on this Interface Kit. Not all interface kits have the same number of digital inputs, and some don't have any digital inputs at all. This class represents a collection of Digital Outputs. All the methods and properties used to access the available digital outputs are implemented in this class. This class contains the count of the available digital outputs and the digital input indexer to access the digital outputs. The digital output indexer list. This gets or sets the state of a digital output at the supplied index in the list. Depending on the Phidget, this value may be either the value that you last wrote out to the Phidget, or the value that the Phidget last returned. This is because some Phidgets return their output state and others do not. This means that with some devices, reading the output state of a pin directly after setting it, may not return the value that you just set. Index of the output. State of the output. If this Phidget is not opened and attached, or if the index is out of range. Returns the number of digital outputs on this Interface Kit. Not all interface kits have the same number of digital outputs, and some don't have any digital outputs at all. This class represents a Phidget GPS. All methods to control a Phidget GPS are implemented in this class. Gets the latitude. If this Phidget is not opened and attached, or if the value is unknown. Gets the longitude. If this Phidget is not opened and attached, or if the value is unknown. Gets the altidue, in meters. If this Phidget is not opened and attached, or if the value is unknown. Gets the heading, in degrees. If this Phidget is not opened and attached, or if the value is unknown. Gets the velocity, in km/h. If this Phidget is not opened and attached, or if the value is unknown. Gets the GPS date and time, in UTC. If this Phidget is not opened and attached, or if the value is unknown. Gets the position fix status. If this Phidget is not opened and attached, or if the value is unknown. Position change event The position change event is called when latitude, longitude or altitude changes. Position fix status change event The position fix status change event is called when the position fix status changes. This class represents a collection of Digital Outputs. All the methods and properties used to access the available digital outputs are implemented in this class. This class contains the count of the available digital outputs and the digital input indexer to access the digital outputs. The digital output indexer list. This gets or sets the state of a digital output at the supplied index in the list. True indicates activated, False deactivated, which is the default. Index of the output. The state of the output. If this Phidget is not opened and attached, of the index is out of range. Returns the number of outputs. These are the outputs provided by the terminal block. Older RFID readers do not have these outputs, and this method will return 0. This class represents an LED. All the methods and properties used to access the available leds are implemented in this class. This class was added to support leds with 12-bit brightness and individual current limit Gets / sets the current limit of an led (0-80 mA) Gets / sets the brightness state of an led (0-100 %) This controls the power to the led. This class represents a collection of leds. Gets an led at an index. The index of the led to get. The led object. This class represents a collection of LEDs. All the methods and properties used to access the available LEDs are implemented in this class. This class contains the count of the available LEDs and the LED indexer to access the LEDs and set or get their brightness. The LED indexer list. This gets or sets the brightness level of an LED at the supplied index in the colleciton list. Brightness levels range from 0-100. The LED index. The current brightness level of the LED at the supplied index. Brightness levels range from 0-100. If this Phidget is not opened and attached, or if the index of brightness value are out of range. Returns the number of LEDs that this board can drive. This may not correspond to the actual number of LEDs attached. This class represents an advanced servo motor for a Phidget AdvancedServo. All the properties of an advanced servo motor are stored and modified in this class. Sets custom servo parameters for using a servo not in the predefined list. Pulse widths are specified in microseconds, velocity in degrees/second. If this Phidget is not opened and attached. Gets / sets the acceleration of a servo, in degrees/second. If this Phidget is not opened and attached. Represents the largest acceleration value that this motor will accept If this Phidget is not opened and attached. Represents the smallest acceleration value that this motor will accept Note that an acceleration of 0 is not a valid value. If this Phidget is not opened and attached. Gets / sets the velocity limit for a servo. This is the fastest that the motor will move. If this Phidget is not opened and attached. Gets the current velocity of a servo. If this Phidget is not opened and attached. Represents the largest velocity value that this motor will accept If this Phidget is not opened and attached. Represents the smallest velocity value that this motor will accept If this Phidget is not opened and attached. Gets / sets the position of a motor, in degrees. If this Phidget is not opened and attached. Represents the largest position value that this motor will accept. If this Phidget is not opened and attached. Represents the smallest position value that this motor will accept. If this Phidget is not opened and attached. Gets the current consumption of a servo motor, in Amps. Gets or sets the engaged property of the servo motor. Setting this to true sends the servo to the currently set position - and holds it there. Setting this to false will send a pwm of 0 to the servo, which removes the holding force, so the servo can be freely rotated by hand. If this Phidget is not opened and attached. Gets or sets the SpeedRamping property of the servo motor. Speed ramping means that acceleration and velocity are used to send a series of different PWM pulses over time. Without speed ramping, the PWM is just set to the target position immediately - this is how the original Phidget Servo worked. If this Phidget is not opened and attached. Gets the stopped property of the servo. If this Phidget is not opened and attached. Sets / Gets the type of servo. This determines how degrees are calculated from PCM pulses, and sets min and max angles. If this Phidget is not opened and attached. This class represents the collection of servos related to a Phidget AdvancedServo. All the methods and properties used to access the available servos are implemented in this class. Advanced Servo Servo indexer list The servo index. Specifies which servo to access. The AdvancedServo Servo object stored at that index that represents the corresponding servo motor. This class represents the Phidget Dictionary. See the Phidgets programming manual for more information on the Phidget Dictionary. The default constructor. Class destructor/finalizer. Will attempt to close the dictionary if it has yet to be closed. Open this Dictionary remotely and securely, using an IP Address. IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice Open this Dictionary remotely using a Server ID. This version of open is network based. ServerID of the Phidget Webservice Open this Dictionary remotely and securely, using an IP Address. This method is the same as open(String ipAddress, int port), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. IP Address or hostname of the Phidget Webservice Port of the Phidget Webservice Specified password Open this Dictionary remotely and securely, using a Server ID. This method is the same as open(String serverID), except that it specifies a password. This password can be set as a parameter when starting the Phidget Webservice. ServerID of the Phidget Webservice Specified password Closes this Dictionary. This will shut down all threads dealing with this Dictionary and you won't recieve any more events. if this Dictionary was not opened. Adds a new key to the Dictionary, or modifies the value of an existing key. The key can only contain numbers, letters, ‘/’, ‘.’, ‘-‘, ‘_’, and must begin with a letter, ‘_’ or ‘/’. The value can contain any characters. The persistent value controls whether a key will stay in the dictionary after the client that created it disconnects. If persistent is false, the key is removed when the connection closes. Otherwise the key remains in the dictionary until it is explicitly removed. If this Dictionary was not opened, or if the server is not connected. Adds a new key to the Dictionary, or modifies the value of an existing key. The key will stay in the dictionary until explicitly removed. The key can only contain numbers, letters, ‘/’, ‘.’, ‘-‘, ‘_’, and must begin with a letter, ‘_’ or ‘/’. The value can contain any characters. If this Dictionary was not opened, or if the server is not connected. Removes a key, or set of keys, from the Dictionary. The key name is a regular expressions pattern, and so care must be taken to only have it match the specific keys you want to remove. if this Dictionary was not opened. If this Dictionary was not opened, or if the server is not connected. Gets the value for the provided key from the dictionary. The key for the entry in the dictionary. The value from the entry in the dictionary assoiciated with the provided key. If this Dictionary was not opened, or if the server is not connected. Error event. The error event is called when an asyncronous error occurs. This is only used for network errors. Server connect event This is called when a connection to the Phidget Webservice has been established. Server disconnect event This is called when a connection to the Phidget Webservice has been broken - either by calling close, or by network trouble, etc. Gets the Phidget Webservice network address. This may be an IP Address or a hostname. If this Dictionary was not opened, or if the server is not connected. Gets the Phidget Webservice server id. This is an arbitrary server identifier, independant of IP address and Port. This is only available if the Dictionary was opened with ServerID. If this Dictionary was not opened via ServerID, or if the server is not connected. Gets the Phidget Webservice port. If this Dictionary was not opened, or if the server is not connected. Gets the attached to server status. Returns the status of the connection to the server. If this Dictionary was not opened. This class represents a key listener. This key listener is used, along with the Dictionary object, to set up listener for specific keys, or groups of keys. Events are available for key add or change, and for key removal. The key pattern, as specified in the constructor. Creates a new key listener, for a specific pattern, on a specific dictionary object. The pattern is a regular expression. The specific dictionary object The specific pattern. It is a regular expression. Starts this key listener. This method must be called after the dictionary is connected, such as in the dictionary serverConnect event handler. Stops this key listener. Key change / add event. This event is called for both new keys, and key changes, for all keys matching the specified key pattern. Key removal event. This event is called when matching keys are removed. This class represents a Phidget Stepper Controller. The collection of stepper motors. The collection of digital inputs Not all Stepper controllers have digital inputs. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Input change event. This event is called what a digital input changes. Position change event. This event is called when the stepper position changes. Current change handler. This event is called when current consumption of a stepper changes. Not all stepper controllers support current sense. Velocity change handler. This event is called when a stepper velocity changes. This class represents a Phidget PH Sensor. All methods to read PH data from the PH Sensor are implemented in this class. The Phidget PH Sensor provides one standard PH sensor input. The Phidget PHSensor sensor. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. PH Change Event. The ph change handler is called when the pH has changed by at least the Sensitivity that has been set. This class represents a Phidget Interface Kit. All methods to read and write data to and from an Interface Kit are implemented in this class. There are many types of Interface Kits, but each is simply a collection of 0 or more digital inputs, digital outpus and analog sensors. Inputs can be read and outputs can be set, and event handlers can be set for each of these. See your hardware documentation for more information on the I/O specific to your Phidget. The collection of available digital inputs. Interface Kits can have 0 or more digital inputs. See your hardware documentation for more information on the I/O specific to your Phidget. The collection of available digital outputs. Interface Kits can have 0 or more digital outputs. See your hardware documentation for more information on the I/O specific to your Phidget. The collection of available analog sensor inputs. Interface Kits can have 0 or more analog sensor inputs. See your hardware documentation for more information on the I/O specific to your Phidget. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Sets whether to use a ratiometric or fixed reference on the analog inputs. Most sensors use the ratiometric model, where the returned value will be between 0 and +Vdd, where Vdd is the voltage supplied to the sensor - approximately 5v. Some sensors output a specific voltage regardless of their supply voltage, and for these we provide a non-ratiometric fixed +5v reference. The default value for this is ratiometric (true). This only applies to interfacekit boards with analog inputs (8/8/8, TextLCD 8/8/8). If ratiometric is not supported, or the InterfaceKit is not opened and attached. Digital inputs change event The input change handler is called when an input on this InteraceKit board has changed. Analog input change event. The sensor change handler is called when a sensor on this Interface Kit has changed by at least the Sensitivity value that has been set for this input. Digital output change handler. The output change handler is called when an output on this InteraceKit board has changed. This class represents a Phidget Encoder. All methods to read encoder data from an encoder are implemented in this class. Phidget Encoder boards generally support 1 or more encoders with 0 or more digital inputs. Both high speed optical and low speed mechanical encoders are supported with this API. The collection of available encoders. Phidget Encoder boards support 1 or more encoders. A collection of encoders with support for index and enable. The collecton of available digital inputs. Phidget Encoder boards generally support 0 or more digital inputs. The constructor for the Encoder class. The destructor/finalizer for the Encoder class. Will attempt to close the phidget if it has yet to be closed. Position change event The position change event provides data about how many ticks have occured, and how much time has passed since the last position change event, but does not contain an absolute position. This can be obtained from getEncoderPosition. Index event The Index event is called after each index pulse, with the encoder position at which the index pulse occured. Digital input change event. The input change handler is called when a digital input on this Encoder board has changed. This class represents a Phidget Spatial board. Collection of accelerometer axes. Collection of gyroscope axes. Collection of compass axes. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Zeroes the gyro. This takes 1-2 seconds to complete and should only be called when the board is stationary. If this Phidget is not opened and attached, or if this Phidget does not have a gyro. Sets correction paramaters for the magnetometer triad. This is for filtering out hard and soft iron offsets, and scaling the output to match the local field strength. These parameters can be obtained from the compass calibration program provided by Phidgets Inc. Resets correction paramaters for the magnetometer triad. This returns magnetometer output to raw magnetic field strength. Spatial data event. Contains data for acceleration/gyro/compass depending on what the board supports, as well as a timestamp. This event is fired at a fixed rate as determined by the DataRate property. Gets / sets the event data rate in ms. Data rate needs to be between DataRateMin and DataRateMax. If this Phidget is not opened and attached, or the data rate is out of range. Gets the maximum supported data rate in ms. If this Phidget is not opened and attached. Gets the minimum supported data rate in ms. If this Phidget is not opened and attached. This class represents the weight sensor on a Phidget Weight Sensor board. Gets the sensed weight in kg. This weight is in kg (kilograms), but can easily be converted into other units. The accuracy, sesitivity and range depends on the scale and version. If this Phidget is not opened and attached. Gets or sets the weight change trigger. This is the ammount by which the sensed weight must change between WeightChangeEvents. By default this is set to 5. If this Phidget is not opened and attached. This class represents a Phidget Motor Controller. All methods to to control a motor controller and read back motor data are implemented in this class. The Motor Control Phidget is able to control 1 or more DC motors. Both speed and acceleration are controllable. Speed is controlled via PWM. The size of the motors that can be driven depends on the motor controller. See your hardware documentation for more information. The motor Controller boards also has 0 or more digital inputs. The collection of available motors. The Motor Control Phidget is able to control 1 or more DC motors. The collection of available digital inputs. The motor Controller boards has 0 or more digital inputs. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Sets whether to use a ratiometric or fixed reference on the analog inputs. Most sensors use the ratiometric model, where the returned value will be between 0 and +Vdd, where Vdd is the voltage supplied to the sensor - approximately 5v. Some sensors output a specific voltage regardless of their supply voltage, and for these we provide a non-ratiometric fixed +5v reference. The default value for this is ratiometric (true). This only applies to boards with analog sensor inputs If ratiometric is not supported, or the Phidget is not opened and attached. Velocity Change Event. The velocity change handler is called when the velocity of a motor changes. These velocity changes are reported back from the Motor Controller and correspond to changing PWM duty cycle rather then actual motor speed. Current Change Event. The current change handler is called when the current consumed by a motor changes. Digital Input Change Event. The input change handler is called when a digital input on this MotorControl board has changed. Analog input update event. The sensor update handler is called at a steady rate of 8ms. Position change event The position change event provides data about how many ticks have occured, and how much time has passed since the last position change event, but does not contain an absolute position. This can be obtained from getEncoderPosition. Position update event The position update event provides data about how many ticks have occured since the last update event. It is called at a steady rate of 8ms. Back EMF Update Event. The Back EMF update handler is called at a steady rate of 16ms, when BackEMF sensing is enabled. Current Update Event. The current update handler is called at a set rate of 8ms for 1065 and 32ms for 1064. This class represents a Phidget Analog. All methods to control a Phidget Analog are implemented in this class. The collection of available inputs. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. This class represents a stepper motor attached to a Phidget Stepper Controller. Gets or sets a motor's acceleration. The valid range is between AccelerationMin and AccelerationMax. This controls how fast the motor changes speed. This value is in (micro)steps per second squared. The step unit will depend on the Stepper Controller. For example, the Bipolar Stepper controller has an accuracy of 16th steps, so this value would be in 16th steps per second squared. If this Phidget is not opened and attached, or if acceleration is out of range. Represents the largest acceleration value that this motor will accept If this Phidget is not opened and attached. Represents the smallest acceleration value that this motor will accept Note that an acceleration of 0 is not a valid value. If this Phidget is not opened and attached. Returns a motor's current velocity. The valid range is between VelocityMin and VelocityMax, with 0 being stopped. This value is in (micro)steps per second. The step unit will depend on the Stepper Controller. For example, the Bipolar Stepper controller has an accuracy of 16th steps, so this value would be in 16th steps per second. If this Phidget is not opened and attached, or if the velocity in unknown. Gets or sets a motor's velocity limit. This is the maximum velocity that the motor will turn at. The valid range is between VelocityMin and VelocityMax, with 0 being stopped. This value is in (micro)steps per second. The step unit will depend on the Stepper Controller. For example, the Bipolar Stepper controller has an accuracy of 16th steps, so this value would be in 16th steps per second. If this Phidget is not opened and attached, or if the value is out of range. Represents the largest velocity value that this motor will accept If this Phidget is not opened and attached. Represents the smallest velocity value that this motor will accept If this Phidget is not opened and attached. Gets or sets a motor's target position. Use this to set the target position for the stepper. If the stepper is engaged it will start moving towards this target position. Can also be used to get the currently set target position. The valid range is between PositionMin and PositionMax. This value is in (micro)steps. The step unit will depend on the Stepper Controller. For example, the Bipolar Stepper controller has an accuracy of 16th steps, so this value would be in 16th steps. If this Phidget is not opened and attached, or if the position in unknown. Gets or sets a motor's current position. Use this to (re)set the current physical position of the motor to a specific position value or to get the current position for the motor. This does not move the motor, and if the motor is moving, setting a value to this will cause it to stop moving. Set TargetPosition value to move the motor to a position. The valid range is between PositionMin and PositionMax. This value is in (micro)steps. The step unit will depend on the Stepper Controller. For example, the Bipolar Stepper controller has an accuracy of 16th steps, so this value would be in 16th steps. If this Phidget is not opened and attached, or if the position in unknown. Represents the largest position value that this motor will accept If this Phidget is not opened and attached. Represents the smallest position value that this motor will accept If this Phidget is not opened and attached. Gets or sets a motor's current usage limit. The valid range is between CurrentMin and CurrentMax. This sets the maximum current that a motor will be allowed to draw. Use this with the Bipolar stepper controller to get smooth micro stepping - see the product manual for more details. This value is in Amps. Note that this is not supported on all stepper controllers. Requested current limit for the motor. Currently set current limit for the motor. If this Phidget is not opened and attached, if the value is unknown, or if this is not supported. Returns a motor's current usage. The valid range is between CurrentMin and CurrentMax. This value is in Amps. The current usage of the motor. If this Phidget is not opened and attached, if the value is unknown, or if this is not supported. Represents the largest current value that this motor will accept If this Phidget is not opened and attached. Represents the smallest current value that this motor will accept If this Phidget is not opened and attached. Gets or sets the engaged property of the stepper motor. This engages or disengages the stepper motor. The motors are by default disengaged when the stepper controller is plugged in. When the stepper is disengaged, position, velocity, etc. can all be set, but the motor will not start moving until it is engaged. If position is read when a motor is disengaged, it will throw an exception. If this Phidget is not opened and attached. Gets the stopped property of the stepper motor. Use this to determine if the motor is moving and/or up to date with the latest commands you have sent. If this is true, the motor is guaranteed to be stopped and to have processed every command issued. Generally, this would be polled after a target position is set to wait until that position is reached. The stopped state of a motor. If this Phidget is not opened and attached. This class represents a collection of stepper motors. The stepper motor indexer list. This returns the stepper motor object at the supplied index in the list. Provides access to the properties associated with the currently indexes stepper motor. Index of the motor. The stepper object at the provided index. This class represents a collection of Digital Inputs. This class contains the count of the available digital inputs and the digital input indexer to access the digital inputs. The digital input indexer list. This gets the state of a digital input at the supplied index in the list. Digital inputs read True where they are activated and false when they are in their default state. Index of the input. State of the input. If this Phidget is not opened and attached, or if the index is out of range. Returns the number of ditigal inputs on this Interface Kit. Not all steppers have the same number of digital inputs, and some don't have any digital inputs at all. Number of digital inputs. Number of digital inputs. Represents an input on a Phidget bridge. Gets the value of this input, in mV/V. If this Phidget is not opened and attached, or the value is unknown. Gets the maximum supported input value in mV/V. If this Phidget is not opened and attached. Gets the minimum supported input value in mV/V. If this Phidget is not opened and attached. Gets/Sets the enabled state of this input. If this Phidget is not opened and attached. Gets/Sets the gain for this input. If this Phidget is not opened and attached, or the value is unknown. Supported gains. This class represents a collection of frequency counter inputs. This class represents a Phidget Weight Sensor. All methods to read weight data from the weight sensor are implemented in this class. The Phidget Weight Sensor is simply an electronic scale with a USB interface. It provides one weight value, in kg. The Phidget Weight Sensor's weight sensor object. This object represents the physical weight sensor on the board and the data it holds. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Weight Change Event. The weight change handler is called when the weight has changed by at least the Sensitivity trigger that has been set. This class represents a Phidget servo Controller. All methods to control a Servo Controller are implemented in this class. The Phidget Sevo controller simply outputs varying widths of PWM, which is what most servo motors take as an input driving signal. The collection of available servos. Note that there is no way of programatically determining how many motors are actually attached to the board. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Position Change Event. The servo position change handler is called when the servo position has changed. The event will get fired after every modification made to the Position property of a Servo motor. This class represents a Phidget Text LCD. All methods to control the Text LCD are implemented in this class. The TextLCD Phidget consists of a display that is capable of displaying Standard as well as custom characters in multiple rows. The collection of available rows of text display on the TextLCD screen. The collection of available screens on the TextLCD. The collection of defined custom characters. A maximum of 8 cutom characters can be defined at a time for the TextLCD. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer Will attempt to close the phidget if it has yet to be closed. Initializes the active screen Only usable for the TextLCD Adapter. If this Phidget is not opened and attached. Gets or sets the status of the backlight property. True indicates that the backlight is on, False indicates that it is off. The default state depends on the board. If this Phidget is not opened and attached. Gets or sets the status of the Brightness property. For devices that support a range of backlight brightnesses. If this Phidget is not opened and attached, or brightness is not supported. Gets or sets the status of the cursor property. True turns the cursor is on, False turns it off. The cursor is an underscore which appears directly to the right of the last entered character on the display. The cursor is by default disabled. If this Phidget is not opened and attached. Gets or sets the status of the cursor blink property. True turns the cursor blink on, False turns it off. The cursor blink is an flashing box which appears directly to the right of the last entered character on the display, in the same spot as the cursor if it is enabled. The cursor blink is by default disabled. If this Phidget is not opened and attached. Gets or sets the value of the contrast property. This is the contrast of the entire display. The valid range is 0-255. Changing the contrast can increase the readability of the display in certain viewing situation, such as at an odd angle. If this Phidget is not opened and attached, or the contrast value is out of range. Gets the number of supported screens If this Phidget is not opened and attached, or the contrast value is out of range. Gets or sets the active screen This sets the screen that all other API calls will apply to - only required for multi-screen TextLCDs. If this Phidget is not opened and attached, or the contrast value is out of range. Gets or sets the screen size Only settable for the TextLCD Adapter. If this Phidget is not opened and attached, or the contrast value is out of range. Attach event data and information will be stored in this class. The data stored in this event args class is a reference to the Phidget object that triggered the event. Reference to the Phidget object from which this event originated Detach event data and information will be stored in this class. The data stored in this event args class is a reference to the Phidget object that triggered the event. Reference to the Phidget object from which this event originated Server connect event data and information will be stored in this class. The data stored in this event args class is a reference to the Phidget, or Dictionary, or Manager object that triggered the event. Reference to the Phidget, or Dictionary, or Manager object from which this event originated Server Disconnect event data and information will be stored in this class. The data stored in this event args class is a reference to the Phidget, or Dictionary, or Manager object that triggered the event. Reference to the Phidget, or Dictionary, or Manager object from which this event originated Error event data and information will be stored in this class. The data stored in this event args class is the error description and the error code. The reference to the phidget exception that was thrown. The reference to the error description string generated by the event. The reference to the error code value generated by the event. Analog Sensor Change Event data and information will be stored in this class. Data specific to this event args class are the index of the analog sensor input that is changing and the sensor value read. The reference to the analog sensor input index from which this event originated. The reference to the value of the sensor. This value can range from 0-1000. Input Change Event data and information will be stored in this class. Data specific to this event args class are the index of the digital input that is changing and the state value read. The reference to the digital input index from which this event originated. The reference to the bool state value that was read to generate the event. True indicates that it is activated, False indicated the default state. Output Change Event data and information will be stored in this class. Data specific to this event args class are the index of the digital output that is changing and the state value read. The reference to the index of the output. The reference to the state of the output. True indicated that the output is active, False indicated the default inactive state. Encoder Position Change Event data and information will be stored in this class. Data specific to this event args class are the index of the encoder that is changing, the position change value read, and the elapsed time between position changes. The reference to the encoder index from which this event originated. The reference to the position change value that was read to generate the event. This is the ammount of change in the encoder's position since the last EncoderPositionChangeEvent. The reference to the elapsed time between change events. This is the time since the last EncoderPositionChangeEvent. Time unit depends on the Phidget - see product manual for specifics. Encoder Index Event data and information will be stored in this class. Data specific to this event args class are the index of the encoder that is changing and the position of the index pulse. The reference to the encoder index from which this event originated. The reference to the index position. This is the encoder position at which the index pulse occured. Acceleration Change Event data and information will be stored in this class. Data specific to this event args class are the index of the axis that is changing and the acceleration value read. The reference to the axis index from which this event originated. The reference to the acceleration value that was read to generate the event. Velocity Change Event data and information will be stored in this class. Data specific to this event args class are the index of the motor whose velocity is changing and the velocity value read. The reference to the index of the motor. The reference to the velocity of the motor. This is reported back from the motor controller as the motor changes speed. Current Change Event data and information will be stored in this class. Data specific to this event args class are the index of the motor whose current draw is changing and the current value read. The reference to the index of the motor. The reference the current of the motor. This is a representation of the ammount of current being used by the motor. Servo Position Change Event data and information will be stored in this class. Data specific to this event args class are the index of the motor whose position is changing and the position value read. The reference to the index of the motor. The reference to the position of the servo motor. This is esentially just the last position that the servo was set to, echoed back from the controller board. Stepper Position Change Event data and information will be stored in this class. Data specific to this event args class are the index of the stepper motor whose position is changing and the position value read. The reference to the index of the stepper motor. The reference to the position of the stepper motor. PH Change Event data and information will be stored in this class. Data specific to this event args class is the PH value read. The reference pH value. This value can range from 0-14. Tag Event data and information will be stored in this class. Data specific to this event args class is the Tag data that is read. The reference to the gained or lost tag. The tag is a 10 digit hex number represented as a string. Temperature Change Event data and information will be stored in this class. Data specific to this event args class is the index of the temperature sensor and the temperature data. The reference to the index of the sensor. Index of the themrocouple. The reference to the temperature of the sensor. The temperature of the sensor is degrees celcius. The reference to the potential of the sensor. The potential of the sensor is in millivolts. This is only valid for the thermocouple inputs. Weight Change Event data and information will be stored in this class. Data specific to this event args class is the weight data read by the sensor. The reference to the weight read by the sensor. The weight read by the sensor is read in kg. Key Event data and information will be stored in this class. Data specific to this event args class is the value data and the key. The value data The Key IR Code Event data and information will be stored in this class. Data specific to this event args class is IR Code data. IR Code. Number of repeats. IR Raw Data Event data and information will be stored in this class. Data specific to this event args class is raw IR data. Raw IR data. IR Learn Event data and information will be stored in this class. Data specific to this event args class is the Learned code. Learned code data. Spatial Event data and information will be stored in this class. Data specific to this event args class is the spatial data read by the sensor(s). One or more sets of spatial data. The Attach Event Delegate. The object that triggered the event. An AttachEventArgs object containing data and information related to the attach event. The Detach Event Delegate. The object that triggered the event. An DetachEventArgs object containing data and information related to the detach event. The Server connect Event Delegate. The object that triggered the event. A ServerConnectEventArgs object containing data and information related to the server connect event. The Server disconnect Event Delegate. The object that triggered the event. A ServerDisconnectEventArgs object containing data and information related to the server disconnect event. The Error Event Delegate. The object that triggered the event. An ErrorEventArgs object containing data and information related to the error event. The Sensor Change Event Delegate. The object that triggered the event. An SensorChangeEventArgs object containing data and information related to the sensor change event. The Input Change Event Delegate. The object that triggered the event. An InputChangeEventArgs object containing data and information related to the input change event. The Output Change Event Delegate. The object that triggered the event. An OutputChangeEventArgs object containing data and information related to the output change event. The Encoder Position Change Event Delegate. The object that triggered the event. An EncoderPositionChangeEventArgs object containing data and information related to the encoder position change event. The Acceleration Change Event Delegate. The object that triggered the event. An AccelerationChangeEventArgs object containing data and information related to the acceleration change event. The Position Change Event Delegate. The object that triggered the event. An PositionChangeEventArgs object containing data and information related to the position change event. The Stepper Position Change Event Delegate. The object that triggered the event. An StepperPositionChangeEventArgs object containing data and information related to the stepper position change event. The Velocity Change Event Delegate. The object that triggered the event. An VelocityChangeEventArgs object containing data and information related to the velocity change event. The Current Change Event Delegate. The object that triggered the event. An CurrentChangeEventArgs object containing data and information related to the current change event. The PH Change Event Delegate. The object that triggered the event. A PHChangeEventArgs object containing data and information related to the PH change event. The Tag Event Delegate. The object that triggered the event. A TagEventArgs object containing data and information related to the tag event. The Temperature Change Event Delegate. The object that triggered the event. A TemperatureChangeEventArgs object containing data and information related to the temperature change event. The Weight Change Event Delegate. The object that triggered the event. A WeightChangeEventArgs object containing data and information related to the weight change event. The Key Event Delegate. The object that triggered the event. A KeyEventArgs object containing data and information related to the key event. The IR Code Event Delegate. The object that triggered the event. A IRCodeEventArgs object containing data and information related to the key event. The IR Raw Data Event Delegate. The object that triggered the event. A IRRawDataEventArgs object containing data and information related to the key event. The IR Learn Event Delegate. The object that triggered the event. A IRLearnEventArgs object containing data and information related to the key event. The Spatial Data Event Delegate. The object that triggered the event. A SpatialDataEventArgs object containing data and information related to the key event. This class represents a Phidget Text LED. All methods to control the Text LED are implemented in this class. The Text LED is a Phidget that displays text and numerals on LED numeric display in rows. The number of rows and size of each row depends on your configuration. The collection of available rows of text display on the TextLED screen. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer Will attempt to close the phidget if it has yet to be closed. Gets or Sets the brightness of all rows. The Default brightness is 100. The valid range is 0-100. If this Phidget is not opened and attached, or the brightness value is out of range. This class represents a Phidget Accelerometer. All methods to read acceleration data from an Accelerometer are implemented in this class. The Phidget Accelerometer provides 2-3 axes of acceleration data, at anywhere from 2g to 10g sensitivity, depending on the specific revision. See your hardware documetation for more information. They can measure both static (gravity) and dynamic acceleration. The collection of accelerometer axes. Currently, accelerometers have either two or three axes of acceleration - x and y, or x, y, abd z. The indexes of which - Index 0 is the x-axis, 1 is the y-axis, and 2 is the z-axis (where available). Accelerometer constructor. Accelerometer deconstructor. Will attempt to close the Phidget device. Acceleration Change Event. This event is called when the acceleration of an axis changes by more then the set sensitivity. This class represents a row of text display on the screen of the TextLED. Sets the display string of a row. If the string is longer then the row, it will be truncated. If this Phidget is not opened and attached, or if the row is out of range. Returns the number of columns (Characters per row). This returns the maximum number of columns supported by the device, not neccessarily the number of columns actually available with your coniguration. If this Phidget is not opened and attached. This class represents a collection of TextLEDRows. This class contains the count of the total number of rows on the TextLED and the indexer for accessing these display rows. The TextLED row indexer list. This gets a reference to the TextLEDRow object stored at the supplied index locaiton in the collection list. The TextLED row index. The TextLED row object for the specified index. This class represents the temperature IC (or Ambient sensor) on a Phidget TemperatureSensor. A Phidget TemperatureSensor IC/Ambient sensor object stores the ambient board temperature. The sesnor's sensitivity can also be modified from this class. It can be used to measure the temperature of the thermocouple cold junction and calibrate the thermocouple sensed temperature. Gets the temperature of the ambient sensor IC. This value is returned in degrees celcius but can easily be converted into other units. The IC is calibrated during manufacture. If this Phidget is not opened and attached. Represents the largest temperature value that the ambient sensor could return. If this Phidget is not opened and attached. Represents the smallest temperature value that the ambient sensor could return. If this Phidget is not opened and attached. This class represents a thermocouple sensor attached to a Phidget TemperatureSensor. A Phidget TemperatureSensor thermocouple sensor object stores the thermocouple sensor data for that thermocouple sensor. The sensitivity of the temperature readings for the related thermocouple is implemented in this class. Gets the temperature of this thermocouple sensor. This value is returned in degrees celcius but can easily be converted into other units. The accuracy depends on the thermocouple used. The board is calibrated during manufacture. If this Phidget is not opened and attached. Represents the largest temperature value that this sensor could return. This value will change when the Themocouple type is changed. If this Phidget is not opened and attached. Represents the smallest temperature value that this sensor could return. This value will change when the Themocouple type is changed. If this Phidget is not opened and attached. Gets the potential of this thermocouple sensor in mv. If this Phidget is not opened and attached. Represents the largest potential that this sensor could return in mv. If this Phidget is not opened and attached. Represents the smallest potential that this sensor could return in mv. If this Phidget is not opened and attached. Gets / sets the temperature change trigger sensitivity for the thermocouple sensor. This is the ammount by which the sensed temperature must change between TemperatureChangeEvents. By default this is set to 0.5. If this Phidget is not opened and attached. Gets / sets the thermocouple type. If this Phidget is not opened and attached. Supported thermocouple types This class represents a collection of Thermocouple sensors. This class contains the count of the available thermocouple sensors and the thermocouple indexer to access the thermocouple sensors. Currently, only one is supported. The thermocouple indexer list. This gets a reference to the TemperatureSensor object representing a termocouple sensor stored at the supplied index location in the collection list. The thermocouple sensor index. This class represents an analog output on a Phidget Analog. Gets/Sets the voltage, in V. If this Phidget is not opened and attached, or if the value is unknown. Gets the max supported output voltage. If this Phidget is not opened and attached. Gets the min supported output voltage. If this Phidget is not opened and attached. Gets/Sets the enabled state for an output. If this Phidget is not opened and attached, of the value is unknown. This class represents the collection of outputs related to a Phidget Analog. All the methods and properties used to access the available outputs are implemented in this class. This class contains the count of the available outputs and the output indexer to access the outputs. The AnalogOutput indexer list. This class represents a Phidget IR Controller. All methods to control an IR Controller are implemented in this class. A space in raw data that is longer then 327,670 microseconds, which is the longest measurable timespan. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Transmits a code. The code to transmit. Code encoding information. If this Phidget is not opened and attached. Transmits a repeat of a previously transmitted code. This must be called within the gap period after transmitting the original code. This is required for codes that use seperate sequences for the code and the repeat identifier. If this Phidget is not opened and attached. Transmits raw microsecond pulse data. An array of microsecond data which starts and ends with a pulse. If this Phidget is not opened and attached. Transmits raw microsecond pulse data, with a specified gap. An array of microsecond data which starts and ends with a pulse. A microsecond gap that will be maintained after the data is sent. If this Phidget is not opened and attached. Transmits raw microsecond pulse data. An array of microsecond data. An offset in the data array to start at - this must be a pulse. The number of data elements to transmit - this must be uneven. If this Phidget is not opened and attached. Transmits raw microsecond pulse data, with a specified gap. An array of microsecond data. An offset in the data array to start at - this must be a pulse. The number of data elements to transmit - this must be uneven. A microsecond gap that will be maintained after the data is sent. If this Phidget is not opened and attached. Transmits raw microsecond pulse data, with a specified gap, carrier frequency and duty cycle. An array of microsecond data. An offset in the data array to start at - this must be a pulse. The number of data elements to transmit - this must be uneven. A microsecond gap that will be maintained after the data is sent. The carrier frequency. The duty cycle. If this Phidget is not opened and attached. Reads raw IR data. An array to read data into. Number of elements read. If this Phidget is not opened and attached. Read raw IR data, at an offset. An array to read data into. Offset in buffer to start writing data. Max ammount of data to read. Ammount of data read. If this Phidget is not opened and attached. IR Code event. This event is called whenever a new code is recognized. IR Learn event. This event is called when a new code has been learned. This generally requires the button to be held down for a second or two. IR Raw Data event This event is called whenever new IR data is available. Data is in the form of an array of microsecond pulse values. This can be used if the user wishes to do their own data decoding, or for codes that the PhidgetIR cannot automatically recognize. Gets the last code that was recieved. If this Phidget is not opened and attached. Gets the last code the was learned. If this Phidget is not opened and attached. This class represents an IR Code. IR code data. This is MSB first, right justified. Data bits. This is important because many codes use a number of bits that doesn't line up with byte (8-bit) borders. Creates a new IR Code from a string. The IR code. The code length in bits. Creates a new IR Code from a byte array. The IR code data. The code length in bits. String representation of the IR code. This class represents a learned IR Code. This contains all data needed to re-transmit the code. The learned code. The code encoding parameters. This class represents the encoding parameters needed to transmit a code. Data Encoding. This defaults to Space encoding. Code length. This defaults to Constant. Code data length in bits. Gap length in us. Trailing pulse length in us. Header data array in us. Pulse-Space encoding for a '1', in us. Pulse-Space encoding for a '0', in us. Minimum number of times to repeat the code. Mask of bits that should be toggled every time the code is sent. This is usually used in combination with MinRepeat. Repeat code, in us. Carrier frequency Duty cycle. Creates a new Code Info object. Code length. Creates a new Code Info object. Encoding. Code length. Creates a new Code Info object. Encoding. Code length. Header data. Zero data. One data. Trailing pulse length. Gap length. Creates a new Code Info object. Encoding. Code length. Header data. Zero data. One data. Trailing pulse length. Gap length Repeat code data. Creates a new Code Info object. Encoding. Code length. Header data. Zero data. One data. Trailing pulse length. Gap length Repeat code data. Number of times to repeat code. Code bits to toggle on each send. Constant or variable length code. Carrier frequency. Duty cycle. Data encoding. Code length. Constant - the bitstream + gap length is constant. Variable - the bitstream has a variable length with a constant gap. This class represents a Phidget Advanced Servo Controller. All methods to to control a motor controller and read back motor data are implemented in this class. The collection of available servos. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Position Change Events. The servo position change handler is called when the servo position has changed. The event will get fired after every call to setPosition. Current Change Event. The current change handler is called when the current consumed by a motor changes. Velocity Change Event. The velocity change handler is called when the velocity of a servo changes. This class represents a motor for a Phidget MotorControl. All the properties of a motor are stored and modified in this class. A Phidget MotorControl motor object stores the motor data for that motor. The motor's acceleration and velocity can be modified in this class. Gets the Current consumption of the motor. If this Phidget is not opened and attached. Gets or sets the Acceleration property of the motor. The valid range is 0-100, and refers to how fast the Motor Controller will change the speed of a motor. If this Phidget is not opened and attached. Represents the largest acceleration value that this motor will accept. If this Phidget is not opened and attached. Represents the smallest acceleration value that this motor will accept. If this Phidget is not opened and attached. Gets or sets the Velocity property of the motor. The valid range is -100 - 100, with 0 being stopped. This corresponds to PWM duty cycle. If this Phidget is not opened and attached. Gets or sets the back-emf sensing state for a motor. If this Phidget is not opened and attached. Gets the back-emf value for a motor If this Phidget is not opened and attached. Gets or sets the braking value for a motor (0-100%). If this Phidget is not opened and attached. This class represents a collection of Motors. All the methods and properties used to access the available motors are implemented in this class. This class contains the count of the available motors and the motor indexer to access the motors. The Motor indexer list. This gets a reference to the Motor object stored at the supplied index locaiton in the collection list. The Motor index. A reference to the Motor object stored at the supplied index location in the collection list. This class represents a collection of Digital Inputs. This class contains the count of the available digital inputs and the digital input indexer to access the digital inputs. The digital input indexer list. This gets the state of a digital input at the supplied index in the list. Digital inputs read True where they are activated and false when they are in their default state. Index of the input. State of the input. If this Phidget is not opened and attached, or if the index is out of range. Returns the number of ditigal inputs on this MotorControl. Not all Motor Controllers have digital inputs. Gets / sets the position of an encoder This class represents a collection of encoders. Gets an encoder at an index. The index of the encoder to get. The encoder object. Returns the raw value of a analog input. This is a more accurate version of Value. Note that the analog outputs are only 10-bit values and this value represents an oversampling to 12-bit. If this Phidget is not opened and attached. Returns the value of a analog input. If this Phidget is not opened and attached. This class represents a collection of Analog Sensor Inputs. This class contains the count of the available analog sensor inputs and the analog sensor input indexer to access the analog sensor inputs. The analog sensor input indexer list. This gets a reference to the analog sensor object stored at the supplied index locaiton in the collection list. The analog sensor input index. A reference to the analog sensor object stored at the supplied index location in the collection list. Represents an input on a Phidget Frequency Counter. Resets total count and total time for the input. If this Phidget is not opened and attached. Gets the measured frequency on this input, in Hz. If this Phidget is not opened and attached, or the value is unknown. Gets the total time since last reset, in microseconds. If this Phidget is not opened and attached. Gets the number of ticks counted since last reset. If this Phidget is not opened and attached. Gets/Sets the timeout for this input, in microseconds. If this Phidget is not opened and attached. Gets/Sets the enabled state for this input. If this Phidget is not opened and attached. Gets/Sets the filter type for this input. If this Phidget is not opened and attached. The list of supported filter types. This class represents a collection of frequency counter inputs. This class represents Phidget related exceptions. All Phidget exceptions originate in the phidget21 C library. These exceptions can be thrown by most function in the library and cover such things as trying to access a Phidget before opening it, or before it is attached and ready to use, out of bounds Index and data values, and other less common problems. Constructor which takes is an error number and description. These exceptions originate from and are filled in by the phidget 21 C library. There shouldn't be a need to create them yourself. Description. Error code. Gets the error code. Note that Type is more useful then Code, and Code may be deprecated in the future. Gets a error type. This is a member of the ErrorType Enumeration that contains an entry for every type of Phidget error. Gets the error description. This is an english phrase that describes the exception that occured. Phidget error types. This class represents a Phidget PHSensor PH Sensor. All methods to read PH data from the PH Sensor are implemented in this class. The Phidget PH Sensor provides one standard PH sensor input. Gets the measured pH. This value can range from about 0 - 14 for valid readings when the sensor is attached. If this Phidget is not opened and attached. Represents the largest ph value that this sensor will return This value will change when the Temperature property is changed If this Phidget is not opened and attached. Represents the smallest ph value that this sensor will return This value will change when the Temperature property is changed If this Phidget is not opened and attached. Gets or sets the change trigger sensitivity. This is how much the pH much change between successive PHChangeEvents. By default this value is set to 0.5. If this Phidget is not opened and attached. Gets the Potential, in volts. This returns the actual voltage potential measured by the ADC. A pH of 7.0 corresponts to a potential of 2.5v. This is the value that is internally used to calculate pH in the library. If this Phidget is not opened and attached. Represents the largest potential value that this sensor will return. If this Phidget is not opened and attached. Represents the smallest potential value that this sensor will return. If this Phidget is not opened and attached. Sets the probe temperature. This temperature is used in calculating the PH, and can be set to ensure maximum accuracy. If this is not set, the default value of 25 degrees celcius is used. If this Phidget is not opened and attached. This class represents a Phidget RFID Reader. All methods to read tags and set outputs on the RFID reader are implemented in this class. The Phidget RFID reader can read one tag at a time. Both tag and tagloss event handlers are provided, as well as control over the antenna so that multiple readers can be used in close proximity without interference. The collection of available digital outputs. Phidget RFID readers have 0 or 2 more outputs. Class Constructor. Calling this opens a connection to the phidget21 C library creates an internal handle for this Phidget, ready to call open on. Class destructor/finalizer. Will attempt to close the phidget if it has yet to be closed. Write data to a tag. See the product manual for correct tag encoding. The tag string The tag protocol Lock the tag so it can't be re-written Gets a value indicating whether or not a tag is on the reader. If there is a tag currently being read by the reader, this will return true. Otherwise it returns false. If this Phidget is not opened and attached. Gets the protocol of the last tag read by the reader - this tag may or may not still be on the reader - use TagPresent to find out. If this Phidget is not opened and attached. Gets the last tag read by the reader - this tag may or may not still be on the reader - use TagPresent to find out. If this Phidget is not opened and attached. Gets or sets the state of the antenna. True turns the antenna on, False turns it off. The antenna if by default turned off, and needs to be explicitely activated before tags can be read. Control over the antenna allows multiple readers to be used in close proximity, as multiple readers will interfere with each other if their antenna's are activated simultaneously. If this Phidget is not opened and attached. Gets or sets the state of the onboard LED. True turns the LED on, False turns it off. The LED is by default turned off. If this Phidget is not opened and attached. Tag gained event The tag handler is called when a new tag is seen by the reader. The event is only fired one time for a new tag, so the tag has to be removed and then replaced before another tag gained event will fire. Tag lost event. The tag lost handler is called when a tag is removed from the reader. Digital output change event. The output change handler is called when an output has changed. RFID Tag Protocol This class represents an Encoder. All the methods and properties used to access the available encoders are implemented in this class. This class was added to support encoders with enable/index. Gets / sets the position of an encoder Gets the index position for an encoder that supports index. This is referenced to the Position. Gets / sets the enabled state of an encoder. This controls the power to the encoder. This class represents a collection of encoders. Gets an encoder at an index. The index of the encoder to get. The encoder object. This class represents a collection of Encoders. This class contains the count of the available encoders and the encoder indexer to access the encoders. This returns only the position of each encoder. To access enable/index on the newer encoder board, use the EncoderEncoderWithEnableCollection. The encoder indexer list. This gets or sets the encoder position according to the provided index. Sets the position of a specific encoder. This resets the internal position count for an encoder. This call in no way actually sends information to the device, as an absolute position is maintained only in the library. After this call, position changes from the encoder will use the new value to calculate absolute position by using the return from the get property. Returns the position of an encoder through the get property. This is an absolute position as calcutated since the encoder was plugged in. The encoder index. If this Phidget is not opened and attached, or if the index is out of range. The number of available encoders. The count property gets the total number of available encoders. This class represents a collection of Digital Inputs. All the methods and properties used to access the available digital inputs are implemented in this class. This class contains the count of the available digital inputs and the digital input indexer to access the digital inputs. The digital input indexer list. This gets the state of a digital input at the supplied index in the list. On the mechanical encoder this refers to the pushbutton. The high speed encoder does not have any digital inputs. A value of true means that the input is active(the button is pushed). index of the input state of the input If this Phidget is not opened and attached, or if the index is out of range. Returns number of digital inputs. On the mechanical encoder this refers to the pushbutton. The high speed encoder does not have any digital inputs. number of inputs