Phidgets.Devices.InterfaceKit (version 2.1.9, May 17 2010)
index
 

Copyright 2012 Phidgets Inc.
This work is licensed under the Creative Commons Attribution 2.5 Canada License. 
To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ca/

 
Modules
       
sys
threading

 
Classes
       
Phidgets.Phidget.Phidget
InterfaceKit

 
class InterfaceKit(Phidgets.Phidget.Phidget)
    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 device's User Guide for more specific API details, technical information, and revision details. 
    The User Guide, along with other resources, can be found on the product page for your device.
 
Extends:
    Phidget
 
  Methods defined here:
__del__(self)
The Destructor Method for the InterfaceKit Class
__init__(self)
The Constructor Method for the InterfaceKit Class
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.
getDataRate(self, index)
Returns the maximum rate at which events will be fired, in ms.
 
Parameters:
    index<int>: Index of the sensor.
 
Returns:
    The specified data rate <int>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getDataRateMax(self, index)
Returns the maximum supported data rate value that can be set.
 
Parameters:
    index<int>: Index of the sensor.
 
Returns:
    The maximum supported data rate <int>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getDataRateMin(self, index)
Returns the minimum supported data rate value that can be set.
 
Parameters:
    index<int>: Index of the sensor.
 
Returns:
    The minimum supported data rate <int>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getInputCount(self)
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.
 
Returns:
    The Number of analog inputs <int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached.
getInputState(self, index)
Returns the state of a digital input.
 
Digital inputs read True where they are activated and False when they are in their default state.
Be sure to check getInputCount first if you are unsure as to the number of inputs, so as not to set an Index that is out of range.
 
Parameters:
    index<int>: Index of the input.
 
Returns:
    State of the input <boolean>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getOutputCount(self)
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.
 
Returns:
    The Number of digital outputs <int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached.
getOutputState(self, index)
Returns the state of a digital output.
 
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.
 
Be sure to check getOutputCount first if you are unsure as to the number of outputs, so as not to attempt to get an Index that is out of range.
 
Parameters:
    index<int>: Index of the output.
 
Returns:
    State of the output <boolean>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getRatiometric(self)
Gets the ratiometric state for the analog sensors
 
Returns:
    State of the Ratiometric setting.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if this phidget does not support ratiometric.
getSensorChangeTrigger(self, index)
Returns the change trigger for an analog input.
 
This is the amount that an inputs must change between successive SensorChangeEvents.
This is based on the 0-1000 range provided by getSensorValue. This value is by default set to 10 for most Interface Kits with analog inputs.
 
Parameters:
    index<int>: Index of the sensor.
 
Returns:
    The Trigger value <int>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getSensorCount(self)
Returns the number of analog inputs on the Interface Kit.
 
Not all interface kits have the same number of analog inputs, and some don't have any analog inputs at all.
 
Returns:
    Number of analog inputs <int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached.
getSensorRawValue(self, index)
Returns the raw value of a analog input.
 
This is a more accurate version of getSensorValue. The valid range is 0-4095.
Note however 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.
 
Parameters:
    index<int>: Index of the sensor.
 
Returns:
    The Raw Sensor value <int>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
getSensorValue(self, index)
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.
 
The valid range is 0-1000. In the case of a sensor, this value can be converted to an actual sensor
value using the formulas provided in the sensor product manual.
 
Parameters:
    index<int>: Index of the sensor.
 
Returns:
    The Sensor value <int>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
setDataRate(self, index, value)
Sets the maximum rate at which events will be fired, in ms.
 
This value needs to be a multiple of 8, between DataRateMin and DataRateMax.  I.E. 1,2,4,8,16,24,32,....
 
Parameters:
    index<int>: Index of the sensor.
    value<int>: The desired Data Rate Value.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, if the index is out of range, or the supplied data rate value is out of range.
setOnInputChangeHandler(self, inputChangeHandler)
Set the InputChange Event Handler.
 
The input change handler is a method that will be called when an input on this Interface Kit has changed.
 
