Notice: This page contains information for the legacy Phidget21 Library. Phidget21 does not support VINT Phidgets, and will not support any new Phidgets. Phidget21 will be maintained until 2020. 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.


Difference between revisions of "Driver Changelog"

From Phidgets Legacy Support
Jump to: navigation, search
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
*macOS release
**Fix Java library
*macOS release
**Fix kernel driver for macos 10.9 and 10.10
*macOS / Windows release
**Support for macos 10.15 Catalina
**Update firmware files
*Fix GPS Date after April 6 2019 week rollover event
*macOS release
**Fixed USB bug where devices plugged in before boot were inaccessible until unplugged/re-plugged on 2018 Mac Mini.
*Python fix
*Move to .NET 4.0
*macOS release
**Fixed USB bug where opening two of the same device with -1 serial could cause missed attach/detach events and other errors.
*macOS release
**Fixed USB bug where devices plugged in before boot were inaccessible until unplugged/re-plugged, under OS X 10.11.
*Windows release
**Labview 7.1 support
*Windows release
**Don't throw an exception on EncoderPositionChangeEventArgs.Time in the .Net library when time it unknown - just return 0x7fffffff
*Mac/Windows release
**New firmware for 1042 and 1044, fixing digital gyro
*Fixed 1045 bug where it will display an unknown ambient temperature sometimes
*Fixed a crash in the windows control panel
*Windows release
*Windows release
**Fixed an issue where the examples would error when trying to run them from the control panel.
**Fixed an issue where the examples would error when trying to run them from the control panel.
*OS X and Windows release
*OS X and Windows release

Latest revision as of 19:59, 8 October 2019

  • macOS release
    • Fix Java library

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

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

  • Fix GPS Date after April 6 2019 week rollover event

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

  • Python fix

  • Move to .NET 4.0

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

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

  • Windows release
    • Labview 7.1 support

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

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

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

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

  • 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

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

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

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

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

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

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

  • Windows-only
    • Fixed examples for Labview 8.5

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

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

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

  • 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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 release.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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

  • 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 RFID Reader bug that caused tag event to not get thrown in .NET Applications
  • Changed compass bearing calculations in spatial C# example

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

  • 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

  • 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()

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

  • 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. - MacOS Only

  • handle USB bug introduced in MacOS 10.6.8

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

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

  • Fixed AppleScript issues

  • 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

  • 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 - 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

  • 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

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

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

  • 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 /

  • 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

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

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

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

  • Linux only release - added for autoreconf

  • Linux only release - added udev/hotplug files

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

  • 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

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

  • 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)

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

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

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

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

  • MaxMSP fix - 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.

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

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

  • added network open support in Max/MSP

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

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

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

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

  • 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

  • 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

  • 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) (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

  • Added 1049 support
  • Fixed RFID tag events over webservice

  • 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

  • ?

  • 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

  • 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

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

  • 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 (Examples/AS3.0 only release)

  • Fixed AdvancedServo in Flash - wouldn't attach

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

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

  • 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 reference to linux library.
  • Fixed bug with opening one phidget with serial and no serial at the same time over the webservice

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

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

  • 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

  • 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.
  • 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).

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

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

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

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

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

  • 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

  • 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

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

  • 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

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

  • 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

  • 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

  • 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

  • start of chagelog