Software Overview: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Overview]]
[[Category:Overview]]
__NOTOC__
__NOTOC__
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.  
{|
|style="vertical-align:middle; width: 70%;"|This page outlines the general concepts needed to write code for a Phidget.


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]].


{| style="border:1px solid darkgray;" cellpadding="5px;"
We have created a complete set of Application Programming Interfaces (APIs) for the most popular [[#Language Support | programming languages]], and our software libraries are compatible with all major [[#Operating System Support|operating systems]].
| We suggest starting with the [[:Category:UserGuide|User Guide]] guide for your device. This will help you run a basic example to check your hardware and drivers. 
 
|-
 
|Have you been there but want more introduction? We have overview pages - with lots of explanatory images - for some of our high-level topics:
If you are new to Phidgets, we suggest starting with [[What is a Phidget?]], followed by [[Phidget Programming Basics]], and the [[:Category:UserGuide|user guide]] for your device. If you are looking for more information, try one of our overview pages:
| {{TOC limit|2}}
|}
 
===Overview Pages===
 
{|style ="width:85%; margin:auto"
|-
|-
|'''General'''
|
|
* [[What is a Phidget?]]
----
[[Image:what_is_a_phidget_icon.jpg|link=What is a Phidget?|100px|left]]
 
 
[[What is a Phidget?]] - Here we discuss the very basics of what Phidgets are, and how they can be powerful tools in making your applicaiton.
<br clear="all">
|-
|-
|'''Programming'''
|
|
* [[Phidget Network Service]]
----
* [[Phidget Manager]]
[[Image:phidget_programming_basics.jpg|link=Phidget Programming Basics|100px|left]]
* [[Phidget Dictionary]]
 
 
[[Phidget Programming Basics]] - Here you can find the basic concepts to help you get started with making your own programs that use Phidgets.
<br clear="all">
----
[[Image:addressing_phidgets_icon.jpg|link=Addressing Phidgets|100px|left]]
 
 
[[Addressing Phidgets]] - Learn the various ways you can ensure your program connects to the right Phidgets.
<br clear="all">
----
[[Image:using_multiple_phidgets.jpg|link=Using Multiple Phidgets|100px|left]]
 
 
[[Using Multiple Phidgets]] - Here we'll show you how simple it is to use multiple Phidgets in your program, as well as some less obvious tips and tricks.
<br clear="all">
----
[[Image:polling_events.jpg|link=Polling vs. Events|100px|left]]
 
 
[[Polling vs. Events]] - Your program can gather data in either a polling-driven or event-driven manner. Learn the difference to determine which is best for your application.
<br clear="all">
----
[[Image:data_interval_change_trigger.jpg|link=Data Interval/Change Trigger|100px|left]]
 
 
[[Data Interval/Change Trigger]] - Learn about these two properties that control how much data comes in from your sensors.
<br clear="all">
----
[[Image:logging_exceptions_errors.jpg|link=Logging, Exceptions, and Errors|100px|left]]
 
 
[[Logging, Exceptions, and Errors]] - Learn about all the tools you can use to debug your program.
<br clear="all">
----
[[Image:best_practices_icon.jpg|link=Best Phidgets Practices|100px|left]]
 
 
[[Best Phidgets Practices]] - Good programming habits that will save you from common problems when writing code for your Phidgets.
<br clear="all">
----
|-
|-
|'''Advanced'''
|
|
* [[Phidget Programming Basics]] - Basic concepts to help you make your own programs that use Phidgets.
----
* [[Data Interval/Change Trigger]] - Two properties that control how data comes in from your sensors.
[[Image:network_service_icon.jpg|link=Phidget Network Server|100px|left]]
* [[Polling vs. Events]] - Your program can gather data in two different ways.
 
* [[Using Multiple Phidgets]] - Learn how to use multiple Phidgets in the same program.
 
* [[Logging, Exceptions, and Errors]] - Learn about all the tools you can use to debug your program.
[[Phidget Network Server]] - Phidgets can be controlled and communicated with over your network- either wirelessly or over ethernet.
|-
<br clear="all">
|}
----
[[Image:phidget_dictionary_icon.jpg|link=Phidget Dictionary|100px|left]]
 


After that, you'll need to dive right in and write code.  
[[Phidget Dictionary]] - Share information over the network using the Phidgets API.
<br clear="all">
----
[[Image:phidget_manager_icon.jpg|link=Phidget Manager|100px|left]]


From the Getting Started Guide, you'll have already chosen your [[#Operating System Support|operating system below]], and from the operating system page you'll be directed to [[#Language Support|choose a language]].


So if you're here, you probably want:
[[Phidget Manager]] - Keep track of all available Phidgets using the Phidget Manager.
* An overview of our language and operating system support (in which case, just scroll down)
<br clear="all">
* The API with syntax and function calls for your device - which you can find on the {{Phidget22API}} page.
|-
* Or, information about your Phidget, which can be found on its product page on our [{{SERVER}} main website] or in its [[:Category:UserGuide|user guide]].
|}


We try to make our documentation as complete as possible - which means there is a lot of it!  Browse around, try the search bar, and if you can't find what you need, please {{ContactUs|contact us}}.


== Operating System Support ==
== Operating System Support ==

Revision as of 21:26, 31 October 2018


This page outlines the general concepts needed to write code for a Phidget.


We have created a complete set of Application Programming Interfaces (APIs) for the most popular programming languages, and our software libraries are compatible with all major operating systems.


If you are new to Phidgets, we suggest starting with What is a Phidget?, followed by Phidget Programming Basics, and the user guide for your device. If you are looking for more information, try one of our overview pages:

Overview Pages

General
What is a phidget icon.jpg


What is a Phidget? - Here we discuss the very basics of what Phidgets are, and how they can be powerful tools in making your applicaiton.

Programming
Phidget programming basics.jpg


Phidget Programming Basics - Here you can find the basic concepts to help you get started with making your own programs that use Phidgets.


Addressing phidgets icon.jpg


Addressing Phidgets - Learn the various ways you can ensure your program connects to the right Phidgets.


Using multiple phidgets.jpg


Using Multiple Phidgets - Here we'll show you how simple it is to use multiple Phidgets in your program, as well as some less obvious tips and tricks.


Polling events.jpg


Polling vs. Events - Your program can gather data in either a polling-driven or event-driven manner. Learn the difference to determine which is best for your application.


Data interval change trigger.jpg


Data Interval/Change Trigger - Learn about these two properties that control how much data comes in from your sensors.


Logging exceptions errors.jpg


Logging, Exceptions, and Errors - Learn about all the tools you can use to debug your program.


Best practices icon.jpg


Best Phidgets Practices - Good programming habits that will save you from common problems when writing code for your Phidgets.


Advanced
Network service icon.jpg


Phidget Network Server - Phidgets can be controlled and communicated with over your network- either wirelessly or over ethernet.


Phidget dictionary icon.jpg


Phidget Dictionary - Share information over the network using the Phidgets API.


Phidget manager icon.jpg


Phidget Manager - Keep track of all available Phidgets using the Phidget Manager.


Operating System Support

We provide support for all major operating systems. Select your operating system from the table below and follow the Getting Started guide in order to set up your machine. If you need to access non-current versions of our drivers you can find them here. You can find the driver changelog here.

Desktop OS

OS - Windows OS - macOS OS - Linux
Windows MacOS Linux
(Windows 8 or Newer) (OS X 10.5 or Newer) (Kernel 2.6 or Newer)

Mobile/Wireless OS

OS - Android OS - iOS OS - Phidget SBC
Android iOS Phidget SBC
(4.1 Jellybean or Newer) (8.0 or Newer) (All versions supported)

Desktop OSes

OS - Windows Windows (Windows 8 or Newer)
OS - macOS MacOS (OS X 10.5 or Newer)
OS - Linux Linux (Kernel 2.6 or Newer)

Mobile/Wireless OSes

OS - Android Android (4.1 Jellybean or Newer)
OS - iOS iOS (8.0 or Newer)
OS - Phidget SBC Phidget SBC (All versions supported)

We provide support for a variety of programming languages. Each language has code samples for you to use as well as an in-depth API for you to reference. If you aren't sure which language to use, we recommend using one of our core languages, because they are supported under all major operating systems and have a wide user base. Python is a good choice for new programmers because it's quick to set up.

Core Languages

C C# Python Java JavaScript
C C# Python Java JavaScript

Mobile Languages

Android Java Swift Objective C
Java (Android) Swift Objective C

Other Languages

VB.Net LabVIEW Max/MSP
VB LabVIEW Max/MSP

Core Languages

C C
C# C#
Python Python
Java Java
JavaScript JavaScript

Mobile Languages

Android Java Java (Android)
Swift Swift
Objective C Objective C

Other Languages

VB.Net VB
LabVIEW LabVIEW
Max/MSP Max/MSP