Parameters:
    inputChangeHandler: hook to the inputChangeHandler callback function.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException
setOnOutputChangeHandler(self, outputChangeHandler)
Sets the OutputChange Event Handler.
 
The output change handler is a method that will be called when an output on this Interface Kit has changed.
 
Parameters:
    outputChangeHandler: hook to the outputChangeHandler callback function.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException
setOnSensorChangeHandler(self, sensorChangeHandler)
Set the SensorChange Event Handler.
 
The sensor change handler is a method that will be called when a sensor on
this Interface Kit has changed by at least the Trigger that has been set for this sensor.
 
Parameters:
    sensorChangeHandler: hook to the sensorChangeHandler callback function.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException
setOutputState(self, index, state)
Sets the state of a digital output.
 
Setting this to True will activate the output, False is the default state.
 
Parameters:
    index<int>: Index of the output.
    state<boolean>: State to set the output to.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.
setRatiometric(self, state)
Sets the ratiometric state for the analog inputs.
 
The default is for ratiometric to be set on and this is appropriate for most sensors.
 
False - off
True - on
 
Parameters:
    state<boolean>: State of the ratiometric setting.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if this Phidget does not support ratiometric.
setSensorChangeTrigger(self, index, value)
Sets the change trigger for an analog input.
 
This is the amount that an inputs must change between successive SensorChangeEvents.
This is based on the 0-1000 range provided by getSensorValue. This value is by default set to 10 for most Interface Kits with analog inputs.
 
Parameters:
    index<int>: Index of the sensor.
    value<int>: The Trigger Value.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if the index is out of range.

Methods inherited from Phidgets.Phidget.Phidget:
closePhidget(self)
Closes this Phidget.
 
This will shut down all threads dealing with this Phidget and you won't recieve any more events.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.
getDeviceClass(self)
Gets the class of this Phidget.
 
Classes represent a group of Phidgets that use the same API type.
 
Returns:
    The Device Class number<int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If there is no Phidget attached.
getDeviceID(self)
Gets the ID of this Phidget.
 
This ID specifies a specific Phidget device, within the phidget class.
 
Returns:
    The Device ID <int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If there is no Phidget attached.
getDeviceLabel(self)
Gets the label associated with this Phidget.
 
This label is a String - up to ten digits - that is stored in the Flash memory of newer Phidgets.
This label can be set programatically (see setDeviceLabel), and is non-volatile - so it is remembered even if the Phidget is unplugged.
 
Returns:
    The label associated with this Phidget <string>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached, or if this Phidget does not support labels.
getDeviceName(self)
Return 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.
 
This lets you determine the specific type of a Phidget, within the broader classes of Phidgets, such as PhidgetInterfaceKit, or PhidgetServo.
 
Returns:
    The name of the device <string>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this phidget is not opened or attached.
getDeviceType(self)
Return 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".
 
Returns:
    The Device Type <string>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If there is no Phidget attached.
getDeviceVersion(self)
Returns 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.
 
Returns:
    The Device Version <int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If there is no Phidget attached.
getLibraryVersion(self)
Returns the library version.
 
This is the library version of the underlying phidget21 C library and not the version of the Python wrapper module implementation.
The version is retured as a string which contains the version number and build date.
 
Returns:
    The Library Version <string>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached.
getSerialNum(self)
Returns 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.
 
Returns:
    The Serial Number <int>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened and attached.
getServerAddress(self)
Returns the Address of a Phidget Webservice.
 
Returns the Address of a Phidget Webservice when this Phidget was opened as remote.
This may be an IP Address or a hostname.
 
Returns:
    The Address of the Webservice <string>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: if this Phidget was open opened as a remote Phidget.
getServerID(self)
Returns the Server ID of a Phidget Webservice.
 
Returns the Server ID of a Phidget Webservice when this Phidget was opened as remote.
This is an arbitrary server identifier, independant of IP address and Port.
 
Returns:
    The ServerID of the Webservice <string>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: if this Phidget was open opened as a remote Phidget.
