Notice: This page contains information for the legacy Phidget21 Library. Phidget21 is out of support. Bugfixes may be considered on a case by case basis. Phidget21 does not support VINT Phidgets, or new USB Phidgets released after 2020. We maintain a selection of legacy devices for sale that are supported in Phidget21. We recommend that new projects be developed against the Phidget22 Library.
|
Software Overview: Difference between revisions
Line 45: | Line 45: | ||
|- | |- | ||
|[[Image:Icon-CSharp.png|24x24px|link=Language - C Sharp]][[Language - C Sharp|C#]] | |[[Image:Icon-CSharp.png|24x24px|link=Language - C Sharp]] [[Language - C Sharp|C#]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 56: | Line 56: | ||
|- | |- | ||
|[[Image:Icon-C++.png|24x24px|link=Language - C/C++]][[Language - C/C++|C/C++]] | |[[Image:Icon-C++.png|24x24px|link=Language - C/C++]] [[Language - C/C++|C/C++]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 67: | Line 67: | ||
|- | |- | ||
|[[Image:Icon-Java.png|24x24px|link=Language - Java]][[Language - Java|Java]] | |[[Image:Icon-Java.png|24x24px|link=Language - Java]] [[Language - Java|Java]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 78: | Line 78: | ||
|- | |- | ||
|[[Image:Icon-Python.png|24x24px|link=Language - Python]][[Language - Python|Python]] | |[[Image:Icon-Python.png|24x24px|link=Language - Python]] [[Language - Python|Python]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 89: | Line 89: | ||
|- | |- | ||
|[[Image:Icon-Cocoa.png|24x24px|link=Language - Cocoa]][[Language - Cocoa|Cocoa]] | |[[Image:Icon-Cocoa.png|24x24px|link=Language - Cocoa]] [[Language - Cocoa|Cocoa]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 100: | Line 100: | ||
|- | |- | ||
|[[Image:Icon-Visual Basic.png|24x24px|link=Language - Visual Basic 6.0]][[Language - Visual Basic 6.0|Visual Basic 6.0]] | |[[Image:Icon-Visual Basic.png|24x24px|link=Language - Visual Basic 6.0]] [[Language - Visual Basic 6.0|Visual Basic 6.0]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 111: | Line 111: | ||
|- | |- | ||
|[[Image:Icon-Visual Basic Net.png|24x24px|link=Language - Visual Basic .NET]][[Language - Visual Basic .NET|Visual Basic .NET]] | |[[Image:Icon-Visual Basic Net.png|24x24px|link=Language - Visual Basic .NET]] [[Language - Visual Basic .NET|Visual Basic .NET]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 125: | Line 125: | ||
|- | |- | ||
|[[Image:Icon-iOS.png|24x24px|link=Language - ios]][[Language - iOS|iOS]] | |[[Image:Icon-iOS.png|24x24px|link=Language - ios]] [[Language - iOS|iOS]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BABA55" align=center| InterfaceKit Only | |style="background: #BABA55" align=center| InterfaceKit Only | ||
Line 136: | Line 136: | ||
|- | |- | ||
|[[Image:Icon-Android.png|24x24px|link=Language - Android]][[Language - Android Java|Android Java]] | |[[Image:Icon-Android.png|24x24px|link=Language - Android]] [[Language - Android Java|Android Java]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BABA55" align=center| InterfaceKit Only | |style="background: #BABA55" align=center| InterfaceKit Only | ||
|style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | |style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | ||
|style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | |style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | ||
|style="background: #BC8E56" align=center| [[Image:Icon-Android_Honeycomb.png| | |style="background: #BC8E56" align=center| [[Image:Icon-Android_Honeycomb.png|24px|link=Software_Overview#ftn_1]] | ||
|style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | |style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | ||
|style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | |style="background: #5EC155" align=center| [[Image:Checkmark.png|link=]] | ||
Line 151: | Line 151: | ||
|- | |- | ||
|[[Image:Icon-Applescript.png|24x24px|link=Language - Applescript]][[Language - Applescript|Applescript]] | |[[Image:Icon-Applescript.png|24x24px|link=Language - Applescript]] [[Language - Applescript|Applescript]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 162: | Line 162: | ||
|- | |- | ||
|[[Image:Icon-Autoit.png|24x24px|link=Language - AutoIt]][[Language - AutoIt|AutoIt]] | |[[Image:Icon-Autoit.png|24x24px|link=Language - AutoIt]] [[Language - AutoIt|AutoIt]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BF5656" align=center| None | |style="background: #BF5656" align=center| None | ||
Line 173: | Line 173: | ||
|- | |- | ||
|[[Image:Icon-Ruby.png|24x24px|link=Language - Ruby]][[Language - Ruby|Ruby]] | |[[Image:Icon-Ruby.png|24x24px|link=Language - Ruby]] [[Language - Ruby|Ruby]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 187: | Line 187: | ||
|- | |- | ||
|[[Image:Icon-LabVIEW.png|24x24px|link=Language - LabVIEW]][[Language - LabVIEW|LabVIEW]] | |[[Image:Icon-LabVIEW.png|24x24px|link=Language - LabVIEW]] [[Language - LabVIEW|LabVIEW]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 198: | Line 198: | ||
|- | |- | ||
|[[Image:Icon-Matlab.png|24x24px|link=Language - Matlab]][[Language - MATLAB|MATLAB]] | |[[Image:Icon-Matlab.png|24x24px|link=Language - Matlab]] [[Language - MATLAB|MATLAB]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BC8E56" align=center| [[Language - MATLAB|Some]] Devices | |style="background: #BC8E56" align=center| [[Language - MATLAB|Some]] Devices | ||
Line 209: | Line 209: | ||
|- | |- | ||
|[[Image:Icon-Simulink.png|24x24px|link=Language - Simulink]][[Language - Simulink|Simulink]] | |[[Image:Icon-Simulink.png|24x24px|link=Language - Simulink]] [[Language - Simulink|Simulink]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BABA55" align=center| InterfaceKit Only | |style="background: #BABA55" align=center| InterfaceKit Only | ||
Line 224: | Line 224: | ||
|- | |- | ||
|[[Image:Icon-Adobe Director.png|24x24px|link=Language - Adobe Director]][[Language - Adobe Director|Adobe Director]] | |[[Image:Icon-Adobe Director.png|24x24px|link=Language - Adobe Director]] [[Language - Adobe Director|Adobe Director]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| InterfaceKit Only | |style="background: #5EC155" align=center| InterfaceKit Only | ||
Line 235: | Line 235: | ||
|- | |- | ||
|[[Image:Icon-Flash AS3.png|24x24px|link=Language - Flash AS3]][[Language - Flash AS3|Flash AS3]] | |[[Image:Icon-Flash AS3.png|24x24px|link=Language - Flash AS3]] [[Language - Flash AS3|Flash AS3]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 246: | Line 246: | ||
|- | |- | ||
|[[Image:Icon-Flex AS3.png|24x24px|link=Language - Flex AS3]][[Language - Flex AS3|Flex AS3]] | |[[Image:Icon-Flex AS3.png|24x24px|link=Language - Flex AS3]] [[Language - Flex AS3|Flex AS3]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 257: | Line 257: | ||
|- | |- | ||
|[[Image:Icon-LiveCode.png|24x24px|link=Language - LiveCode]][[Language - LiveCode|LiveCode]] | |[[Image:Icon-LiveCode.png|24x24px|link=Language - LiveCode]] [[Language - LiveCode|LiveCode]] | ||
|style="background: #BABA55" align=center| InterfaceKit Only | |style="background: #BABA55" align=center| InterfaceKit Only | ||
|style="background: #BABA55" align=center| InterfaceKit Only | |style="background: #BABA55" align=center| InterfaceKit Only | ||
Line 268: | Line 268: | ||
|- | |- | ||
|[[Image:Icon-MaxMSP.png|24x24px|link=Language - Max/MSP]][[Language - Max/MSP|Max/MSP]] | |[[Image:Icon-MaxMSP.png|24x24px|link=Language - Max/MSP]] [[Language - Max/MSP|Max/MSP]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
Line 283: | Line 283: | ||
|- | |- | ||
|[[Image:Icon-CSharp.png|24x24px|link=Language - C Sharp (.NET Compact Framework)]][[Language - C Sharp (.NET Compact Framework)|C# (.NET Compact)]] | |[[Image:Icon-CSharp.png|24x24px|link=Language - C Sharp (.NET Compact Framework)]] [[Language - C Sharp (.NET Compact Framework)|C# (.NET Compact)]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BC8E56" align=center| Some Devices | |style="background: #BC8E56" align=center| Some Devices | ||
Line 295: | Line 295: | ||
|[[Image:Icon-REALBasic.png|24x24px|link=Language - REALBasic]][[Language - REALBasic|REALBasic]] | |[[Image:Icon-REALBasic.png|24x24px|link=Language - REALBasic]] [[Language - REALBasic|REALBasic]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BF5656" align=center| None | |style="background: #BF5656" align=center| None | ||
Line 307: | Line 307: | ||
|[[Image:Icon-Visual Basic for Applications.png|24x24px|link=Language - Visual Basic for Applications]][[Language - Visual Basic for Applications|Visual Basic for Apps]] | |[[Image:Icon-Visual Basic for Applications.png|24x24px|link=Language - Visual Basic for Applications]] [[Language - Visual Basic for Applications|Visual Basic for Apps]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BC8E56" align=center| Some Devices | |style="background: #BC8E56" align=center| Some Devices | ||
Line 318: | Line 318: | ||
|- | |- | ||
|[[Image:Icon-Visual Basic Script.png|24x24px|link=Language - Visual Basic Script]][[Language - Visual Basic Script|Visual Basic Script]] | |[[Image:Icon-Visual Basic Script.png|24x24px|link=Language - Visual Basic Script]] [[Language - Visual Basic Script|Visual Basic Script]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BC8E56" align=center| Some Devices | |style="background: #BC8E56" align=center| Some Devices | ||
Line 329: | Line 329: | ||
|- | |- | ||
|[[Image:Icon-Delphi.png|24x24px|link=Language - Delphi]][[Language - Delphi|Delphi]] | |[[Image:Icon-Delphi.png|24x24px|link=Language - Delphi]] [[Language - Delphi|Delphi]] | ||
|style="background: #5EC155" align=center| All Devices | |style="background: #5EC155" align=center| All Devices | ||
|style="background: #BC8E56" align=center| Some Devices | |style="background: #BC8E56" align=center| Some Devices | ||
Line 345: | Line 345: | ||
<sup>†</sup> Most languages have code samples for all Phidgets, but some have only some devices (visit the language page to learn which ones), and some only have an Interface Kit example. The Phidget Interface Kit is a common Phidget with provides an interface with analog sensors, digital input, and digital output. So, when we choose which examples to write, the Interface Kit is often at the top of our customer's lists. | <sup>†</sup> Most languages have code samples for all Phidgets, but some have only some devices (visit the language page to learn which ones), and some only have an Interface Kit example. The Phidget Interface Kit is a common Phidget with provides an interface with analog sensors, digital input, and digital output. So, when we choose which examples to write, the Interface Kit is often at the top of our customer's lists. | ||
<span id="ftn_1">[[Image:Icon-Android_Honeycomb.png| | <span id="ftn_1">[[Image:Icon-Android_Honeycomb.png|24px|link=]]</span>Android Honeycomb Version 3.1 or Higher Only |
Revision as of 18:46, 10 January 2012
Phidgets’ philosophy is that you do not have to be an electrical engineer in order to do projects that use devices like sensors, motors, motor controllers, and interface boards. All you need to know is how to program.
We have developed a complete set of Application Programming Interfaces (API) that are supported for many different operating systems, and which can be used through many different programming languages.
We suggest starting with the Getting Started guide for your device. This will help you run a basic example to check your hardware and drivers.
The next step would be to choose your operating system below, and from there choose a language, learn about how to write code for your Phidget, and get API references for your programming language.
The APIs are covered in more detail in the API common to all devices and the API that pertains to your specific device.
Operating System Support
These operating system pages provide drivers for using Phidgets. They help you set up your system after following the Getting Started guide for your device. The operating systems links below are also on every Getting Started guide, so if you have not yet read the one for your device, head straight there.
Phidgets can be run either directly through USB or remotely over a network via the Phidget Webservice. Most operating systems below can run Phidgets directly, but a few can only control them over a network.
Phidgets can run either directly or over a network on these operating systems:
- Windows (Windows 2000 or newer)
- Mac OS X (OS X 10.4 or newer)
- Linux (Kernel 2.6 or newer)
- Windows CE (5.0 or newer)
- Android (3.1 or newer)
- OS - Phidget SBC
Phidgets can only be used over a network by these operating systems:
- IPhone iOS (3.0 or newer)
- Android (3.0 or earlier, or no USB port)
Language Support
We provide a variety of supported languages for using Phidgets. Each language has its own libraries, which may be found on the language pages below, along with code examples and an in-depth API.
Many languages also depend on the core drivers being installed as well. These drivers can be found on the operating system pages above.
Phidgets supports the following languages. If you have some flexibility in what language to use, we recommend using a Core Language:
Language | API | Code Samples† | Events | Logic Code | Use via Direct USB* | Phidget Webservice | Native Library** | Phidget User Base |
---|---|---|---|---|---|---|---|---|
Core Languages | ||||||||
C# | All Devices | All Devices | File:PB-Extensive.png | |||||
C/C++ | All Devices | All Devices | File:PB-Extensive.png | |||||
Java | All Devices | All Devices | File:PB-Extensive.png | |||||
Python | All Devices | All Devices | File:PB-Extensive.png | |||||
Cocoa | All Devices | All Devices | File:PB-Extensive.png | |||||
Visual Basic 6.0 | All Devices | All Devices | File:PB-Extensive.png | |||||
Visual Basic .NET | All Devices | All Devices | File:PB-Extensive.png | |||||
Mobile Languages | ||||||||
iOS | All Devices | InterfaceKit Only | X | File:PB-Moderate.png | ||||
Android Java | All Devices | InterfaceKit Only | File:PB-Moderate.png | |||||
Scripting | ||||||||
Applescript | All Devices | All Devices | File:PB-Moderate.png | |||||
AutoIt | All Devices | None | File:PB-Small.png | |||||
Ruby | All Devices | All Devices | File:PB-Small.png | |||||
Science and Math | ||||||||
LabVIEW | All Devices | All Devices | File:PB-Moderate.png | |||||
MATLAB | All Devices | Some Devices | X | X | File:PB-Moderate.png | |||
Simulink | All Devices | InterfaceKit Only | X | X | File:PB-Small.png | |||
Multimedia | ||||||||
Adobe Director | All Devices | InterfaceKit Only | File:PB-Small.png | |||||
Flash AS3 | All Devices | All Devices | X | File:PB-Extensive.png | ||||
Flex AS3 | All Devices | All Devices | X | File:PB-Moderate.png | ||||
LiveCode | InterfaceKit Only | InterfaceKit Only | File:PB-Small.png | |||||
Max/MSP | All Devices | All Devices | File:PB-Moderate.png | |||||
Other Languages | ||||||||
C# (.NET Compact) | All Devices | Some Devices | File:PB-Small.png | |||||
REALBasic | All Devices | None | File:PB-Small.png | |||||
Visual Basic for Apps | All Devices | Some Devices | File:PB-Small.png | |||||
Visual Basic Script | All Devices | Some Devices | File:PB-Small.png | |||||
Delphi | All Devices | Some Devices | File:PB-Small.png |
* A direct USB connection would be plugging the Phidget into a USB port and using it locally. This is the typical way to use a Phidget. However, some platforms (such as the iPhone platform) do not have USB ports and hence can only use a Phidget over a network, via the Phidget Webservice.
** Native library support means that the calls you make to a Phidget in this language are in the language as well. If the calls are non-native, the use of Phidgets is through an external library linker, such as callib() in MATLAB, for example. The core Phidget library is written in C, and most other languages use this library as their core, but a 'Native' interface cleanly hides this detail.
† Most languages have code samples for all Phidgets, but some have only some devices (visit the language page to learn which ones), and some only have an Interface Kit example. The Phidget Interface Kit is a common Phidget with provides an interface with analog sensors, digital input, and digital output. So, when we choose which examples to write, the Interface Kit is often at the top of our customer's lists.
Android Honeycomb Version 3.1 or Higher Only