Software Overview: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
Line 1: Line 1:
[[Category:Overview]]
[[Category:Overview]]
__NOTOC__
__NOTOC__
At Phidgets, our philosophy is that you don't have to be an electrical engineer in order to create sophisticated projects using motors, sensors and other electronics. You simply need to know how to code.
{|
|style="vertical-align:middle; width: 70%;"|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 [[#Language Support | programming languages]], and our software libraries are compatible with all major [[#Operating System Support|operating systems]]. If you are new to Phidgets, we suggest starting with the [[:Category:UserGuide|user guide]] for your device. If you are looking for more information, try one of our overview pages:
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]].


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"
{|style ="width:85%; margin:auto"
Line 11: Line 18:
|'''General'''
|'''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'''
|'''Programming'''
|
|
;{{Phidget22API}}
----
;[[Phidget Programming Basics]]
[[Image:phidget_programming_basics.jpg|link=Phidget Programming Basics|100px|left]]
;[[Data Interval/Change Trigger]]
 
;[[Polling vs. Events]]
 
;[[Using Multiple Phidgets]]
[[Phidget Programming Basics]] - Here you can find the basic concepts to help you get started with making your own programs that use Phidgets.
;[[Logging, Exceptions, and Errors]]
<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'''
|'''Advanced'''
|
|
;[[Phidget Network Server]]
----
;[[Phidget Dictionary]]
[[Image:network_service_icon.jpg|link=Phidget Network Server|100px|left]]
;[[Phidget Manager]]
 
 
[[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]]
 
 
[[Phidget Dictionary]] - Share information over the network using the Phidgets API.
<br clear="all">
----
[[Image:phidget_manager_icon.jpg|link=Phidget Manager|100px|left]]
 
 
[[Phidget Manager]] - Keep track of all available Phidgets using the Phidget Manager.
<br clear="all">
|-
|-
|}
|}

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