2.1.8 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, 1203_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 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.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 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 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 changelog