Fetching contributors…
Cannot retrieve contributors at this time
230 lines (215 sloc) 14.4 KB
Detailed Change log:
* Switched to Apache v2 license
* Support for new file type (Vendor data)
* Support for getting IR CMOS type
* Support for new RD1.09 product ID
* Support for toggling emitter while depth stream is running
* Remove the USB speed check: firmware goes into safe mode anyway when not in high-speed.
* Linux/OSX/Android: Change USB transfer length from 20KB to 16KB in bulk mode.
* Adding support for the "Set LED state" command (starting with FW 5.8.0).
* Added general debug streams support
* Added "startread" command to command console (to read from endpoints)
* Added option to turn off auto exposure and AWB (via the XN_PAUSE_AUTO_CONTROL value)
* Fix support for old firmwares (5.2.x)
* Fix the close range feature
* Add support for NESA
* Add support for firmware filesystem lock
* The current image auto exposure controls where split into on/off (XN_STREAM_PROPERTY_AUTO_EXPOSURE) and manual control (XN_STREAM_PROPERTY_EXPOSURE).
* Bug Fix: potential crash when receiving junk from USB (12-bit unpacker tries to translate invalid shift)
* RGBViewer new keys:
* 'x' - toggle depth close range on/off
* 'a' - toggle image CMOS auto-exposure on/off
* 'A' - toggle image CMOS auto-white-balance on/off
* 'n' - increase image CMOS exposure by one
* 'N' - decrease image CMOS exposure by one
* 'g' - increase image CMOS gain by 10
* 'G' - decrease image CMOS gain by 10
* Bug Fix: 25 FPS mode did not work
* Adding CroppingMode property. New mode was introduced: INCREASED_FPS. This allows cropping at the CMOS level, and might improve FPS (supported by 5.7.2)
* Fixing memory leak during depth stream opening (introduced in 5.1.3)
* Added support for the RD1.09 sensor.
* Bug Fix: Turning on registration while streaming might cause a crash
* Implement the 'GetPixelCoordinatesInViewPoint' method
* Software Registration bug fix: take into account padding algorithm params
* Added software close range support for pre FW5.6 sensors.
* Updated the linux USB rules to use the new udev usb syntax which replaces the old sysfs one that stopped working on kernel 3+. The new rules should work on kernel 2.6.30 and above.
Version (Unstable version - May 15th 2012)
* Redist: fix identification of ARM.
* Adding support for new command: get usb core type. Also add different USB handling for different cores.
* Remove annoying (and misleading) warning messages from the log.
* Starting with firmware 5.7.0 - add the platform string to the firmware version (to support different platforms running the same FW version).
* Improved the hardware version information.
* Bug Fix: changing resolution might cause a crash when working without a server.
* Adding "Lean Init" mode which only gets version (no other FW queries).
* Adding -safe option to command console. If applied, lean init is used and chances of failing to open sensor are dramatically reduced.
* Bug Fix: If upload file fails, file remains open by process.
* Fix printing values during upload.
* Starting with 5.6.9 - check if image is supported using fixed params (instead of VSync ugly patch). Also moved fixed params to be part of SensorFirmware class.
* BIST: host now always performs soft reset before running BIST.
* Allowing AHB operations.
* Bug Fix: device is always opened on interface 0 (should be ISO on x86 and BULK on ARM).
* Added support to convert the uncompressed bayer image format into RGB24.
* Added the 720p & 1280x960 image resolutions in the Xiron.ini and GlobalDefaults.ini files.
* Added support for real uncompressed bayer image format.
* ARM depth defaults are now QQ and 12-bit.
* Allowing an application to provide buffers for map streams (instead of using the shared memory).
* Add some logs to the server session.
* Audio buffer (shared memory) and indexes are now owned by stream (and not the device).
* Workaround a FW bug which returns a preset with FPS 0 (causes DirectShow filter to crash).
* Using new data containers (XnListT, XnHashT, XnEventT).
* Added new server property: "ServerLogFile" (string) for getting log file name.
* Fix some static analysis warnings.
* Fix some minor, rare, never-gonna-happen, memory leaks.
* Moving "service discovery" into one location - takes place during init (instead of as part of the get version command).
* Adding support for FW 5.3.29 (like previous, with the get presets opcode).
* Adding a warning log when trying to set a non-supported mode.
* Bug Fix: enumerating for image caused soft-reset of the device when server is off. This is problematic if working from different contexts and this device is streaming in another context.
* Bug Fix: image resolution possible values were hard-coded, even when taking presets from FW.
* Fixed some bugs in the software registration:
1) The start/end padding code was removed. It was not really necessary and caused the result to be incorrect.
2) In the depth-to-shift table calculation, the distance between the cameras was truncated from bad float/int conversions.
3) Removed the code which stops building the registration table if the max Y was reached. The correct solution is not to stop the loop, but to mark the values as invalid.
4) Enabled software registration to also work in QVGA 30 mode.
* Using USB connection event instead of old single callback.
* Bug Fix: corrupt memory if resolution is changed *after* a frame was received but not read by application yet (#1950)
* Shifts map is stored as part of the frame.
* Added 12-bit depth processor.
* Optimizations for Arm Cortex A8 (neon).
* Adding interface for general i2c operations.
* Update device frequency whenever a stream is opened (frequency might change on setting to specific mode).
* Added a property "HostTimestamps" for making the code create timestamps according to host clock and disregard firmware timestamps.
* Added support for the Depth@QVGA and IR@VGA mode in FW 5.6 and above.
* Added support for QQVGA Depth.
* Now, when opening sensor without reset (for enumeration purposes), also not setting interface.
* Adding the 'CloseRange' property to the depth stream (supported by FW 5.6)
Version (Stable version - Dec 28th 2011)
* No code changes, build is based on latest OpenNI.
Version (Unstable version - Dec 18th 2011)
* Bug Fix: server-client didn't always work due to an uninitialized member.
* Installer bug fix: versions were compared by string instead of by number.
* Added Support for FW 5.5:
1) Support product ID 0601.
2) ISO and BULK interfaces are now switched.
3) AudioGenerator is no longer supported.
* Enumeration Bug Fix: From now on, a generator will not return on enumeration if one already exists from the same device.
* Android: makefiles now match ndk v7.
* Bug Fix: client-server did not pass timestamp correct in the NewDataAvailbale event, causing FrameSync to malfunction.
* Bug Fix: Enumeration for ImageGenerator could cause a crash.
* Default UsbInterface is now BULK on Arm (for performance reasons) and ISO on all other platforms.
* Default Image format is now uncompressed in ISO, and compressed in BULK.
* Server (Multiprocess) is not on by default on Arm.
* BC Bug fix: XnVInitStreamPropertiesInternal::IsProperty did not function correctly.
* BC Bug Fix: XnVDepthRepresentation would not set correct Y resolution.
* Added support for FW 5.6 (no audio)
* Added Android support to open source.
* Temporary patch for MacOSX: Cache the device path's since running enum on the MAC takes several seconds!
Version (Unstable version - Nov 17th 2011)
* Removed support for very old 2.0 devices.
* Linux: XnSensorServer dependency was missing.
* Bug Fix: AllowMultiUsers property was not handled correctly.
Version (Unstable version - Nov 7th 2011)
* Added YUV input in high res for FW 5.3.28 and above.
* Added grayscale 8 input format.
* Added automatic setting of input format, and automatic checking of modes.
* Updated to newer common makefiles
* Sensor client-server on windows: Allow starting server and client in different sessions (requires a special setting in GlobalDefaults.ini, as this causes things not to work properly if running on a machine with UAC on).
* Changed Engine changed to Sensor in the final installation files.
* Renamed Linux-x86 to "Linux" (supports x86, x64, Arm and MacOSX).
* Allow better cross compiling.
* Bug Fix: old XNS files would not set their IsGenerating property (and so it is left FALSE, even if node has frames).
* Updated the value of the UsbInterface property once endpoints are opened.
Version (Stable version - Sep 18th 2011)
* Some minor windows installer UI fix (title position).
* Fixed buffer overflow bugs in the software registration.
* Support for firmware 5.4.x: New TEC and extended serial number commands.
* On newer FWs (5.4+) high-res image output does not always have to be bayer so this rule will only be enforced on older versions.
* Preliminary Android Support.
* Preliminary ARM Support.
* Win32: Added the /MP (MultiProcess Compiling) flag to all projects to save build time.
* Bug Fix: Image Generator always said it supports JPEG (without checking the sensor itself).
* Fix a memory leak (about 180 bytes per generator).
Version (Stable version - Jul 5th 2011)
* Windows Redist: Support for 64-bit systems.
* Control mutex is now per sensor and not global to all sensors.
Version (Stable version - Jul 5th 2011)
* Linux: Allow installation to a different directory (for cross-compilation mainly).
* Workaround firmware bug: if no depth, IR timestamps are corrupt. Use host clock for timestamps instead.
* Bug Fix: unregistering USB event callback when destroying sensor to prevent crash when unplugging device.
* XnExportedSensorDevice now only enumerates devices that weren't created in the context yet.
Version (Stable version - May 3rd 2011)
* Fixed use of deprecated CreateProductionTree().
* Bug Fix: playing XNS files in applications using deprecated API might cause memory leaks.
* Bug Fix: serial number was in hex format instead of decimal one.
* Make sure SensorV2 nodes will only use SensorV2 device (up to now they only checked it's a PrimeSense device).
Version (Unstable version - Apr 18th 2011)
* CE4100: adding support in makefiles, redist and install.
* CE4100: default is now BULK with compressed formats.
Version (Unstable version - Apr 11th 2011)
* Fixing log prints of resolutions (-1 appeared as MAX_UINT64...) to the resolution name.
* Linux Bug Fix: Server creates two log files, one in the client folder and one in /var/log/primesense/XnSensorServer
* Fixed a memory leak when rewinding old XNS files.
* Win32: WIX installer (replacing NSIS)
* Fixed wrong version in XnDeviceFile
Version (Stable version - Apr 11th 2011)
* Fix BULK timeout - it was too small...
* Bug Fix: IR only works in QVGA...
* Added 64bit support for the installers.
* Fix wrong uses of the XN_IS_STATUS_OK macro (value is evaluated twice).
* Adding support for MJPEG pass-through.
* Adding initial support for new CMOS interfaces
* Adding initial JPEG support
* Fix for UAC installer problems.
* Fixed uninstall without OpenNI.
* Set minimum OpenNI version check in the installer.
* Fix seeking to first frame in old XNS files.
* Bug Fix: Client would fail to connect if trying to connect while server is shutting down.
* Improving the timestamps algorithm.
* performance improvement when enumerating for image nodes - a sensor should only be checked once.
* improving error message for setting grayscale8 in low resolutions.
* Improve thread-safety when starting server
* Bug Fix: a crash when trying to open a non-existing XNS file.
* Bug Fix: a potential crash if Init of depth generator fails.
* Sensor now supports the Device Identification capability.
* Server: fixing a deadlock problem between closing a stream and getting new data from it. This was done by splitting the sensor lock into two locks: one for changes on the sensor and one for changing the stream collection.
* MultiProcess Bug Fix: the lock on a sensor didn't exist, so nothing was synchronized.
* ImageGenerator now also changes InputFormat when changing resolution if needed (when switching from hi-res to normal & vice versa).
* Adding frame IDs to Audio (just counting)
* restoring defaults to QVGA.
* Add support for sensors with no image CMOS.
* Updated low-bandwidth USB devices buffer information.
* Added the Asus WAVI auto-detection for Win32.
* Low bandwidth devices now use bigger USB delays.
* New defaults are now VGA, uncompressed.
* Initial support for low-band devices:
1. Image, IR and audio does not enumerate.
2. Defaults changed to QVGA, compressed.
Version (Unstable version - Jan 6th 2011)
* Bug fix: infinite loop in server when a client tries to disconnect and streams can't be closed (usb timeout for example).
* Added MacOSX platform support.
* Added the unstable README file.
* Removed useless win32 prerequisites...
* Fixing audio to work properly in the client-server model.
* Server Bug Fix: a potential dead lock was solved.
* Sensor Server now supports multiple sensors.
* Refactored server to a better design, which should decrease deadlocks and make code more readable.
* Adding support for enumerating and opening different sensors.
* Bug Fix: GetStringProperty would always return XN_STATUS_ERROR.
Version (Stable version - Dec 8th 2010)
* Initial release...