isAttached(self)
Returns 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.
 
Returns:
    Attached Status of the Phidget <boolean>
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.
isAttachedToServer(self)
Returns the network attached status for remotely opened Phidgets.
 
This method returns True or False, depending on whether a connection to the Phidget WebService is open - or not.
If this is false for a remote Phidget then the connection is not active - either because a connection has not yet been established,
or because the connection was terminated.
 
Returns:
    Phidget Network Attached Status <boolean>.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened remotely.
openPhidget(self, serial=-1)
Open a Phidget with or without a 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.
 
If no arguement is provided, 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 serial number is a unique number assigned to each Phidget during production and can be used to uniquely identify specific phidgets.
 
Parameters:
    serial<int>: The serial number of the device
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException
openRemote(self, serverID, serial=-1, password='')
Open this Phidget remotely using a Server ID, securely providing a password, and whether or not to connect to a specific serial number.
 
Providing a password will open the connection securely depending on if a password is set on the host machine's webservice.
 
If no serial number is provided, 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().
 
Parameters:
    serverID<string>: ServerID of the Phidget Webservice
    serial<int>: The serial number of the device
    password<string>: The secure password for the Phidget Webservice
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: if the Phidget Webservice cannot be contacted
openRemoteIP(self, IPAddress, port, serial=-1, password='')
Open this Phidget remotely using an IP Address, securely providing a password,and whether or not to connect to a specific serial number.
 
Providing a password will open the connection securely depending on if a password is set on the host machine's webservice.
 
If no serial number is provided, 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().
 
Parameters:
    IPAddress<string>: IP Address or hostname of the Phidget Webservice
    port<int>: Port of the Phidget Webservice
    serial<int>: The serial number of the device
    password<string>: The secure password for the Phidget Webservice
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: if the Phidget Webservice cannot be contacted
setOnAttachHandler(self, attachHandler)
Sets the Attach Event Handler.
 
The attach handler is a method that will be called when this Phidget is physically attached to the system, and has gone through its initalization, and so is ready to be used.
 
Parameters:
    attachHandler: hook to the attachHandler callback function
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.
setOnDetachHandler(self, detachHandler)
Sets the Detach Event Handler.
 
The detach handler is a method that will be called when this Phidget is phisically detached from the system, and is no longer available.
This is particularly usefull for applications when a phisical detach would be expected.
 
Remember that many of the methods, if called on an unattached device, will throw a PhidgetException.
This Exception can be checked to see if it was caused by a device being unattached, but a better method would be to regiter the detach handler,
which could notify the main program logic that the device is no longer available, disable GUI controls, etc.
 
Parameters:
    detachHandler: hook to the detachHandler callback function
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.
setOnErrorhandler(self, errorHandler)
Sets the Error Event Handler.
 
The error handler is a method that will be called when an asynchronous error occurs.
Error events are not currently used, but will be in the future to report any problems that happen out of context from a direct function call.
 
Parameters:
    errorHandler: hook to the errorHandler callback function.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.
setOnServerConnectHandler(self, serverConnectHandler)
Sets the Server Connect Event Handler.
 
The serverConnect handler is a method that will be called when a connection to a server is made. This is only usefull for Phidgets opened remotely.
 
Parameters:
    serverConnectHandler: hook to the serverConnectHandler callback function
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened
setOnServerDisconnectHandler(self, serverDisconnectHandler)
Set the Server Disconnect event handler.
 
The serverDisconnect handler is a method that will be called when a connection to a server is terminated. This is only usefull for Phidgets opened remotely.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened
waitForAttach(self, timeout)
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 for up to the timeout, at which point it will throw a PhidgetException. Otherwise, it returns when the phidget is attached and initialized.
 
A timeout of 0 is infinite.
 
Parameters:
    timeout<long>: Timeout in milliseconds
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException: If this Phidget is not opened.

Static methods inherited from Phidgets.Phidget.Phidget:
disableLogging()
Turns off logging in the native C Library.
 
