Phidgets Libraries Changelog
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