Alert.png

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.


Click on the 2phidget22.jpg button in the menu bar to go to the Phidget22 version of this page.

Alert.png

Driver Changelog: Difference between revisions

From Phidgets Legacy Support
(Created page with "==2.1.8.20120716== *Linux-Only Release *Fixed a bug where opening a device in two program at once would cause an attach-detach cycle as they fight each other for control. ==2....")
 
No edit summary
 
(47 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==2.1.8.20120716==
[[Category:Administrative]]
__NOTOC__
 
===2.1.9.20191008===
*macOS release
**Fix Java library
 
===2.1.9.20191007===
*macOS release
**Fix kernel driver for macos 10.9 and 10.10
 
===2.1.9.20191001===
*macOS / Windows release
**Support for macos 10.15 Catalina
**Update firmware files
 
===2.1.9.20190409===
*Fix GPS Date after April 6 2019 week rollover event
 
===2.1.9.20190208===
*macOS release
**Fixed USB bug where devices plugged in before boot were inaccessible until unplugged/re-plugged on 2018 Mac Mini.
 
===2.1.9.20180622===
*Python fix
 
===2.1.9.20180215===
*Move to .NET 4.0
 
===2.1.8.20171215===
*macOS release
**Fixed USB bug where opening two of the same device with -1 serial could cause missed attach/detach events and other errors.
 
===2.1.8.20160921===
*macOS release
**Fixed USB bug where devices plugged in before boot were inaccessible until unplugged/re-plugged, under OS X 10.11.
 
===2.1.8.20160202===
*Windows release
**Labview 7.1 support
 
===2.1.8.20160107===
*Windows release
**Don't throw an exception on EncoderPositionChangeEventArgs.Time in the .Net library when time it unknown - just return 0x7fffffff
 
===2.1.8.20160104===
*Mac/Windows release
**New firmware for 1042 and 1044, fixing digital gyro
===2.1.8.20151217===
*Fixed 1045 bug where it will display an unknown ambient temperature sometimes
*Fixed a crash in the windows control panel
 
===2.1.8.20151020===
*Windows release
**Fixed an issue where the examples would error when trying to run them from the control panel.
 
===2.1.8.20151009===
*OS X and Windows release
**Upgraded firmware for 1024, 1032, 1041, 1042, 1043, 1044 and 1067 to address issues with these Phidgets on OS X El Capitan
*SBC release
**Support for multiple webcams
===2.1.8.20150821===
*OS X-only release
**Support OS X 10.11 El Capitan
===2.1.8.20150805===
*OS X-only release
**Preliminary support for OS X 10.11 El Capitan
===2.1.8.20150410===
*Linux-only release
**Fixed Makefile phidget21.h target issues
===2.1.8.20150326===
*Windows-only release
**Fixed issue with webservice buttons not being visible in the control panel
===2.1.8.20150323===
*Windows-only release
**Updated icons with new company logo
===2.1.8.20150227===
*Linux-only release
**Added copyright/licence headers to source code files
**Updated cvtutf files to a newer version
===2.1.8.20150109===
*Windows-only
**Fixed examples for Labview 8.5
===2.1.8.20141209===
*OS X-only release
**Added support for armv7s and arm64 to the iOS library. Dropped support for armv6. Requires iOS 5.1.1 or later.
===2.1.8.20141202===
*Windows-only release
**Labview release to support older versions
===2.1.8.20141119===
*OS X-only release
**Fixed an issue with the 2.1.8.20141117 release where nothing was actually installed.
===2.1.8.20141117===
*OS X-only release
**Fixed a code-signing issue that make the installer appear unsigned on OS X 10.10
**Dropped support for OS X 10.4
===2.1.8.20140905===
*Windows-only release
**Added an IA32 folder to the windows libraries download - this supports Windows on the Intel Galileo platform
===2.1.8.20140428===
*Windows-only release
**Fixes to C# Stepper GUI Example
===2.1.8.20140319===
*CPhidget_getDeviceClass can now be called on handle before it is attached.
*Added support for 64-bit Max/MSP (Version 6.1+) on both OS X and Windows.
===2.1.8.20140227===
*Deals with 1046 bug in v100 and v101 firmware.
**No longer reports bad values that appear right after a channel is enabled.
**Fixes issue where changing the gain while channel 0 is disabled would sometimes cause bad readings.
 
===2.1.8.20131105===
* Fixed a defect in the Flash examples for the 1012 (Outputs 11-16 were not addressed properly).
 
===2.1.8.20130926===
*Windows-only release
**Support setting label on 1067 from Windows
===2.1.8.20130820===
*Windows-only release
**Added logging option to control panel / C# full examples
===2.1.8.20130802===
*Windows-only release
**Fix for Windows 8 issue where only 'Uninitialized Phidget Handle' would show up in the Manager, and Phidgets could not be opened.
===2.1.8.20130723===
*Improvement to java: we don't attach/detach our native threads for each event, just one attach, then detach before the thread exits.
**This increases performance, esp. when debugging on Android.
*Improvement to Android: We reuse the UsbRequest object rather then creating a new one for each transfer. This reduces logcat messages tremendously, and increases performance.
===2.1.8.20130710===
*Android-only release
**Added extra android target architectures: x86, MIPS, armeabi-v7a
===2.1.8.20130618===
*Changed setCompassCorrectionParameters() API call so that compass calibration parameters are written out to non-volatile storage on 1042/1044, so that they persist across power cycles. Previously, calibration data would need to be re-programmed at each attach.
*Changes to C# Spatial example:
**Compass calibration parameter set dialog removed from for 1042/1044 because parameters are set by the calibration software - and thus do not need setting in the example.
**Stores/restores parameters for 1056 based on serial number, so multiple different calibrations can be maintained.
===2.1.8.20130607===
*Windows-only release
**Fixes to compass calibration software for 1042/1044
===2.1.8.20130419===
*Windows-only release
**Fixed setCompassCorrectionParameters in the COM library
===2.1.8.20130327===
*Windows-only release
**Changed Windows installer to stop virus-scanner false positives
**Dropped support for Windows 2000
===2.1.8.20130320===
*Added EPHIDGET_NOTFOUND exception to Dictionary.getKey() for when the key is not found.
*Added exceptions back into the Java library - they have been missing since 2.1.8.20121015 release.
===2.1.8.20130313===
*Updates to Matlab support
**Works properly on Matlab 7+, on Windows, Mac, Linux without needing changes to .m files.
===2.1.8.20130221===
*Windows-only release
**Encoder Index event added to C and .NET libraries
===2.1.8.20121218===
*Webservice version: 1.0.10
**Support for 1024, 1032
*Support for 1024, 1032
*fixed bug where if one half of a composite device is open, and PHIDGET_USB_ERROR_FLAG gets set, the device may never re-attach.
===2.1.8.20121015===
*Windows-only release
**Support for new pressure/light sensors in example.
===2.1.8.20120914===
*Windows-only release
**Improved firmware upgrading in control panel - it was giving some false-errors on some machines.
===2.1.8.20120912===
*Fixed bug where 1065 could fail to attach when opened over webservice
*Fixed bug where close() could deadlock on Phidgets opened over the webservice
*Changed LED64 LED Brightness from int to double
**this may cause issues when controlling the LED64 over the webservice and library/webservice are not the same version
**the old setDiscreteLED call will remain, deprecated, with an int argument for compatibility.
===2.1.8.20120716===
*Linux-Only Release
*Linux-Only Release
*Fixed a bug where opening a device in two program at once would cause an attach-detach cycle as they fight each other for control.
**Fixed a bug where opening a device in two program at once would cause an attach-detach cycle as they fight each other for control.
==2.1.8.20120713==
===2.1.8.20120713===
*Mac-Only Release
*Mac-Only Release
*Added signing of the Mac installer, so Mountain Lion (OS X 10.8) doesn't refuse to run it.
**Added signing of the Mac installer, so Mountain Lion (OS X 10.8) doesn't refuse to run it.
==2.1.8.20120615==
===2.1.8.20120615===
*Windows-only release
*Windows-only release
*Fixed a bug that caused java to crash on events introduced in ==2.1.8.20120612
**Fixed a bug that caused java to crash on events introduced in 2.1.8.20120612
==2.1.8.20120612==
===2.1.8.20120612===
*Windows-only release
*Windows-only release
*Fixed another bug that will cause Unity3D to hang on exit after having used Phidgets.
**Fixed another bug that will cause Unity3D to hang on exit after having used Phidgets.
==2.1.8.20120606==
===2.1.8.20120606===
*Windows-only release
*Windows-only release
*Fixed a bug that will cause Unity3D to hang on exit after having used Phidgets.
**Fixed a bug that will cause Unity3D to hang on exit after having used Phidgets.
==2.1.8.20120525==
===2.1.8.20120525===
*Windows-only release
*Windows-only release
*Fixed PhidgetIR sendRawData bug in .NET on 64-bit machines.
**Fixed PhidgetIR sendRawData bug in .NET on 64-bit machines.
==2.1.8.20120514==
===2.1.8.20120514===
*Linux-only release
*Linux-only release
*Fixed a bug that causes a segfault with libusb-1.0 under 64-bit Linux.
**Fixed a bug that causes a segfault with libusb-1.0 under 64-bit Linux.
==2.1.8.20120507==
===2.1.8.20120507===
*Mac/Linux-only release
*Mac/Linux-only release
*Fixes a setLabel bug introduced in 2.1.8.20120503
**Fixes a setLabel bug introduced in 2.1.8.20120503
==2.1.8.20120503==
===2.1.8.20120503===
*Fixed some spelling mistakes
*Fixed some spelling mistakes
*Moved to libusb-1.0
*Moved to libusb-1.0
*This resolves a bug where having a webcam plugged in caused a memory leak in the webservice.
**This resolves a bug where having a webcam plugged in caused a memory leak in the webservice.
*Fixed bug with advanced servo where setting acceleration to accelerationMax would cause an exception for some servo types
*Fixed bug with advanced servo where setting acceleration to accelerationMax would cause an exception for some servo types
==2.1.8.20120216==
===2.1.8.20120216===
*Fixed bug with RFID Reader on OS X and Linux, as well as .NET over the webservice
*Fixed bug with RFID Reader on OS X and Linux, as well as .NET over the webservice
*Fixed bug that could cause the Java Phidget Manager to crash during garbage collection.
*Fixed bug that could cause the Java Phidget Manager to crash during garbage collection.
==2.1.8.20120131==
===2.1.8.20120131===
*Fixed RFID Reader bug that caused tag event to not get thrown in .NET Applications
*Fixed RFID Reader bug that caused tag event to not get thrown in .NET Applications
*Changed compass bearing calculations in spatial C# example
*Changed compass bearing calculations in spatial C# example
==2.1.8.20120123==
===2.1.8.20120123===
*Added support for 1061 v300+
*Added support for 1061 v300+
*Fixed a bug where the firmware version could be mis-reported over Bonjour
*Fixed a bug where the firmware version could be mis-reported over Bonjour
==2.1.8.20111220==
===2.1.8.20111220===
*Fixed a bug in AppleScript where closing a Phidget opened via label would give a 'Connection Invalid' error.
*Fixed a bug in AppleScript where closing a Phidget opened via label would give a 'Connection Invalid' error.
*Fixed a bug where the webservice may fail to start on Linux systems that don't support IPv6 (ie. SBC2).
*Fixed a bug where the webservice may fail to start on Linux systems that don't support IPv6 (ie. SBC2).
Line 44: Line 214:
*Increased the number of overrun errors ignored during initial attach for InterfaceKit.
*Increased the number of overrun errors ignored during initial attach for InterfaceKit.
*Fixed an issue with the iPhone library and header
*Fixed an issue with the iPhone library and header
==2.1.8.20111219==
===2.1.8.20111219===
*fixed various other webservice stability/performance/memory leak bugs
*fixed various other webservice stability/performance/memory leak bugs
*Faster connection to SBC-connected Phidgets from Mac OS
*Faster connection to SBC-connected Phidgets from Mac OS
Line 51: Line 221:
*Fixed bug where Webservice would crash on Linux if the chosen serverID was already under use on the network
*Fixed bug where Webservice would crash on Linux if the chosen serverID was already under use on the network
*Stopped sending hardware Error Events before the Attach event - they are now queued up and sent after Attach
*Stopped sending hardware Error Events before the Attach event - they are now queued up and sent after Attach
*Fixed a crash in the Phidget Control Panel
*Fixed a crash in the [[Phidget Control Panel]]
*Added ability to remove dictionary keys from a key change listener
*Added ability to remove dictionary keys from a key change listener
*Reduced the number of false 'pending command not finished' error events on Close()
*Reduced the number of false 'pending command not finished' error events on Close()
Line 67: Line 237:
*Fixed webservice bug where authentication would fail on a valid password
*Fixed webservice bug where authentication would fail on a valid password
*Fixed webservice bug where attach may never happen, and would require a close()/open()
*Fixed webservice bug where attach may never happen, and would require a close()/open()
==2.1.8.20111121==
 
===2.1.8.20111121===
*Added support for new servo types to all libraries
*Added support for new servo types to all libraries
*Fixed min/max position/velocity causing invalid arg exception on servo/advservo
*Fixed min/max position/velocity causing invalid arg exception on servo/advservo
Line 73: Line 244:
*Fixed some memory leaks
*Fixed some memory leaks
*Fixed hostname lookup issue on Mac OS with Back To My Mac enabled.
*Fixed hostname lookup issue on Mac OS with Back To My Mac enabled.
==2.1.8.20111028==
===2.1.8.20111028===
*Fixed Applescript bugs and released examples
*Fixed Applescript bugs and released examples
*Added openLabel to .NET, Java, COM
*Added openLabel to .NET, Java, COM
*Setting change trigger to 0 on interfacekit will not set event mode.
*Setting change trigger to 0 on interfacekit will not set event mode.
*Previously setting change trigger to 0 after setting data rate would supersede the data rate setting, which is probably unexpected.
**Previously setting change trigger to 0 after setting data rate would supersede the data rate setting, which is probably unexpected.
==2.1.8.20110630==
===2.1.8.20110630 - MacOS Only===
*handle USB bug introduced in MacOS 10.6.8
*handle USB bug introduced in MacOS 10.6.8
==2.1.8.20110615==
===2.1.8.20110615===
*Added error event when trying to open Phidgets with an unsupported version
*Added error event when trying to open Phidgets with an unsupported version
==2.1.8.20110614==
===2.1.8.20110614 - Windows Only===
*Fixed bug in C# Spatial example
*Fixed bug in C# Spatial example
*Added support for negative gains in 1056
*Added support for negative gains in 1056
==2.1.8.20110601==
===2.1.8.20110601 - MacOS Only===
*Fixed AppleScript issues
*Fixed AppleScript issues
==2.1.8.20110527==
===2.1.8.20110527===
*Fixed AS3.0 library (Flash/Flex) - wouldn't connect to webservice as of last release
*Fixed AS3.0 library (Flash/Flex) - wouldn't connect to webservice as of last release
*Fixed bug where webservice doesn't release a closed Phidget
*Fixed bug where webservice doesn't release a closed Phidget
*Fixed bug where devices that don't support label didn't show up on MacOS
*Fixed bug where devices that don't support label didn't show up on MacOS
*Fixed iPhone library issues
*Fixed iPhone library issues
==2.1.8.20110524==
===2.1.8.20110524===
*AppleScript support added
*AppleScript support added
*fixed problem with Spatial in .NET on 64-bit Windows
*fixed problem with Spatial in .NET on 64-bit Windows
*Added remote setLabel to mac preference pane.
*Added remote setLabel to mac preference pane.
*fixed a bug where label characters 7,8,9 would be read back corrupted on certain devices.
*fixed a bug where label characters 7,8,9 would be read back corrupted on certain devices.
*labels >7 characters that exhibit this bug will now be truncated to 7 characters when being read back
**labels >7 characters that exhibit this bug will now be truncated to 7 characters when being read back
*call setLabel again using this library or newer to support 10 character labels.
**call setLabel again using this library or newer to support 10 character labels.
*To maintain compatibility with older library versions, limit labels to <=7 characters on these devices.
**To maintain compatibility with older library versions, limit labels to <=7 characters on these devices.
*fixed bug on MacOS where serial number and/or label strings could be read wrong.
*fixed bug on MacOS where serial number and/or label strings could be read wrong.
*better support for recovering misbehaving devices in Linux
*better support for recovering misbehaving devices in Linux
Line 105: Line 276:
*clear list of attached devices when closing remote manager
*clear list of attached devices when closing remote manager
*Added support for Unicode labels
*Added support for Unicode labels
*To maintain compatibility with older library versions, limit labels to ASCII.
**To maintain compatibility with older library versions, limit labels to ASCII.
*Added open by label
*Added open by label
*Webservice protocol version up to 1.0.9 (for open by label)
*Webservice protocol version up to 1.0.9 (for open by label)
*Made opening multiple device is one application faster.
*Made opening multiple device is one application faster.
*TextLCD changes:
*TextLCD changes:
*cursor is disabled while writing to the display or setting a custom character to prevent display artifacts
**cursor is disabled while writing to the display or setting a custom character to prevent display artifacts
*cursor is disabled when a full line is written so it doesn't go to the start of another line
**cursor is disabled when a full line is written so it doesn't go to the start of another line
*1204 should be stable
**1204 should be stable
*setDisplayCharacter supports 0x00-0xff
**setDisplayCharacter supports 0x00-0xff
*stopped property reflected more accurately in the C# stepper example
*stopped property reflected more accurately in the C# stepper example
*Added error events to mac examples
*Added error events to mac examples
==2.1.8.20110329==
===2.1.8.20110329 - Windows only===
*Windows only release
*Fixed problem with control panel encoder example where enable wouldn't work
*Fixed problem with control panel encoder example where enable wouldn't work
*Fixed issue with SpatialData, GPSPositionChange, PHChange and WeightChange events in Labview 64-bit
*Fixed issue with SpatialData, GPSPositionChange, PHChange and WeightChange events in Labview 64-bit
==2.1.8.20110322==
===2.1.8.20110322===
*Fixed Phidget Control Panel memory leak when Bonjour in installed but not running
*Fixed [[Phidget Control Panel]] memory leak when Bonjour in installed but not running
*Fixed current sense formula on 1061_0 v200
*Fixed current sense formula on 1061_0 v200
*Fixed bug in webservice protocol while using the PhidgetAdvancedServo
*Fixed bug in webservice protocol while using the PhidgetAdvancedServo
*Fixed bug in old PhidgetTemperatureSensor
*Fixed bug in old PhidgetTemperatureSensor
==2.1.8.20110310==
 
===2.1.8.20110310===
*Fixed bug in webservice protocol while using the PhidgetServo
*Fixed bug in webservice protocol while using the PhidgetServo
*Fixed some Labview bugs
*Fixed some Labview bugs
*Added some Java and VB.NET examples
*Added some Java and VB.NET examples
==2.1.8.20110301==
===2.1.8.20110301===
*Full Support for 1002, 1011, 1040, 1046, 1054, 1065, 1204
*Full Support for 1002, 1011, 1040, 1046, 1054, 1065, 1204
*New webservice version - 1.0.8
*New webservice version - 1.0.8
*Support for new devices
**Support for new devices
*Support for error events
**Support for error events
==2.1.7.20110203==
===2.1.7.20110203===
*fixed crash on close of remote Phidget on MacOS
*fixed crash on close of remote Phidget on MacOS
*C# ifkit example bugfix - crashed on 1015/1016
*C# ifkit example bugfix - crashed on 1015/1016
Line 140: Line 311:
*Switch to IP address for SBC config in browser
*Switch to IP address for SBC config in browser
*Faster IP lookup for SBCs in control panel
*Faster IP lookup for SBCs in control panel
==2.1.7.20101222/20101223==
===2.1.7.20101222 / 2.1.7.20101223===
*fixed getServerID on Linux
*fixed getServerID on Linux
*removed report ack
*removed report ack
*this was causing some bad side effects
**this was causing some bad side effects
*manual .local lookups on Windows
*manual .local lookups on Windows
*much faster then letting Windows do it itself
**much faster then letting Windows do it itself
*Support for new Labview library
*Support for new Labview library
*Fixed PhidgetIR bug where library would crash if repeat code is longer then IR_MAX_REPEAT_LENGTH
*Fixed PhidgetIR bug where library would crash if repeat code is longer then IR_MAX_REPEAT_LENGTH
==2.1.7.20101103==
===2.1.7.20101103===
*Decreased Phidget Webservice event latency on Windows
*Decreased Phidget Webservice event latency on Windows
*Preliminary support for 1002, 1011, 1040, 1045, 1046, 1054, 1065, 1204 (C, .NET)
*Preliminary support for 1002, 1011, 1040, 1045, 1046, 1054, 1065, 1204 (C, .NET)
*Webservice version updated to 1.0.7
*Webservice version updated to 1.0.7
*support for 1045, 1011, 1204
**support for 1045, 1011, 1204
*Fixed a bug where webservice connections could be unexpectedly lost
*Fixed a bug where webservice connections could be unexpectedly lost
*Bugfix: couldn't set interfacekit data rate over webservice.
*Bugfix: couldn't set interfacekit data rate over webservice.
*Fixed some memory leaks in the Mac library
*Fixed some memory leaks in the Mac library
*Fixed bug where blocking for >2 seconds in an events handler when opening remotely could cause a crash.
*Fixed bug where blocking for >2 seconds in an events handler when opening remotely could cause a crash.
==2.1.7.20100803==
===2.1.7.20100803===
*Windows only release
*Windows only release
*fixed setLabel in WindowsCE
*fixed setLabel in WindowsCE
*fixed getHashCode in .NET library - needed for working with Phidgets in Labview via .NET
*fixed getHashCode in .NET library - needed for working with Phidgets in Labview via .NET
==2.1.7.20100621==
===2.1.7.20100621===
*Linux only release - autotools updates
*Linux only release - autotools updates
*call ldconfig automatically
**call ldconfig automatically
*remove old phidget21 library (pre-autotools) when installing new one.
**remove old phidget21 library (pre-autotools) when installing new one.
==2.1.7.20100620==
===2.1.7.20100620===
*Linux only release - added version.sh for autoreconf
*Linux only release - added version.sh for autoreconf
==2.1.7.20100618==
===2.1.7.20100618===
*Linux only release - added udev/hotplug files
*Linux only release - added udev/hotplug files
==2.1.7.20100617==
===2.1.7.20100617===
*Linux only release
*Linux only release
*Transitioned to autotools in linux for phidget21 / webservice
*Transitioned to autotools in linux for phidget21 / webservice
*phidget21 library and webservice are now separate downloads
*phidget21 library and webservice are now separate downloads
==2.1.7.20100525==
===2.1.7.20100525===
*full support for PhidgetSpatial and PhidgetIR in all libraries
*full support for PhidgetSpatial and PhidgetIR in all libraries
*fixed 1031 not attaching in AS3.0
*fixed 1031 not attaching in AS3.0
Line 184: Line 355:
*Added new device support to WindowsCE
*Added new device support to WindowsCE
*Updated mac examples for 1047, 1048
*Updated mac examples for 1047, 1048
==2.1.6.20100504==
===2.1.6.20100504===
*Windows only Release
*Windows only Release
*Added 1131 and 1132 to InterfaceKit example in MSI
**Added 1131 and 1132 to InterfaceKit example in MSI
==2.1.6.20100428==
===2.1.6.20100428===
*limit data rate maximum to 16ms over the webservice for devices that expose dataRate (InterfaceKit, Spatial)
*limit data rate maximum to 16ms over the webservice for devices that expose dataRate (InterfaceKit, Spatial)
*fixed bug where TextLCD 8/8/8 would stay in Bonjour list after webservice is shutdown
*fixed bug where TextLCD 8/8/8 would stay in Bonjour list after webservice is shutdown
Line 193: Line 364:
*Support 1048 in C# example
*Support 1048 in C# example
*webservice version incremented to 1.0.6
*webservice version incremented to 1.0.6
*TextLCD set/get brightness
**TextLCD set/get brightness
*PhidgetIR support
**PhidgetIR support
*PhidgetSpatial support
**PhidgetSpatial support
*1047 support (enable, index)
**1047 support (enable, index)
==2.1.6.20100406==
===2.1.6.20100406===
*Support for 1018_2, 1203_2 (dataRate)
*Support for 1018_2 (dataRate)
*Webservice version incremented to 1.0.5
*Webservice version incremented to 1.0.5
==2.1.6.20100401==
===2.1.6.20100401===
*Updated InterfaceKit example with new sensors
*Updated InterfaceKit example with new sensors
*make Windows connect cancelable
*make Windows connect cancelable
*make pending zeroconf lookups cancelable during close
*make pending zeroconf lookups cancelable during close
==2.1.6.20100318==
===2.1.6.20100318===
*Mac only release
*Mac only release
*Added WillSleep and Wakeup events to give user control of Phidgets immediately before and after a system sleep (MacOS Only).
**Added WillSleep and Wakeup events to give user control of Phidgets immediately before and after a system sleep (MacOS Only).
==2.1.6.20100317==
===2.1.6.20100317===
*Windows only release
*Windows only release
*Some of the examples were being built using an out of date .NET library
**Some of the examples were being built using an out of date .NET library
==2.1.6.20100310==
===2.1.6.20100310===
*MaxMSP fix - 2.1.6.20100126 introduced a bug for some Phidgets where openremote/open by serial didn't work and MaxMSP would sometimes crash.
*MaxMSP fix - 2.1.6.20100126 introduced a bug for some Phidgets where openremote/open by serial didn't work and MaxMSP would sometimes crash.
*No code changes to any of the other libraries.
**No code changes to any of the other libraries.
==2.1.6.20100304==
===2.1.6.20100304===
*stopped property changes trigger events over webservice so they are noticed.
*stopped property changes trigger events over webservice so they are noticed.
*more compatible with how local open works
**more compatible with how local open works
*added 5 new servos
*added 5 new servos
*fixed bug where remote close would not set detached so a subsequent open would not always connect.
*fixed bug where remote close would not set detached so a subsequent open would not always connect.
Line 222: Line 393:
*fixed close blocking because of a pending connect (mac, linux)
*fixed close blocking because of a pending connect (mac, linux)
*Final support for 1031 in all libraries.
*Final support for 1031 in all libraries.
==2.1.6.20100129==
===2.1.6.20100129===
*Implemented initial events in Flash
*Implemented initial events in Flash
*Flash behaviour should now be identical to C library local and remote.
**Flash behaviour should now be identical to C library local and remote.
*Fix RFID issue where close could cause crash
*Fix RFID issue where close could cause crash
*increment webservice version to 1.0.4
*increment webservice version to 1.0.4
*fixed RFID remote open
*fixed RFID remote open
*Flash would never get an attach event if the reader had been previously opened
**Flash would never get an attach event if the reader had been previously opened
*Initial tag event would not be fired when a tag was present and the antenna was enabled prior to open
**Initial tag event would not be fired when a tag was present and the antenna was enabled prior to open
*fixed openRemote failing on Mac
*fixed openRemote failing on Mac
*fixed deadlock in webservice which could be hit by opening/closing a device over and over again.
*fixed deadlock in webservice which could be hit by opening/closing a device over and over again.
*fixed bug in stepper, which caused seg fault on SBC on position change events.
*fixed bug in stepper, which caused seg fault on SBC on position change events.
==2.1.6.20100126==
===2.1.6.20100126===
*added network open support in Max/MSP
*added network open support in Max/MSP
==2.1.6.20100115==
===2.1.6.20100115===
*Increased network performance for Linux/MacOS
*Increased network performance for Linux/MacOS
*Added five servo types
*Added five servo types
==2.1.6.20091215==
===2.1.6.20091215===
*Fixed busy loop in Linux openRemote
*Fixed busy loop in Linux openRemote
*JNI Library relocated to /Library/Java/Extensions on MacOS
*JNI Library relocated to /Library/Java/Extensions on MacOS
==2.1.6.20091211==
===2.1.6.20091211===
*Heartbeat now works on Linux as well (had to make sockets non-blocking)
*Heartbeat now works on Linux as well (had to make sockets non-blocking)
==2.1.6.20091130==
===2.1.6.20091130===
*Added heartbeat to webservice (client side)
*Added heartbeat to webservice (client side)
*Better detects network failures by using active polling timeouts
**Better detects network failures by using active polling timeouts
*Fixed 0/8/8 over webservice
*Fixed 0/8/8 over webservice
==2.1.6.20091020==
===2.1.6.20091020===
*Fixed 1052 counting issue on 1070 (-1 reported as 255)
*Fixed 1052 counting issue on 1070 (-1 reported as 255)
*Fixed issue where Phidget21 would try to reinstall from a limited user account or when the Control Panel was disabled.
*Fixed issue where Phidget21 would try to reinstall from a limited user account or when the Control Panel was disabled.
*64-bit kernel support in Snow Leopard
*64-bit kernel support in Snow Leopard
==2.1.6.20090928==
===2.1.6.20090928===
*Support for PhidgetSBC (1070)
*Support for PhidgetSBC (1070)
*zeroconf can handle starting up before the mdns daemon, and will keep trying to connect.
*zeroconf can handle starting up before the mdns daemon, and will keep trying to connect.
Line 257: Line 428:
*added advanced servo example to mac pref pane
*added advanced servo example to mac pref pane
*implemented proper error handling in COM
*implemented proper error handling in COM
*default behavious remains the same, enable proper error handling with 'EnableVerboseErrors'
**default behavious remains the same, enable proper error handling with 'EnableVerboseErrors'
*implemented error events in Java
*implemented error events in Java
==2.1.6.20090917==
===2.1.6.20090917===
*Updated webservice protocol version to 1.0.3
*Updated webservice protocol version to 1.0.3
*Fixed stepper under AS3.0
*Fixed stepper under AS3.0
*added setServoType, getServoType, setServoParameters to PhidgetServo and PhidgetAdvancedServo
*added setServoType, getServoType, setServoParameters to PhidgetServo and PhidgetAdvancedServo
*possible race condition fixed in webservice (pdictclient.c:907)
*possible race condition fixed in webservice (pdictclient.c:907)
==2.1.6.20090902==
===2.1.6.20090902 (mac only release)===
*Support MacOSX 10.6, drop support for 10.3.9, require 10.4 or newer
*Support MacOSX 10.6, drop support for 10.3.9, require 10.4 or newer
*Fully 64-bit compliant, library supports ppc, i386, x86_64
**Fully 64-bit compliant, library supports ppc, i386, x86_64
==2.1.6.20090806==
===2.1.6.20090806===
*Added 1049 support
*Added 1049 support
*Fixed RFID tag events over webservice
*Fixed RFID tag events over webservice
==2.1.6.20090804==
===2.1.6.20090804===
*Added 1051_2 support
*Added 1051_2 support
*Fixed various small initialization issues - stepper, adv servo, rfid
*Fixed various small initialization issues - stepper, adv servo, rfid
*Added 32-bit library install to 64-bit installer
*Added 32-bit library install to 64-bit installer
*VB6.0, etc. need the 32-bit COM library on 64-bit windows
**VB6.0, etc. need the 32-bit COM library on 64-bit windows
==2.1.6.20090708==
===2.1.6.20090717===
*?
===2.1.6.20090708===
*Added DeviceID to zeroconf
*Added DeviceID to zeroconf
*fixed RFID.LastTag in .NET
*fixed RFID.LastTag in .NET
Line 284: Line 457:
*made mac more reliable on attach
*made mac more reliable on attach
*more error logging on mac
*more error logging on mac
==2.1.6.20090525==
===2.1.6.20090525===
*fixed RFID not attaching via webservice if a tag is present.
*fixed RFID not attaching via webservice if a tag is present.
*bugfix related to double free on detach event.
*bugfix related to double free on detach event.
*Implemented getKey
*Implemented getKey
*Added MIPS II support to Windows CE
*Added MIPS II support to Windows CE
==2.1.6.20090430==
===2.1.6.20090430===
*Added ActiveX interface to COM library
*Added ActiveX interface to COM library
*Added stepper and advancedServo to Flex .swc library
*Added stepper and advancedServo to Flex .swc library
==2.1.6.20090417==
===2.1.6.20090417===
*added PhidgetIR prototype support to C library
*added PhidgetIR prototype support to C library
*properly handles sleeping on OSX
*properly handles sleeping on OSX
*fixed some webservice field initializations in Flash and C
*fixed some webservice field initializations in Flash and C
*fixed security exceptions in Phidget Control Panel under Vista
*fixed security exceptions in [[Phidget Control Panel]] under Vista
*added Phidget Control Panel to start menu
*added [[Phidget Control Panel]] to start menu
 
===2.1.6.20090318 (Examples/AS3.0 only release)===
*Fixed AdvancedServo in Flash - wouldn't attach
*Fixed AdvancedServo in Flash - wouldn't attach
==2.1.6.20090317==
===2.1.6.20090317===
*Phidget control panel properly supports Vista UAC and Limited user accounts in XP, etc.
*[[Phidget Control Panel]] properly supports Vista UAC and Limited user accounts in XP, etc.
*Added 64-bit release of Phidget21.msi for Windows
*Added 64-bit release of Phidget21.msi for Windows
==2.1.6.20090312==
 
===2.1.6.20090312===
*added 1064, 1059 to WindowsCE
*added 1064, 1059 to WindowsCE
*fixed opening 1051 over webservice
*fixed opening 1051 over webservice
*fixed opening 1015/1016 over webservice broken in last release
*fixed opening 1015/1016 over webservice broken in last release
==2.1.6.20090302==
===2.1.6.20090302===
*Advanced servo bugfix: stopped would stop being true if min/max was set to exclude current position.
*Advanced servo bugfix: stopped would stop being true if min/max was set to exclude current position.
*linux USB improvements when many Phidgets are attached and opened at once.
*linux USB improvements when many Phidgets are attached and opened at once.
*1031 support in phidget21, webservice, .NET - hidden until product release
*1031 support in phidget21, webservice, .NET - hidden until product release
*CPhidgetLED_setVoltage
**CPhidgetLED_setVoltage
*CPhidgetLED_getVoltage
**CPhidgetLED_getVoltage
*CPhidgetLED_setCurrentLimit
**CPhidgetLED_setCurrentLimit
*CPhidgetLED_getCurrentLimit
**CPhidgetLED_getCurrentLimit
*unknown timechange == PUNK_INT in encoder position change event
*unknown timechange == PUNK_INT in encoder position change event
*1st position change event
**1st position change event
*>30 seconds time change
**> 30 seconds time change
*AS3 updates
*AS3 updates
*updated to 1.0.2 webservice
**updated to 1.0.2 webservice
*encoder position change events report relative change rather then absolute position
**encoder position change events report relative change rather then absolute position
*encoder adds getTimeChange function for timing encoder changes
**encoder adds getTimeChange function for timing encoder changes
*webservice updated to 1.0.2
*webservice updated to 1.0.2
*Authorization is asynchronous
**Authorization is asynchronous
*Doesn't match the old version checking, so errors will not be nice when trying to connect to an old webservice
**Doesn't match the old version checking, so errors will not be nice when trying to connect to an old webservice
*Sends out all initial data, so it's just like opening locally
**Sends out all initial data, so it's just like opening locally
*supports interfacekit Raw sensor value
**supports interfacekit Raw sensor value
*supports labels on remoteIP managers
**supports labels on remoteIP managers
*avahi bugfix
*avahi bugfix
*webservice more stable against forcefully closed clients
*webservice more stable against forcefully closed clients
*closing a network Phidget won't block - ever.
*closing a network Phidget won't block - ever.
*no longer using quit, just closing the socket
**no longer using quit, just closing the socket
*added libavahi-client.so.3 reference to linux library.
*added libavahi-client.so.3 reference to linux library.
*Fixed bug with opening one phidget with serial and no serial at the same time over the webservice
*Fixed bug with opening one phidget with serial and no serial at the same time over the webservice
==2.1.5.20090105==
===2.1.5.20090105===
*Phidget control panel stability improvements
*[[Phidget Control Panel]] stability improvements
*added CPhidgetSBC_getHostname
*added CPhidgetSBC_getHostname
*advanced servo 1 motor current sense equation - support should now be complete
*advanced servo 1 motor current sense equation - support should now be complete
Line 340: Line 516:
*fixed close on remote and remoteIP managers
*fixed close on remote and remoteIP managers
*name of RFID changed from "Phidget RFID 4-output" to "Phidget RFID 2-output" - updated anything referencing old name.
*name of RFID changed from "Phidget RFID 4-output" to "Phidget RFID 2-output" - updated anything referencing old name.
==2.1.5.20081023==
 
===2.1.5.20081023===
*added advanced servo and stepper examples to VB6.0, VB.NET and C
*added advanced servo and stepper examples to VB6.0, VB.NET and C
*added deviceClass and deviceID
*added deviceClass and deviceID
Line 349: Line 526:
*Dictionary and network stability improvements.
*Dictionary and network stability improvements.
*duplicate calls to open or close are now silently ignored.
*duplicate calls to open or close are now silently ignored.
==2.1.4.20080924==
===2.1.4.20080924===
*Old TextLCD 0/8/8's can now have both halves open at the same time on Windows
*Old TextLCD 0/8/8's can now have both halves open at the same time on Windows
*fixed bug with composite devices on linux
*fixed bug with composite devices on linux
*fixed manager on linux to better deal with unique devices
*fixed manager on linux to better deal with unique devices
==2.1.4.20080922==
===2.1.4.20080922===
*Updated Delphi files
*Updated Delphi files
*TextLCD can display 0x80-0xFF characters from Java
*TextLCD can display 0x80-0xFF characters from Java
Line 363: Line 540:
*joining central threads checks whether they are trying to be joined by themselves first (avoid deadlocks).
*joining central threads checks whether they are trying to be joined by themselves first (avoid deadlocks).
*changed context of error event to be free from locks (can call close, open, etc. from them).
*changed context of error event to be free from locks (can call close, open, etc. from them).
==2.1.4.20080821==
===2.1.4.20080821===
*zeroconf threads exit cleanly on last _close (apple zeroconf)
*zeroconf threads exit cleanly on last _close (apple zeroconf)
*Added advanced servo and stepper to Max
*Added advanced servo and stepper to Max
==2.1.4.20080811==
===2.1.4.20080811 (mac only release)===
*Fixed manager on Mac (wasn't working at all since ==2.1.4.20080808)
*Fixed manager on Mac (wasn't working at all since 2.1.4.20080808)
==2.1.4.20080808==
===2.1.4.20080808===
*added CPhidgetSBC and CPhidgetSBCManager to the c library - these interfaces are hidden from users and meant to be used internally (for now).
*added CPhidgetSBC and CPhidgetSBCManager to the c library - these interfaces are hidden from users and meant to be used internally (for now).
*CPhidgetManager_open no longer blocks to send out initial attach events. These initial events are sent from the CentralThread context like all other attach events.
*CPhidgetManager_open no longer blocks to send out initial attach events. These initial events are sent from the CentralThread context like all other attach events.
*fixed CThread_wait_on_event on Linux
*fixed CThread_wait_on_event on Linux
*added CPhidgetGeneric interface for prototyping to C, .NET libraries. product ID is 0x99. These are only visible in debug releases, only to be used internally.
*added CPhidgetGeneric interface for prototyping to C, .NET libraries. product ID is 0x99. These are only visible in debug releases, only to be used internally.
==2.1.4.20080715==
===2.1.4.20080715===
*udev rules fixed for product IDs with alpha-hex values
*udev rules fixed for product IDs with alpha-hex values
*blocking in an attach event does not block calls to open anymore
*blocking in an attach event does not block calls to open anymore
*RFID tag event handlers can now handle blocking - tag lost is timed after the tag handler exits.
*RFID tag event handlers can now handle blocking - tag lost is timed after the tag handler exits.
==2.1.4.20080623==
===2.1.4.20080623===
*Flex .swc library was out of sync
*Flex .swc library was out of sync
*fixed CPhidgetManager_getAttachedDevices for network managers
*fixed CPhidgetManager_getAttachedDevices for network managers
*Added CPhidgetManager_freeAttachedDevicesArray
*Added CPhidgetManager_freeAttachedDevicesArray
==2.1.4.20080613==
===2.1.4.20080613===
*Max/MSP RFID fixed
*Max/MSP RFID fixed
*0/0/8 and advanced servo added to CE
*0/0/8 and advanced servo added to CE
*fixed flash policy file server in webservice
*fixed flash policy file server in webservice
*webservice with password and asynchronous together work now
*webservice with password and asynchronous together work now
==2.1.4.20080602==
===2.1.4.20080602===
*phidget21.h -> phidget21int.h so as not to be confused with generated phidget21.h
*phidget21.h -> phidget21int.h so as not to be confused with generated phidget21.h
*some changes to Makefile fro crosscompiling
*some changes to Makefile fro crosscompiling
*no more vbscript in msi
*no more vbscript in msi
==2.1.4.20080513==
===2.1.4.20080513===
*removed long long from COM - not supported by VB6.0
*removed long long from COM - not supported by VB6.0
*added LastTag to RFID in .NET
*added LastTag to RFID in .NET
==2.1.4.20080428==
===2.1.4.20080428===
*support Mac OS X 10.3.9 again
*support Mac OS X 10.3.9 again
*Rev up to ==2.1.4
*Rev up to 2.1.4
*finalize Phidget Stepper API - Phidget Stepper requires ==2.1.4 as a minimum
*finalize Phidget Stepper API - Phidget Stepper requires 2.1.4 as a minimum
*fixed serverConnect and serverDisconnect handlers for manager and dictionary in COM
*fixed serverConnect and serverDisconnect handlers for manager and dictionary in COM
*Changed:
*Changed:
*PhidgetStepper and PhidgetAdvancedServo
**PhidgetStepper and PhidgetAdvancedServo
*MotorPosition -> Position
***MotorPosition -> Position
*MotorOn -> Engaged
***MotorOn -> Engaged
*MotorStopped -> Stopped
***MotorStopped -> Stopped
*Added:
*Added:
*CPhidgetStepper_getCurrentLimit
**CPhidgetStepper_getCurrentLimit
*CPhidgetEncoder_getPosition
**CPhidgetEncoder_getPosition
*CPhidgetEncoder_setPosition
**CPhidgetEncoder_setPosition
*CPhidgetMotorControl_getVelocity
**CPhidgetMotorControl_getVelocity
*CPhidgetMotorControl_setVelocity
**CPhidgetMotorControl_setVelocity
*CPhidgetMotorControl_set_OnVelocityChange_Handler
**CPhidgetMotorControl_set_OnVelocityChange_Handler
*CPhidgetServo_setEngaged
**CPhidgetServo_setEngaged
*CPhidgetServo_getEngaged
**CPhidgetServo_getEngaged
*CPhidgetServo_getPosition
**CPhidgetServo_getPosition
*CPhidgetServo_setPosition
**CPhidgetServo_setPosition
*CPhidgetServo_set_OnPositionChange_Handler
**CPhidgetServo_set_OnPositionChange_Handler
*CPhidgetServo_getPositionMax
**CPhidgetServo_getPositionMax
*CPhidgetServo_getPositionMin
**CPhidgetServo_getPositionMin
*Count functions
**Count functions
*Deprecated:
*Deprecated:
*CPhidgetEncoder_getEncoderPosition
**CPhidgetEncoder_getEncoderPosition
*CPhidgetEncoder_setEncoderPosition
**CPhidgetEncoder_setEncoderPosition
*CPhidgetMotorControl_getMotorSpeed
**CPhidgetMotorControl_getMotorSpeed
*CPhidgetMotorControl_setMotorSpeed
**CPhidgetMotorControl_setMotorSpeed
*CPhidgetMotorControl_set_OnMotorChange_Handler
**CPhidgetMotorControl_set_OnMotorChange_Handler
*CPhidgetServo_setMotorOn
**CPhidgetServo_setMotorOn
*CPhidgetServo_getMotorOn
**CPhidgetServo_getMotorOn
*CPhidgetServo_getMotorPosition
**CPhidgetServo_getMotorPosition
*CPhidgetServo_setMotorPosition
**CPhidgetServo_setMotorPosition
*CPhidgetServo_set_OnMotorPositionChange_Handler
**CPhidgetServo_set_OnMotorPositionChange_Handler
*CPhidgetServo_getMotorPositionMax
**CPhidgetServo_getMotorPositionMax
*CPhidgetServo_getMotorPositionMin
**CPhidgetServo_getMotorPositionMin
*Num functions
**Num functions
*Added ability to deprecate funcitons in the C library - compiler will issue a warning when they are used.
*Added ability to deprecate funcitons in the C library - compiler will issue a warning when they are used.
*added names to some arguments in phidget21.h
*added names to some arguments in phidget21.h
*fixes to the webservice for initial state stuff - now it behaves almost like non-webservice, with guaranteed initial events, but we don't guarantee initial state in the attach event yet. Min/Max, Num motors, inputs, etc. are all guaranteed in the attach handler.
*fixes to the webservice for initial state stuff - now it behaves almost like non-webservice, with guaranteed initial events, but we don't guarantee initial state in the attach event yet. Min/Max, Num motors, inputs, etc. are all guaranteed in the attach handler.
*Finalized support for Phidget Stepper
*Finalized support for Phidget Stepper
==2.1.3.20080402==
===2.1.3.20080402===
*Fixed windows BUG - Device Type was showing up wrong
*Fixed windows BUG - Device Type was showing up wrong
*CPhidgetStepper_getPosition -> CPhidgetStepper_getCurrentPosition
*CPhidgetStepper_getPosition -> CPhidgetStepper_getCurrentPosition
==2.1.3.20080327==
===2.1.3.20080327===
*added:
*added:
*CPhidgetAdvancedServo_setMotorPositionMax
**CPhidgetAdvancedServo_setMotorPositionMax
*CPhidgetAdvancedServo_setMotorPositionMin
**CPhidgetAdvancedServo_setMotorPositionMin
*CPhidgetAdvancedServo_getMotorStopped
**CPhidgetAdvancedServo_getMotorStopped
*changes to API:
*changes to API
*CPhidgetStepper_setMotorPosition -> CPhidgetStepper_setTargetMotorPosition
**CPhidgetStepper_setMotorPosition -> CPhidgetStepper_setTargetMotorPosition
*added CPhidgetStepper_getTargetMotorPosition
**added CPhidgetStepper_getTargetMotorPosition
*Stepper MotorSpeed -> Velocity
**Stepper MotorSpeed -> Velocity
*Stepper and AdvancedServo MaxVelocity -> VelocityLimit
**Stepper and AdvancedServo MaxVelocity -> VelocityLimit
*add waitForAttachment to COM
*add waitForAttachment to COM
*COM getbool (not indexed) will now return FALSE on false (rather then always returning true)
*COM getbool (not indexed) will now return FALSE on false (rather then always returning true)
*fixed write thread timeouts - was setting attached after starting write thread so write thread would see a detached device and exit immediately
*fixed write thread timeouts - was setting attached after starting write thread so write thread would see a detached device and exit immediately
==2.1.3.20080206==
===2.1.3.20080206===
*changed long long to __int64, to be happy in borland C++
*changed long long to __int64, to be happy in borland C++
*added:
*added:
*CPhidgetStepper_getMaxMotorSpeed
**CPhidgetStepper_getMaxMotorSpeed
*CPhidgetStepper_setMotorOn
**CPhidgetStepper_setMotorOn
*CPhidgetStepper_getMotorOn
**CPhidgetStepper_getMotorOn
*CPhidgetStepper_getMotorStopped
**CPhidgetStepper_getMotorStopped
*CPhidgetStepper_setCurrentMotorPosition
**CPhidgetStepper_setCurrentMotorPosition
*removed CPhidgetStepper_setVelocity
*removed CPhidgetStepper_setVelocity
*added CPhidgetStepper_setMaxVelocity, CPhidgetStepper_getMaxVelocity
*added CPhidgetStepper_setMaxVelocity, CPhidgetStepper_getMaxVelocity
==2.1.3.20080114==
===2.1.3.20080114===
*Added new functions to Flash API
*Added new functions to Flash API
*Added new functions to Webservice Protocol
*Added new functions to Webservice Protocol
Line 472: Line 649:
*if a data value is unknown, user variable is set to PUNK_INT, PUNK_DBL, or PUNK_BOOL, and return value is EPHIDGET_UNKNOWNVAL
*if a data value is unknown, user variable is set to PUNK_INT, PUNK_DBL, or PUNK_BOOL, and return value is EPHIDGET_UNKNOWNVAL
*Proper Device initializations on Attach:
*Proper Device initializations on Attach:
*triggers are set to defaults on attach
**triggers are set to defaults on attach
*device state is read in and preserved on attach
**device state is read in and preserved on attach
*during attach event, all sensor data, etc. is provided if available
**during attach event, all sensor data, etc. is provided if available
*no data events until after the attach event returns
**no data events until after the attach event returns
*everything initialized by the time waitForAttachment returns
**everything initialized by the time waitForAttachment returns
*after attach event returns, a full set of initial state data events are thrown
**after attach event returns, a full set of initial state data events are thrown
*.NET collections are readonly, and never NULL (but empty when phidget detached)
*.NET collections are readonly, and never NULL (but empty when phidget detached)
*.NET callbacks no longer catch and hide all exceptions
*.NET callbacks no longer catch and hide all exceptions
*make sure to use try/catch blocks especially in Attach when accessing properties that may not be initialized.
**make sure to use try/catch blocks especially in Attach when accessing properties that may not be initialized.
*added min/max functions:
*added min/max functions:
*CPhidgetAccelerometer_getAccelerationMax
**CPhidgetAccelerometer_getAccelerationMax
*CPhidgetAccelerometer_getAccelerationMin
**CPhidgetAccelerometer_getAccelerationMin
*CPhidgetAdvancedServo_getAccelerationMax
**CPhidgetAdvancedServo_getAccelerationMax
*CPhidgetAdvancedServo_getAccelerationMin
**CPhidgetAdvancedServo_getAccelerationMin
*CPhidgetAdvancedServo_getVelocityMax
**CPhidgetAdvancedServo_getVelocityMax
*CPhidgetAdvancedServo_getVelocityMin
**CPhidgetAdvancedServo_getVelocityMin
*CPhidgetAdvancedServo_getMotorPositionMax
**CPhidgetAdvancedServo_getMotorPositionMax
*CPhidgetAdvancedServo_getMotorPositionMin
**CPhidgetAdvancedServo_getMotorPositionMin
*CPhidgetMotorControl_getAccelerationMax
**CPhidgetMotorControl_getAccelerationMax
*CPhidgetMotorControl_getAccelerationMin
**CPhidgetMotorControl_getAccelerationMin
*CPhidgetPHSensor_getPHMax
**CPhidgetPHSensor_getPHMax
*CPhidgetPHSensor_getPHMin
**CPhidgetPHSensor_getPHMin
*CPhidgetPHSensor_getPotentialMax
**CPhidgetPHSensor_getPotentialMax
*CPhidgetPHSensor_getPotentialMin
**CPhidgetPHSensor_getPotentialMin
*CPhidgetServo_getMotorPositionMax
**CPhidgetServo_getMotorPositionMax
*CPhidgetServo_getMotorPositionMin
**CPhidgetServo_getMotorPositionMin
*CPhidgetStepper_getAccelerationMax
**CPhidgetStepper_getAccelerationMax
*CPhidgetStepper_getAccelerationMin
**CPhidgetStepper_getAccelerationMin
*CPhidgetStepper_getMotorSpeedMax
**CPhidgetStepper_getMotorSpeedMax
*CPhidgetStepper_getMotorSpeedMin
**CPhidgetStepper_getMotorSpeedMin
*CPhidgetStepper_getMotorPositionMax
**CPhidgetStepper_getMotorPositionMax
*CPhidgetStepper_getMotorPositionMin
**CPhidgetStepper_getMotorPositionMin
*CPhidgetTemperatureSensor_getPotentialMax
**CPhidgetTemperatureSensor_getPotentialMax
*CPhidgetTemperatureSensor_getPotentialMin
**CPhidgetTemperatureSensor_getPotentialMin
*CPhidgetTemperatureSensor_getAmbientTemperatureMax
**CPhidgetTemperatureSensor_getAmbientTemperatureMax
*CPhidgetTemperatureSensor_getAmbientTemperatureMin
**CPhidgetTemperatureSensor_getAmbientTemperatureMin
*CPhidgetTemperatureSensor_getTemperatureMax
**CPhidgetTemperatureSensor_getTemperatureMax
*CPhidgetTemperatureSensor_getTemperatureMin
**CPhidgetTemperatureSensor_getTemperatureMin
*Added functions:
*Added functions:
*CPhidgetTemperatureSensor_getAmbientTemperature
**CPhidgetTemperatureSensor_getAmbientTemperature
*CPhidgetTemperatureSensor_getThermocoupleType
**CPhidgetTemperatureSensor_getThermocoupleType
*CPhidgetTemperatureSensor_setThermocoupleType
**CPhidgetTemperatureSensor_setThermocoupleType
*CPhidget_set_OnServerConnectHandler
**CPhidget_set_OnServerConnectHandler
*CPhidget_set_OnServerDisconnectHandler
**CPhidget_set_OnServerDisconnectHandler
*CPhidgetDictionary_set_OnServerConnectHandler
**CPhidgetDictionary_set_OnServerConnectHandler
*CPhidgetDictionary_set_OnServerDisconnectHandler
**CPhidgetDictionary_set_OnServerDisconnectHandler
*CPhidgetManager_set_OnServerConnectHandler
**CPhidgetManager_set_OnServerConnectHandler
*CPhidgetManager_set_OnServerDisconnectHandler
**CPhidgetManager_set_OnServerDisconnectHandler
*CPhidgetDictionary_getServerID
**CPhidgetDictionary_getServerID
*CPhidgetDictionary_getServerAddress
**CPhidgetDictionary_getServerAddress
*CPhidgetDictionary_getServerStatus
**CPhidgetDictionary_getServerStatus
*CPhidgetManager_getServerID
**CPhidgetManager_getServerID
*CPhidgetManager_getServerAddress
**CPhidgetManager_getServerAddress
*CPhidgetManager_getServerStatus
**CPhidgetManager_getServerStatus
*CPhidgetServo_setMotorOn
**CPhidgetServo_setMotorOn
*CPhidgetServo_getMotorOn
**CPhidgetServo_getMotorOn
*Removed functions:
*Removed functions:
*CPhidgetServo_setMotorOff
**CPhidgetServo_setMotorOff
*TemperatureSensor:
*TemperatureSensor:
*Ambient sensor is accessed with it's own function
**Ambient sensor is accessed with it's own function
*first thermocouple is Index 0 everywhere
**first thermocouple is Index 0 everywhere
*no ambient sensor events
**no ambient sensor events
*getServerID is implemented
*getServerID is implemented
*changed the internal network structure (added CPhidgetRemote)
*changed the internal network structure (added CPhidgetRemote)
*reworked the USB code (mostly on Windows)
*reworked the USB code (mostly on Windows)
*Better handles closing, ESD events, timeouts
**Better handles closing, ESD events, timeouts
*fixed issues with Encoder, RFID stopping reading after a certain time.
**fixed issues with Encoder, RFID stopping reading after a certain time.
*added USB error flag
**added USB error flag
*openRemote functions have been implemented
*openRemote functions have been implemented
*these require bonjour (mac / windows) or avahi (linux) to be installed on both the client and server
**these require bonjour (mac / windows) or avahi (linux) to be installed on both the client and server
*if they are not, you get EPHIDGET_UNSUPPORTED when you call them
**if they are not, you get EPHIDGET_UNSUPPORTED when you call them
*openRemoteIP functions are asynchronous and persistent
*openRemoteIP functions are asynchronous and persistent
*include cphidgetconstants.h in phidget21.h for users
*include cphidgetconstants.h in phidget21.h for users
==2.1.2.20071108==
===2.1.2.20071108===
*Start of changelog
*start of chagelog

Latest revision as of 19:59, 8 October 2019


2.1.9.20191008

  • macOS release
    • Fix Java library

2.1.9.20191007

  • macOS release
    • Fix kernel driver for macos 10.9 and 10.10

2.1.9.20191001

  • macOS / Windows release
    • Support for macos 10.15 Catalina
    • Update firmware files

2.1.9.20190409

  • Fix GPS Date after April 6 2019 week rollover event

2.1.9.20190208

  • macOS release
    • Fixed USB bug where devices plugged in before boot were inaccessible until unplugged/re-plugged on 2018 Mac Mini.

2.1.9.20180622

  • Python fix

2.1.9.20180215

  • Move to .NET 4.0

2.1.8.20171215

  • macOS release
    • Fixed USB bug where opening two of the same device with -1 serial could cause missed attach/detach events and other errors.

2.1.8.20160921

  • macOS release
    • Fixed USB bug where devices plugged in before boot were inaccessible until unplugged/re-plugged, under OS X 10.11.

2.1.8.20160202

  • Windows release
    • Labview 7.1 support

2.1.8.20160107

  • Windows release
    • Don't throw an exception on EncoderPositionChangeEventArgs.Time in the .Net library when time it unknown - just return 0x7fffffff

2.1.8.20160104

  • Mac/Windows release
    • New firmware for 1042 and 1044, fixing digital gyro

2.1.8.20151217

  • Fixed 1045 bug where it will display an unknown ambient temperature sometimes
  • Fixed a crash in the windows control panel

2.1.8.20151020

  • Windows release
    • Fixed an issue where the examples would error when trying to run them from the control panel.

2.1.8.20151009

  • OS X and Windows release
    • Upgraded firmware for 1024, 1032, 1041, 1042, 1043, 1044 and 1067 to address issues with these Phidgets on OS X El Capitan
  • SBC release
    • Support for multiple webcams

2.1.8.20150821

  • OS X-only release
    • Support OS X 10.11 El Capitan

2.1.8.20150805

  • OS X-only release
    • Preliminary support for OS X 10.11 El Capitan

2.1.8.20150410

  • Linux-only release
    • Fixed Makefile phidget21.h target issues

2.1.8.20150326

  • Windows-only release
    • Fixed issue with webservice buttons not being visible in the control panel

2.1.8.20150323

  • Windows-only release
    • Updated icons with new company logo

2.1.8.20150227

  • Linux-only release
    • Added copyright/licence headers to source code files
    • Updated cvtutf files to a newer version

2.1.8.20150109

  • Windows-only
    • Fixed examples for Labview 8.5

2.1.8.20141209

  • OS X-only release
    • Added support for armv7s and arm64 to the iOS library. Dropped support for armv6. Requires iOS 5.1.1 or later.

2.1.8.20141202

  • Windows-only release
    • Labview release to support older versions

2.1.8.20141119

  • OS X-only release
    • Fixed an issue with the 2.1.8.20141117 release where nothing was actually installed.

2.1.8.20141117

  • OS X-only release
    • Fixed a code-signing issue that make the installer appear unsigned on OS X 10.10
    • Dropped support for OS X 10.4

2.1.8.20140905

  • Windows-only release
    • Added an IA32 folder to the windows libraries download - this supports Windows on the Intel Galileo platform

2.1.8.20140428

  • Windows-only release
    • Fixes to C# Stepper GUI Example

2.1.8.20140319

  • CPhidget_getDeviceClass can now be called on handle before it is attached.
  • Added support for 64-bit Max/MSP (Version 6.1+) on both OS X and Windows.

2.1.8.20140227

  • Deals with 1046 bug in v100 and v101 firmware.
    • No longer reports bad values that appear right after a channel is enabled.
    • Fixes issue where changing the gain while channel 0 is disabled would sometimes cause bad readings.

2.1.8.20131105

  • Fixed a defect in the Flash examples for the 1012 (Outputs 11-16 were not addressed properly).

2.1.8.20130926

  • Windows-only release
    • Support setting label on 1067 from Windows

2.1.8.20130820

  • Windows-only release
    • Added logging option to control panel / C# full examples

2.1.8.20130802

  • Windows-only release
    • Fix for Windows 8 issue where only 'Uninitialized Phidget Handle' would show up in the Manager, and Phidgets could not be opened.

2.1.8.20130723

  • Improvement to java: we don't attach/detach our native threads for each event, just one attach, then detach before the thread exits.
    • This increases performance, esp. when debugging on Android.
  • Improvement to Android: We reuse the UsbRequest object rather then creating a new one for each transfer. This reduces logcat messages tremendously, and increases performance.

2.1.8.20130710

  • Android-only release
    • Added extra android target architectures: x86, MIPS, armeabi-v7a

2.1.8.20130618

  • Changed setCompassCorrectionParameters() API call so that compass calibration parameters are written out to non-volatile storage on 1042/1044, so that they persist across power cycles. Previously, calibration data would need to be re-programmed at each attach.
  • Changes to C# Spatial example:
    • Compass calibration parameter set dialog removed from for 1042/1044 because parameters are set by the calibration software - and thus do not need setting in the example.
    • Stores/restores parameters for 1056 based on serial number, so multiple different calibrations can be maintained.

2.1.8.20130607

  • Windows-only release
    • Fixes to compass calibration software for 1042/1044

2.1.8.20130419

  • Windows-only release
    • Fixed setCompassCorrectionParameters in the COM library

2.1.8.20130327

  • Windows-only release
    • Changed Windows installer to stop virus-scanner false positives
    • Dropped support for Windows 2000

2.1.8.20130320

  • Added EPHIDGET_NOTFOUND exception to Dictionary.getKey() for when the key is not found.
  • Added exceptions back into the Java library - they have been missing since 2.1.8.20121015 release.

2.1.8.20130313

  • Updates to Matlab support
    • Works properly on Matlab 7+, on Windows, Mac, Linux without needing changes to .m files.

2.1.8.20130221

  • Windows-only release
    • Encoder Index event added to C and .NET libraries

2.1.8.20121218

  • Webservice version: 1.0.10
    • Support for 1024, 1032
  • Support for 1024, 1032
  • fixed bug where if one half of a composite device is open, and PHIDGET_USB_ERROR_FLAG gets set, the device may never re-attach.

2.1.8.20121015

  • Windows-only release
    • Support for new pressure/light sensors in example.

2.1.8.20120914

  • Windows-only release
    • Improved firmware upgrading in control panel - it was giving some false-errors on some machines.

2.1.8.20120912

  • Fixed bug where 1065 could fail to attach when opened over webservice
  • Fixed bug where close() could deadlock on Phidgets opened over the webservice
  • Changed LED64 LED Brightness from int to double
    • this may cause issues when controlling the LED64 over the webservice and library/webservice are not the same version
    • the old setDiscreteLED call will remain, deprecated, with an int argument for compatibility.

2.1.8.20120716

  • Linux-Only Release
    • Fixed a bug where opening a device in two program at once would cause an attach-detach cycle as they fight each other for control.

2.1.8.20120713

  • Mac-Only Release
    • Added signing of the Mac installer, so Mountain Lion (OS X 10.8) doesn't refuse to run it.

2.1.8.20120615

  • Windows-only release
    • Fixed a bug that caused java to crash on events introduced in 2.1.8.20120612

2.1.8.20120612

  • Windows-only release
    • Fixed another bug that will cause Unity3D to hang on exit after having used Phidgets.

2.1.8.20120606

  • Windows-only release
    • Fixed a bug that will cause Unity3D to hang on exit after having used Phidgets.

2.1.8.20120525

  • Windows-only release
    • Fixed PhidgetIR sendRawData bug in .NET on 64-bit machines.

2.1.8.20120514

  • Linux-only release
    • Fixed a bug that causes a segfault with libusb-1.0 under 64-bit Linux.

2.1.8.20120507

  • Mac/Linux-only release
    • Fixes a setLabel bug introduced in 2.1.8.20120503

2.1.8.20120503

  • Fixed some spelling mistakes
  • Moved to libusb-1.0
    • This resolves a bug where having a webcam plugged in caused a memory leak in the webservice.
  • Fixed bug with advanced servo where setting acceleration to accelerationMax would cause an exception for some servo types

2.1.8.20120216

  • Fixed bug with RFID Reader on OS X and Linux, as well as .NET over the webservice
  • Fixed bug that could cause the Java Phidget Manager to crash during garbage collection.

2.1.8.20120131

  • Fixed RFID Reader bug that caused tag event to not get thrown in .NET Applications
  • Changed compass bearing calculations in spatial C# example

2.1.8.20120123

  • Added support for 1061 v300+
  • Fixed a bug where the firmware version could be mis-reported over Bonjour

2.1.8.20111220

  • Fixed a bug in AppleScript where closing a Phidget opened via label would give a 'Connection Invalid' error.
  • Fixed a bug where the webservice may fail to start on Linux systems that don't support IPv6 (ie. SBC2).
  • Fixed issue where ratiometric state on newest interfacekit wouldn't be read back properly if it was false during attach.
  • Fixed webservice issue where ratiometric state would not be reported properly for newest interfacekits
  • Increased the number of overrun errors ignored during initial attach for InterfaceKit.
  • Fixed an issue with the iPhone library and header

2.1.8.20111219

  • fixed various other webservice stability/performance/memory leak bugs
  • Faster connection to SBC-connected Phidgets from Mac OS
  • Don't report packetlost or overrun errors that happen during early initialization - these are just noise.
  • Fixed a bug in the webservice tree removal function that could cause memory leaks.
  • Fixed bug where Webservice would crash on Linux if the chosen serverID was already under use on the network
  • Stopped sending hardware Error Events before the Attach event - they are now queued up and sent after Attach
  • Fixed a crash in the Phidget Control Panel
  • Added ability to remove dictionary keys from a key change listener
  • Reduced the number of false 'pending command not finished' error events on Close()
  • Fixed a webservice bug where exceptions/false attach events could occur when close() is called soon after open
  • Fixed bug where closing a PhidgetRFID soon after attach could cause a crash
  • Fixed webservice but on MacOS where client could exit with SIG_PIPE error
  • Fixed webservice bug where the server would sometimes exit(1) after many connect/disconnect cycles
  • Fixed webservice bug where client could deadlock during close()
  • Fixed webservice bug where opening a single remote phidget multiple times from the same application would fail
  • Fixed a webservice bug where sockets weren't being closed properly sometimes
  • Fixed a webservice bug where pre-attach error events wouldn't get through
  • Fixed a bug where the webservice running on Linux would stop responding to clients after ~300 connect/disconnect cycles
  • Fixed bug where a Phidget would become inaccessible until the app is restarted if a thread creation failed
  • Fixed webservice bug where connect is slow on Windows when multiple clients are running simultaneously
  • Fixed webservice bug where authentication would fail on a valid password
  • Fixed webservice bug where attach may never happen, and would require a close()/open()

2.1.8.20111121

  • Added support for new servo types to all libraries
  • Fixed min/max position/velocity causing invalid arg exception on servo/advservo
  • IPv6 support on MacOS
  • Fixed some memory leaks
  • Fixed hostname lookup issue on Mac OS with Back To My Mac enabled.

2.1.8.20111028

  • Fixed Applescript bugs and released examples
  • Added openLabel to .NET, Java, COM
  • Setting change trigger to 0 on interfacekit will not set event mode.
    • Previously setting change trigger to 0 after setting data rate would supersede the data rate setting, which is probably unexpected.

2.1.8.20110630 - MacOS Only

  • handle USB bug introduced in MacOS 10.6.8

2.1.8.20110615

  • Added error event when trying to open Phidgets with an unsupported version

2.1.8.20110614 - Windows Only

  • Fixed bug in C# Spatial example
  • Added support for negative gains in 1056

2.1.8.20110601 - MacOS Only

  • Fixed AppleScript issues

2.1.8.20110527

  • Fixed AS3.0 library (Flash/Flex) - wouldn't connect to webservice as of last release
  • Fixed bug where webservice doesn't release a closed Phidget
  • Fixed bug where devices that don't support label didn't show up on MacOS
  • Fixed iPhone library issues

2.1.8.20110524

  • AppleScript support added
  • fixed problem with Spatial in .NET on 64-bit Windows
  • Added remote setLabel to mac preference pane.
  • fixed a bug where label characters 7,8,9 would be read back corrupted on certain devices.
    • labels >7 characters that exhibit this bug will now be truncated to 7 characters when being read back
    • call setLabel again using this library or newer to support 10 character labels.
    • To maintain compatibility with older library versions, limit labels to <=7 characters on these devices.
  • fixed bug on MacOS where serial number and/or label strings could be read wrong.
  • better support for recovering misbehaving devices in Linux
  • fixed a deadlock on linux when Avahi is installed but not running
  • clear list of attached devices when closing remote manager
  • Added support for Unicode labels
    • To maintain compatibility with older library versions, limit labels to ASCII.
  • Added open by label
  • Webservice protocol version up to 1.0.9 (for open by label)
  • Made opening multiple device is one application faster.
  • TextLCD changes:
    • cursor is disabled while writing to the display or setting a custom character to prevent display artifacts
    • cursor is disabled when a full line is written so it doesn't go to the start of another line
    • 1204 should be stable
    • setDisplayCharacter supports 0x00-0xff
  • stopped property reflected more accurately in the C# stepper example
  • Added error events to mac examples

2.1.8.20110329 - Windows only

  • Fixed problem with control panel encoder example where enable wouldn't work
  • Fixed issue with SpatialData, GPSPositionChange, PHChange and WeightChange events in Labview 64-bit

2.1.8.20110322

  • Fixed Phidget Control Panel memory leak when Bonjour in installed but not running
  • Fixed current sense formula on 1061_0 v200
  • Fixed bug in webservice protocol while using the PhidgetAdvancedServo
  • Fixed bug in old PhidgetTemperatureSensor

2.1.8.20110310

  • Fixed bug in webservice protocol while using the PhidgetServo
  • Fixed some Labview bugs
  • Added some Java and VB.NET examples

2.1.8.20110301

  • Full Support for 1002, 1011, 1040, 1046, 1054, 1065, 1204
  • New webservice version - 1.0.8
    • Support for new devices
    • Support for error events

2.1.7.20110203

  • fixed crash on close of remote Phidget on MacOS
  • C# ifkit example bugfix - crashed on 1015/1016
  • webservice improvements
  • Switch to IP address for SBC config in browser
  • Faster IP lookup for SBCs in control panel

2.1.7.20101222 / 2.1.7.20101223

  • fixed getServerID on Linux
  • removed report ack
    • this was causing some bad side effects
  • manual .local lookups on Windows
    • much faster then letting Windows do it itself
  • Support for new Labview library
  • Fixed PhidgetIR bug where library would crash if repeat code is longer then IR_MAX_REPEAT_LENGTH

2.1.7.20101103

  • Decreased Phidget Webservice event latency on Windows
  • Preliminary support for 1002, 1011, 1040, 1045, 1046, 1054, 1065, 1204 (C, .NET)
  • Webservice version updated to 1.0.7
    • support for 1045, 1011, 1204
  • Fixed a bug where webservice connections could be unexpectedly lost
  • Bugfix: couldn't set interfacekit data rate over webservice.
  • Fixed some memory leaks in the Mac library
  • Fixed bug where blocking for >2 seconds in an events handler when opening remotely could cause a crash.

2.1.7.20100803

  • Windows only release
  • fixed setLabel in WindowsCE
  • fixed getHashCode in .NET library - needed for working with Phidgets in Labview via .NET

2.1.7.20100621

  • Linux only release - autotools updates
    • call ldconfig automatically
    • remove old phidget21 library (pre-autotools) when installing new one.

2.1.7.20100620

  • Linux only release - added version.sh for autoreconf

2.1.7.20100618

  • Linux only release - added udev/hotplug files

2.1.7.20100617

  • Linux only release
  • Transitioned to autotools in linux for phidget21 / webservice
  • phidget21 library and webservice are now separate downloads

2.1.7.20100525

  • full support for PhidgetSpatial and PhidgetIR in all libraries
  • fixed 1031 not attaching in AS3.0
  • Better error messages in JNI
  • Updated error codes, device ID/Class lists in Java, Flash, COM, etc.
  • Fixed TemperatureSensor version 200,201,202 bug - ambient sensor would not report negative temperatures.
  • Revised temperaturesensor API to report tempMin/tempMax and errors more accurately.
  • Added initial events for encoder digital inputs
  • full support for 1047
  • Added new device support to WindowsCE
  • Updated mac examples for 1047, 1048

2.1.6.20100504

  • Windows only Release
    • Added 1131 and 1132 to InterfaceKit example in MSI

2.1.6.20100428

  • limit data rate maximum to 16ms over the webservice for devices that expose dataRate (InterfaceKit, Spatial)
  • fixed bug where TextLCD 8/8/8 would stay in Bonjour list after webservice is shutdown
  • set/get Brightness for 1203_2
  • Support 1048 in C# example
  • webservice version incremented to 1.0.6
    • TextLCD set/get brightness
    • PhidgetIR support
    • PhidgetSpatial support
    • 1047 support (enable, index)

2.1.6.20100406

  • Support for 1018_2 (dataRate)
  • Webservice version incremented to 1.0.5

2.1.6.20100401

  • Updated InterfaceKit example with new sensors
  • make Windows connect cancelable
  • make pending zeroconf lookups cancelable during close

2.1.6.20100318

  • Mac only release
    • Added WillSleep and Wakeup events to give user control of Phidgets immediately before and after a system sleep (MacOS Only).

2.1.6.20100317

  • Windows only release
    • Some of the examples were being built using an out of date .NET library

2.1.6.20100310

  • MaxMSP fix - 2.1.6.20100126 introduced a bug for some Phidgets where openremote/open by serial didn't work and MaxMSP would sometimes crash.
    • No code changes to any of the other libraries.

2.1.6.20100304

  • stopped property changes trigger events over webservice so they are noticed.
    • more compatible with how local open works
  • added 5 new servos
  • fixed bug where remote close would not set detached so a subsequent open would not always connect.
  • handle UninitializeZeroconf better - shut down thread before closing handles, fixes hang on SBC
  • fixed bug on Mac where detaching 2 or more Phidgets at the same time caused a crash
  • fixed close blocking because of a pending connect (mac, linux)
  • Final support for 1031 in all libraries.

2.1.6.20100129

  • Implemented initial events in Flash
    • Flash behaviour should now be identical to C library local and remote.
  • Fix RFID issue where close could cause crash
  • increment webservice version to 1.0.4
  • fixed RFID remote open
    • Flash would never get an attach event if the reader had been previously opened
    • Initial tag event would not be fired when a tag was present and the antenna was enabled prior to open
  • fixed openRemote failing on Mac
  • fixed deadlock in webservice which could be hit by opening/closing a device over and over again.
  • fixed bug in stepper, which caused seg fault on SBC on position change events.

2.1.6.20100126

  • added network open support in Max/MSP

2.1.6.20100115

  • Increased network performance for Linux/MacOS
  • Added five servo types

2.1.6.20091215

  • Fixed busy loop in Linux openRemote
  • JNI Library relocated to /Library/Java/Extensions on MacOS

2.1.6.20091211

  • Heartbeat now works on Linux as well (had to make sockets non-blocking)

2.1.6.20091130

  • Added heartbeat to webservice (client side)
    • Better detects network failures by using active polling timeouts
  • Fixed 0/8/8 over webservice

2.1.6.20091020

  • Fixed 1052 counting issue on 1070 (-1 reported as 255)
  • Fixed issue where Phidget21 would try to reinstall from a limited user account or when the Control Panel was disabled.
  • 64-bit kernel support in Snow Leopard

2.1.6.20090928

  • Support for PhidgetSBC (1070)
  • zeroconf can handle starting up before the mdns daemon, and will keep trying to connect.
  • fixed 1066 not showing up on Mac
  • added advanced servo example to mac pref pane
  • implemented proper error handling in COM
    • default behavious remains the same, enable proper error handling with 'EnableVerboseErrors'
  • implemented error events in Java

2.1.6.20090917

  • Updated webservice protocol version to 1.0.3
  • Fixed stepper under AS3.0
  • added setServoType, getServoType, setServoParameters to PhidgetServo and PhidgetAdvancedServo
  • possible race condition fixed in webservice (pdictclient.c:907)

2.1.6.20090902 (mac only release)

  • Support MacOSX 10.6, drop support for 10.3.9, require 10.4 or newer
    • Fully 64-bit compliant, library supports ppc, i386, x86_64

2.1.6.20090806

  • Added 1049 support
  • Fixed RFID tag events over webservice

2.1.6.20090804

  • Added 1051_2 support
  • Fixed various small initialization issues - stepper, adv servo, rfid
  • Added 32-bit library install to 64-bit installer
    • VB6.0, etc. need the 32-bit COM library on 64-bit windows

2.1.6.20090717

  • ?

2.1.6.20090708

  • Added DeviceID to zeroconf
  • fixed RFID.LastTag in .NET
  • Changed the error codes returned by error events; error events now have their own set of error codes rather then sharing the function return codes.
  • Added support for 1047, 1048
  • Added error event codes rather then trying to reuse the EPHIDGET return codes.
  • fixed TextLCD issue where display could get corrupted during a detach/attach
  • made mac more reliable on attach
  • more error logging on mac

2.1.6.20090525

  • fixed RFID not attaching via webservice if a tag is present.
  • bugfix related to double free on detach event.
  • Implemented getKey
  • Added MIPS II support to Windows CE

2.1.6.20090430

  • Added ActiveX interface to COM library
  • Added stepper and advancedServo to Flex .swc library

2.1.6.20090417

  • added PhidgetIR prototype support to C library
  • properly handles sleeping on OSX
  • fixed some webservice field initializations in Flash and C
  • fixed security exceptions in Phidget Control Panel under Vista
  • added Phidget Control Panel to start menu

2.1.6.20090318 (Examples/AS3.0 only release)

  • Fixed AdvancedServo in Flash - wouldn't attach

2.1.6.20090317

  • Phidget Control Panel properly supports Vista UAC and Limited user accounts in XP, etc.
  • Added 64-bit release of Phidget21.msi for Windows

2.1.6.20090312

  • added 1064, 1059 to WindowsCE
  • fixed opening 1051 over webservice
  • fixed opening 1015/1016 over webservice broken in last release

2.1.6.20090302

  • Advanced servo bugfix: stopped would stop being true if min/max was set to exclude current position.
  • linux USB improvements when many Phidgets are attached and opened at once.
  • 1031 support in phidget21, webservice, .NET - hidden until product release
    • CPhidgetLED_setVoltage
    • CPhidgetLED_getVoltage
    • CPhidgetLED_setCurrentLimit
    • CPhidgetLED_getCurrentLimit
  • unknown timechange == PUNK_INT in encoder position change event
    • 1st position change event
    • > 30 seconds time change
  • AS3 updates
    • updated to 1.0.2 webservice
    • encoder position change events report relative change rather then absolute position
    • encoder adds getTimeChange function for timing encoder changes
  • webservice updated to 1.0.2
    • Authorization is asynchronous
    • Doesn't match the old version checking, so errors will not be nice when trying to connect to an old webservice
    • Sends out all initial data, so it's just like opening locally
    • supports interfacekit Raw sensor value
    • supports labels on remoteIP managers
  • avahi bugfix
  • webservice more stable against forcefully closed clients
  • closing a network Phidget won't block - ever.
    • no longer using quit, just closing the socket
  • added libavahi-client.so.3 reference to linux library.
  • Fixed bug with opening one phidget with serial and no serial at the same time over the webservice

2.1.5.20090105

  • Phidget Control Panel stability improvements
  • added CPhidgetSBC_getHostname
  • advanced servo 1 motor current sense equation - support should now be complete
  • webservice and network code bugfixes - crash / deadlock during close, problems with concurrent connections, etc.
  • fixed close on remote and remoteIP managers
  • name of RFID changed from "Phidget RFID 4-output" to "Phidget RFID 2-output" - updated anything referencing old name.

2.1.5.20081023

  • added advanced servo and stepper examples to VB6.0, VB.NET and C
  • added deviceClass and deviceID
  • updated Mac examples
  • webservice protocol version enforcement
  • internal fix/rework of device id's etc.
  • Fixed memory leaks in webservice and phidget21 network code.
  • Dictionary and network stability improvements.
  • duplicate calls to open or close are now silently ignored.

2.1.4.20080924

  • Old TextLCD 0/8/8's can now have both halves open at the same time on Windows
  • fixed bug with composite devices on linux
  • fixed manager on linux to better deal with unique devices

2.1.4.20080922

  • Updated Delphi files
  • TextLCD can display 0x80-0xFF characters from Java
  • getAttachedDevices works for mdns managers
  • fixed a deadlock in the webservice
  • better network error handling / password support for windows C# examples
  • waitForAttachment will return EPHIDGET_CLOSED if the handle is closed while it is waiting.
  • added EPHIDGET_CLOSED
  • joining central threads checks whether they are trying to be joined by themselves first (avoid deadlocks).
  • changed context of error event to be free from locks (can call close, open, etc. from them).

2.1.4.20080821

  • zeroconf threads exit cleanly on last _close (apple zeroconf)
  • Added advanced servo and stepper to Max

2.1.4.20080811 (mac only release)

  • Fixed manager on Mac (wasn't working at all since 2.1.4.20080808)

2.1.4.20080808

  • added CPhidgetSBC and CPhidgetSBCManager to the c library - these interfaces are hidden from users and meant to be used internally (for now).
  • CPhidgetManager_open no longer blocks to send out initial attach events. These initial events are sent from the CentralThread context like all other attach events.
  • fixed CThread_wait_on_event on Linux
  • added CPhidgetGeneric interface for prototyping to C, .NET libraries. product ID is 0x99. These are only visible in debug releases, only to be used internally.

2.1.4.20080715

  • udev rules fixed for product IDs with alpha-hex values
  • blocking in an attach event does not block calls to open anymore
  • RFID tag event handlers can now handle blocking - tag lost is timed after the tag handler exits.

2.1.4.20080623

  • Flex .swc library was out of sync
  • fixed CPhidgetManager_getAttachedDevices for network managers
  • Added CPhidgetManager_freeAttachedDevicesArray

2.1.4.20080613

  • Max/MSP RFID fixed
  • 0/0/8 and advanced servo added to CE
  • fixed flash policy file server in webservice
  • webservice with password and asynchronous together work now

2.1.4.20080602

  • phidget21.h -> phidget21int.h so as not to be confused with generated phidget21.h
  • some changes to Makefile fro crosscompiling
  • no more vbscript in msi

2.1.4.20080513

  • removed long long from COM - not supported by VB6.0
  • added LastTag to RFID in .NET

2.1.4.20080428

  • support Mac OS X 10.3.9 again
  • Rev up to 2.1.4
  • finalize Phidget Stepper API - Phidget Stepper requires 2.1.4 as a minimum
  • fixed serverConnect and serverDisconnect handlers for manager and dictionary in COM
  • Changed:
    • PhidgetStepper and PhidgetAdvancedServo
      • MotorPosition -> Position
      • MotorOn -> Engaged
      • MotorStopped -> Stopped
  • Added:
    • CPhidgetStepper_getCurrentLimit
    • CPhidgetEncoder_getPosition
    • CPhidgetEncoder_setPosition
    • CPhidgetMotorControl_getVelocity
    • CPhidgetMotorControl_setVelocity
    • CPhidgetMotorControl_set_OnVelocityChange_Handler
    • CPhidgetServo_setEngaged
    • CPhidgetServo_getEngaged
    • CPhidgetServo_getPosition
    • CPhidgetServo_setPosition
    • CPhidgetServo_set_OnPositionChange_Handler
    • CPhidgetServo_getPositionMax
    • CPhidgetServo_getPositionMin
    • Count functions
  • Deprecated:
    • CPhidgetEncoder_getEncoderPosition
    • CPhidgetEncoder_setEncoderPosition
    • CPhidgetMotorControl_getMotorSpeed
    • CPhidgetMotorControl_setMotorSpeed
    • CPhidgetMotorControl_set_OnMotorChange_Handler
    • CPhidgetServo_setMotorOn
    • CPhidgetServo_getMotorOn
    • CPhidgetServo_getMotorPosition
    • CPhidgetServo_setMotorPosition
    • CPhidgetServo_set_OnMotorPositionChange_Handler
    • CPhidgetServo_getMotorPositionMax
    • CPhidgetServo_getMotorPositionMin
    • Num functions
  • Added ability to deprecate funcitons in the C library - compiler will issue a warning when they are used.
  • added names to some arguments in phidget21.h
  • fixes to the webservice for initial state stuff - now it behaves almost like non-webservice, with guaranteed initial events, but we don't guarantee initial state in the attach event yet. Min/Max, Num motors, inputs, etc. are all guaranteed in the attach handler.
  • Finalized support for Phidget Stepper

2.1.3.20080402

  • Fixed windows BUG - Device Type was showing up wrong
  • CPhidgetStepper_getPosition -> CPhidgetStepper_getCurrentPosition

2.1.3.20080327

  • added:
    • CPhidgetAdvancedServo_setMotorPositionMax
    • CPhidgetAdvancedServo_setMotorPositionMin
    • CPhidgetAdvancedServo_getMotorStopped
  • changes to API
    • CPhidgetStepper_setMotorPosition -> CPhidgetStepper_setTargetMotorPosition
    • added CPhidgetStepper_getTargetMotorPosition
    • Stepper MotorSpeed -> Velocity
    • Stepper and AdvancedServo MaxVelocity -> VelocityLimit
  • add waitForAttachment to COM
  • COM getbool (not indexed) will now return FALSE on false (rather then always returning true)
  • fixed write thread timeouts - was setting attached after starting write thread so write thread would see a detached device and exit immediately

2.1.3.20080206

  • changed long long to __int64, to be happy in borland C++
  • added:
    • CPhidgetStepper_getMaxMotorSpeed
    • CPhidgetStepper_setMotorOn
    • CPhidgetStepper_getMotorOn
    • CPhidgetStepper_getMotorStopped
    • CPhidgetStepper_setCurrentMotorPosition
  • removed CPhidgetStepper_setVelocity
  • added CPhidgetStepper_setMaxVelocity, CPhidgetStepper_getMaxVelocity

2.1.3.20080114

  • Added new functions to Flash API
  • Added new functions to Webservice Protocol
  • Added new functions to COM Library
  • Added new functions to Java Library
  • All device fiels in C library cleaned up and made consistent
  • Open in windows is exclusive - this needs to be tested for stability
  • No data will be returned / accepted if it lies outside of max/min range
  • if a data value is unknown, user variable is set to PUNK_INT, PUNK_DBL, or PUNK_BOOL, and return value is EPHIDGET_UNKNOWNVAL
  • Proper Device initializations on Attach:
    • triggers are set to defaults on attach
    • device state is read in and preserved on attach
    • during attach event, all sensor data, etc. is provided if available
    • no data events until after the attach event returns
    • everything initialized by the time waitForAttachment returns
    • after attach event returns, a full set of initial state data events are thrown
  • .NET collections are readonly, and never NULL (but empty when phidget detached)
  • .NET callbacks no longer catch and hide all exceptions
    • make sure to use try/catch blocks especially in Attach when accessing properties that may not be initialized.
  • added min/max functions:
    • CPhidgetAccelerometer_getAccelerationMax
    • CPhidgetAccelerometer_getAccelerationMin
    • CPhidgetAdvancedServo_getAccelerationMax
    • CPhidgetAdvancedServo_getAccelerationMin
    • CPhidgetAdvancedServo_getVelocityMax
    • CPhidgetAdvancedServo_getVelocityMin
    • CPhidgetAdvancedServo_getMotorPositionMax
    • CPhidgetAdvancedServo_getMotorPositionMin
    • CPhidgetMotorControl_getAccelerationMax
    • CPhidgetMotorControl_getAccelerationMin
    • CPhidgetPHSensor_getPHMax
    • CPhidgetPHSensor_getPHMin
    • CPhidgetPHSensor_getPotentialMax
    • CPhidgetPHSensor_getPotentialMin
    • CPhidgetServo_getMotorPositionMax
    • CPhidgetServo_getMotorPositionMin
    • CPhidgetStepper_getAccelerationMax
    • CPhidgetStepper_getAccelerationMin
    • CPhidgetStepper_getMotorSpeedMax
    • CPhidgetStepper_getMotorSpeedMin
    • CPhidgetStepper_getMotorPositionMax
    • CPhidgetStepper_getMotorPositionMin
    • CPhidgetTemperatureSensor_getPotentialMax
    • CPhidgetTemperatureSensor_getPotentialMin
    • CPhidgetTemperatureSensor_getAmbientTemperatureMax
    • CPhidgetTemperatureSensor_getAmbientTemperatureMin
    • CPhidgetTemperatureSensor_getTemperatureMax
    • CPhidgetTemperatureSensor_getTemperatureMin
  • Added functions:
    • CPhidgetTemperatureSensor_getAmbientTemperature
    • CPhidgetTemperatureSensor_getThermocoupleType
    • CPhidgetTemperatureSensor_setThermocoupleType
    • CPhidget_set_OnServerConnectHandler
    • CPhidget_set_OnServerDisconnectHandler
    • CPhidgetDictionary_set_OnServerConnectHandler
    • CPhidgetDictionary_set_OnServerDisconnectHandler
    • CPhidgetManager_set_OnServerConnectHandler
    • CPhidgetManager_set_OnServerDisconnectHandler
    • CPhidgetDictionary_getServerID
    • CPhidgetDictionary_getServerAddress
    • CPhidgetDictionary_getServerStatus
    • CPhidgetManager_getServerID
    • CPhidgetManager_getServerAddress
    • CPhidgetManager_getServerStatus
    • CPhidgetServo_setMotorOn
    • CPhidgetServo_getMotorOn
  • Removed functions:
    • CPhidgetServo_setMotorOff
  • TemperatureSensor:
    • Ambient sensor is accessed with it's own function
    • first thermocouple is Index 0 everywhere
    • no ambient sensor events
  • getServerID is implemented
  • changed the internal network structure (added CPhidgetRemote)
  • reworked the USB code (mostly on Windows)
    • Better handles closing, ESD events, timeouts
    • fixed issues with Encoder, RFID stopping reading after a certain time.
    • added USB error flag
  • openRemote functions have been implemented
    • these require bonjour (mac / windows) or avahi (linux) to be installed on both the client and server
    • if they are not, you get EPHIDGET_UNSUPPORTED when you call them
  • openRemoteIP functions are asynchronous and persistent
  • include cphidgetconstants.h in phidget21.h for users

2.1.2.20071108

  • start of chagelog