This only needs to be called if enableLogging was called to turn logging on.
This will turn logging back off.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException
dispose(self)
enableLogging(level, file)
Turns on logging in the native C Library.
 
This is mostly usefull for debugging purposes - when an issue needs to be resolved by Phidgets Inc.
The output is mostly low-level library information, that won't be usefull for most users.
 
Logging may be usefull for users trying to debug their own problems, as logs can be inserted by the user using log.
The level can be one of:
PhidgetLogLevel.PHIDGET_LOG_VERBOSE ,
PhidgetLogLevel.PHIDGET_LOG_INFO ,
PhidgetLogLevel.PHIDGET_LOG_DEBUG ,
PhidgetLogLevel.PHIDGET_LOG_WARNING ,
PhidgetLogLevel.PHIDGET_LOG_ERROR or
PhidgetLogLevel.PHIDGET_LOG_CRITICAL 
 
Parameters:
    level<int>: highest level of logging that will be output, the PhidgetLogLevel object has been provided for a readable way to set this.
    file<string>: path and name of file to output to.  specify NULL to output to the console.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException
log(level, id, log)
Adds a log entry into the phidget log.
 
This log is enabled by calling enableLogging and this allows the entry of user logs in amongst the phidget library logs.
 
The level can be one of:
PhidgetLogLevel.PHIDGET_LOG_VERBOSE,
PhidgetLogLevel.PHIDGET_LOG_INFO,
PhidgetLogLevel.PHIDGET_LOG_DEBUG,
PhidgetLogLevel.PHIDGET_LOG_WARNING,
PhidgetLogLevel.PHIDGET_LOG_ERROR or
PhidgetLogLevel.PHIDGET_LOG_CRITICAL
 
Note: PhidgetLogLevel.PHIDGET_LOG_DEBUG should not be used, as these logs are only printed when using the debug library,
which is not generally available.
 
Parameters:
    level<int>: level to enter the log at.
    id<string>: an arbitrary identifier for this log.  This can be NULL. The C library uses this field for source filename and line number.
    log<string>: the message to log.
 
Exceptions:
    RuntimeError - If current platform is not supported/phidget c dll cannot be found
    PhidgetException

 
Functions
       
FormatError(...)
FormatError([integer]) -> string
 
Convert a win32 error code into a string. If the error code is not
given, the return value of a call to GetLastError() is used.
POINTER(...)
addressof(...)
addressof(C instance) -> integer
Return the address of the C instance internal buffer
alignment(...)
alignment(C type) -> integer
alignment(C instance) -> integer
Return the alignment requirements of a C instance
byref(...)
byref(C instance[, offset=0]) -> byref-object
Return a pointer lookalike to a C instance, only usable
as function argument
get_errno(...)
get_last_error(...)
pointer(...)
resize(...)
Resize the memory buffer of a ctypes instance
set_conversion_mode(...)
set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors)
 
Set the encoding and error handling ctypes uses when converting
between unicode and strings.  Returns the previous values.
set_errno(...)
set_last_error(...)
sizeof(...)
sizeof(C type) -> integer
sizeof(C instance) -> integer
Return the size in bytes of a C instance

 
Data
        DEFAULT_MODE = 0
GetLastError = <_FuncPtr object at 0x009C4990>
RTLD_GLOBAL = 0
RTLD_LOCAL = 0
__author__ = 'Adam Stelmack'
__date__ = 'May 17 2010'
__package__ = 'Phidgets.Devices'
__version__ = '2.1.9'
cdll = <ctypes.LibraryLoader object at 0x00AF68B0>
memmove = <CFunctionType object at 0x009C4A08>
memset = <CFunctionType object at 0x009C4BE8>
oledll = <ctypes.LibraryLoader object at 0x00AF6950>
pydll = <ctypes.LibraryLoader object at 0x00AF68D0>
pythonapi = <PyDLL 'python dll', handle 1e000000 at af68f0>
windll = <ctypes.LibraryLoader object at 0x00AF6910>

 
Author
        Adam Stelmack