|
|
(198 intermediate revisions by 10 users not shown) |
Line 1: |
Line 1: |
| 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.
| | #REDIRECT [[Phidget Programming Basics]] |
| | |
| We have developed a complete set of Application Programming Interfaces (API) that are supported for many different [[#Operating System Support|operating systems]], and which can be used through many different [[#Language Support | programming languages]].
| |
| | |
| We suggest starting with the ''Getting Started'' guide [[Device List|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 Support|operating system below]], and from there [[#Language Support|choose a language]], learn about [[General Phidget Programming|how to write code for your Phidget]], and get API references for your [[#Language Support|programming language]].
| |
| | |
| The APIs are covered in more detail in the [[General API|API common to all devices]] and the API that pertains to your [[Device List| 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 [[Device List|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, [[Device List|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:
| |
| | |
| * [[OS - Windows|Windows]]
| |
| * [[OS - Mac OSX|Mac OSX]]
| |
| * [[OS - Linux|Linux]] (Kernel 2.6+)
| |
| * [[OS - Windows CE|Windows CE]] ??
| |
| * [[OS - Android|Android]] (3.1 and above)
| |
| * [[OS - Phidget SBC]]
| |
| | |
| Phidgets can ''only'' be used over a network by these operating systems:
| |
| | |
| * [[OS - iOS|IPhone iOS]]
| |
| * [[OS - Android|Android]] (3.0 and 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 Support|operating system pages]] above.
| |
| | |
| Phidgets can be controlled using our [[General Phidget Programming|high level API]] which allows for either an [[General Phidget Programming#Event Driven Code|event driven]] style of code design, or by traditional [[General Phidget Programming#Logic Code|logic code]]. If you are flexible on what language you can use, we suggest choosing a language which supports event-driven code.
| |
| | |
| For those languages which only have examples for ''Some Devices'', please see the language page for which specific devices have examples.
| |
| | |
| Phidgets have libraries to support ''both'' event-driven and logic code in the following languages:
| |
| | |
| {| style="border:1px solid darkgray;" cellpadding="7px;"
| |
| |-style="background: #f0f0f0" align=center
| |
| ! Language || API || Code Samples || [[General Phidget Programming#Event Driven Code|Events]] || [[General Phidget Programming#Logic Code|Logic Code]] || Use via Direct USB || [[Phidget Webservice]] || Native Library || Phidget User Base
| |
| |-
| |
| | |
| |[[Language - C Sharp|C#]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| ✓
| |
| |style="background: #abc1e6" align=center| ✓
| |
| |style="background: #abc1e6" align=center| ✓
| |
| |style="background: #abc1e6" align=center| ✓
| |
| |style="background: #abc1e6" align=center| Extensive
| |
| |-
| |
| | |
| |[[Language - C/C++|C/C++]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Java|Java]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Python|Python]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| | |
| |[[Language - Adobe Director|Adobe Director]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #fffe98" align=center| InterfaceKit Only
| |
| |-
| |
| | |
| |[[Language - Applescript|Applescript]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - AutoIt|AutoIt]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #e6abab" align=center| None
| |
| |-
| |
| | |
| | |
| |[[Language - C Sharp (.NET Compact Framework)|C# (.NET Compact)]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #ade6ab" align=center| Some Devices
| |
| |-
| |
| | |
| | |
| |[[Language - Cocoa|Cocoa]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Delphi|Delphi]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #ade6ab" align=center| Some Devices
| |
| |-
| |
| | |
| |[[Language - Flash AS3|Flash AS3]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Flex AS3|Flex AS3]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - iOS|iOS]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #fffe98" align=center| InterfaceKit Only
| |
| |-
| |
| | |
| | |
| |[[Language - LabVIEW|LabVIEW]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - LiveCode|LiveCode]]
| |
| |style="background: #fffe98" align=center| InterfaceKit Only
| |
| |style="background: #fffe98" align=center| InterfaceKit Only
| |
| |-
| |
| | |
| |[[Language - Max/MSP|Max/MSP]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - REALBasic|REALBasic]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #e6abab" align=center| None
| |
| |-
| |
| | |
| |[[Language - Ruby|Ruby]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Simulink|Simulink]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #fffe98" align=center| InterfaceKit Only
| |
| |-
| |
| | |
| |[[Language - Visual Basic .NET|Visual Basic .NET]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Visual Basic 6.0|Visual Basic 6.0]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |-
| |
| | |
| |[[Language - Visual Basic for Applications|Visual Basic for Apps]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #ade6ab" align=center| Some Devices
| |
| |-
| |
| | |
| |[[Language - Visual Basic Script|Visual Basic Script]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #ade6ab" align=center| Some Devices
| |
| |}
| |
| | |
| | |
| You can ''only'' use event-driven code in these languages, by their design:
| |
| | |
| {| style="border:1px solid darkgray;" cellpadding="7px;"
| |
| |-style="background: #f0f0f0" align=center
| |
| ! Language || API || Code Samples
| |
| |-
| |
| | |
| |[[Language - Android Java|Android Java]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #fffe98" align=center| InterfaceKit Only
| |
| |}
| |
| | |
| | |
| Phidget libraries support ''only'' logic code in the following languages, by their design:
| |
| | |
| {| style="border:1px solid darkgray;" cellpadding="7px;"
| |
| |-style="background: #f0f0f0" align=center
| |
| ! Language || API || Code Samples
| |
| |-
| |
| | |
| |[[Language - MATLAB|MATLAB]]
| |
| |style="background: #abc1e6" align=center| All Devices
| |
| |style="background: #ade6ab" align=center| Some Devices
| |
| |}
| |