Releases: psmoveservice/PSMoveService
Alpha Release #9.0.1
IMPORTANT NOTE (SteamVR Users)
The SteamVR plugin is not part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.5.0
IMPORTANT NOTE (FreePIE Users)
If you are a user of PSMoveFreePieBridge, make sure to you have version 16:
HotFix: Crash when xbox360 controller connected
Added support for the the newer model PS4 PSMove Controller (ZCM2)
- Fixed up controller pairing code to perform bluetooth pin authentication when pairing ZCM2 controllers
- Updating PSMoveController class to read HID reports from either the ZCM1 or ZCM2 controller
- Updated the gyroscope calibration tool to compute per-frame drift
Ported over some sensor fusion refactoring work from PSVRTracker
- The PSMove and DS4 controller classes now poll their controller data as fast as they can on another thread and publish IMU packets to a lockfree queue
- The sensor data is processed in the main thread in poll() as before
- Updated all filters to support partial updates (update packet with only IMU or optical data)
- Also updated the camera processing code to publish optical tracking packets (not multi-threaded yet)
Many thanks to @nitsch (Alexander Nitsch) for his research into the ZCM2 controller that helped make this update possible!
Alpha Release #8.10.0
IMPORTANT NOTE (SteamVR Users)
The SteamVR plugin is not part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.4.0
IMPORTANT NOTE (FreePIE Users)
If you are a user of PSMoveFreePieBridge, make sure to you have version 15:
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/PSMoveFreepieBridge-Release15.zip
Created Non-Admin version of PSMoveService for Windows build (by gb2111)
- You only need to run PSMoveServiceAdmin.exe when doing controller pairing or unpairing
- If you launch the non admin psmove service you are presented with the option of restarting the admin version of the service from the controller settings menu in the config tool.
Alpha Release #8.9.0
IMPORTANT NOTE (SteamVR Users)
The SteamVR plugin is not part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.4.0
IMPORTANT NOTE (FreePIE Users)
If you are a user of PSMoveFreePieBridge, make sure to you have version 15:
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/PSMoveFreepieBridge-Release15.zip
Switched over magnetometer calibration to use "Least Squares Fit" of axis aligned ellipsoid
- Converges on good fit with fewer points
- Removed old "min volume" ellipsoid fit
Fixed crash in config tool
- Indexing an invalid controller index after unpairing/re-pairing psmove controller
Fixed asserts in AppStage_TestRumble
- missing switch cases
Making Pair/Unpair a bit more user friendly
- Unpairing is now done only on bluetooth controllers (not usb connected controllers)
- Pairing is still only done on usb connected controllers
- Having a usb connected controller doesn't prevent the display of other bluetooth controllers
- Fixed canceling on pairing operation
Fixed bug with PSMoveService not detecting when a controller was disconnected or reconnected
- Needed to call RegisterDeviceNotification for each connected bluetooth adapter to get bluetooth device connect and disconnect events
UI Fixes
- When the controller list refreshes, select any usb psmove controller first since it's like the controller you want to pair
- Fixed inconsistent window sizing on the pairing screen.
Alpha Release #8.8.0
IMPORTANT NOTE (SteamVR Users)
The SteamVR plugin is no longer part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.4.0
IMPORTANT NOTE (FreePIE Users)
If you are a user of PSMoveFreePieBridge, make sure to grab the version 15 since there are protocol changes that break compatibility with previous versions:
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/PSMoveFreepieBridge-Release15.zip
Assorted tweaks and fixes to build scripts (HipsterSloth)
- Files are now copied to ${ROOT_DIR}/dist/${ARCH_LABEL}/ instead of ${ROOT_DIR}/${PSM_PROJECT_NAME}/${ARCH_LABEL}/ when running the "INSTALL" project
- Fixed issue with BuildOfficialDistribution.bat script failing to find OpenCV cmake files
Created installer script for Inno Setup (gb2111)
- Used to generate installer executable for PSMoveService
- Installer intended for use by other applications that want to use PSMoveService
Adding command line parameters for the PSMoveConfigTool (gb2111)
- autoConnect: Automatically connect to PSMoveService
- excludePositionSettings: Hide the display of the expert mode controller filtering settings
- initialStage: Launch the config tool into the specified initial stage
Generating an installer executable as part of the distribution script (HipsterSloth)
- Moved inno setup script to templates/installer_win64.iss.in which gets filled in as part of the project file generation
- Split BuildOfficialDistribution.bat into two new scripts
- RebuildAllConfigurations.bat - Does build of all configurations, but creation zip or installer
- RebuildOfficialDistribution.bat - Rebuilds Release|X64 config and generations zip and installer
- Added cmake script changes that make a new "Create Installer" project in msvc
UI Adjustments (HipsterSloth/gb2111)
- Moving version info from window title to Main Menu label
- Cleaning up controller settings menu using imgui's collapsing header to make more clearly defined sections
- Hide some UI when excludePositionSettings is set
Fixing shutdown crash in App::setAppStage
Alpha Release #8.7.2
IMPORTANT NOTE (SteamVR Users)
The SteamVR plugin is no longer part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.4.0
IMPORTANT NOTE (FreePIE Users)
If you are a user of PSMoveFreePieBridge, make sure to grab the version 15 since there are protocol changes that break compatibility with previous versions:
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/PSMoveFreepieBridge-Release15.zip
Fixed incorrect tracker count in calibration mat tool (By Vylen)
- You would get a crash if you tried to calibrate with more than 5 cameras
Adding official support for more than 4 cameras (by HipsterSloth)
- Increasing 8 max cameras
- Modified controller projetion state to only contain projection for selected tracker
- Modified hmd projection state to only contain projection for selected tracker
- Added SET_CONTROLLER_DATA_STREAM_TRACKER_INDEX to select controller projection
- Added SET_HMD_DATA_STREAM_TRACKER_INDEX to select controller projection
- Updating mat calibration tool to work with new projection constraints
- Removing partially complete stereo camera calibration tool since it's not compatible with new projection constraints
- Disabling optical calibration tool since it needs to be re-worked for new projection constraints
Unify tracker, controller and HMD limit variables (by Zelmon)
- The limits were independently defined for the server and client.
- They are now defined in one location (PSMoveProtocolInterface.h).
Moving shared constants from PSMoveProtocolInterface.h to SharedConstants.h (By HipsterSloth)
- Updated ClientConstants.h to include SharedConstants.h
- Updated PSMoveProtocolInterface.h to use SharedConstants.h
- Fixed up cmake files to copy SharedConstants.h into install include folder
Adding "BuildOfficialDistribution.bat" batch script (By HipsterSloth)
- BuildOfficialDistribution.bat does the following:
- Fully Builds Win32/x64 Debug/Release configurations
- Generates distribution zip from the RELEASE|x64 configuration
- Updated GenerateProjectFiles_.bat and InitialSetup_.bat to handle error return codes
- Updated cmake install action in all cmake scripts to output to separate debug and release folders
Alpha Release #8.6.3
IMPORTANT NOTE (SteamVR Users)
The SteamVR plugin is no longer part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.3.0
IMPORTANT NOTE (FreePIE Users)
If you are a user of PSMoveFreePieBridge, make sure to grab the version 14 since there are protocol changes that break compatibility with previous versions:
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/PSMoveFreepieBridge-Release14.zip
Fixing crash on shutdown in device manager (by HipsterSloth)
- Clean up the usb device manager AFTER cleaning up the device manager in case a device has a usb connection open
Fixed PSNavi Enumeration (By Zelmon)
Allow the PSNavi to be Enumerated when there are no virtual controllers.
Linux support work (by cboulay)
- Fixed some linux compiler and linker errors
- Everything now builds (Added stubs for bluetooth)
- Big cleanup for cmake files
Fixed a few issues in USBManager (by HipsterSloth)
- Don't try and double delete the transfer buffer (deleting transfer request deletes the buffer)
- Always increment the ref counts on interrupt and control transfer requests regardless of successful request setup
- Always have postUSBTransferResult take care of decrementing the ref count
Decoupling protocol version from release version
- This allows us to make releases that don't require clients to update to latest release if the protocol hasn't changed
- PSM_RELEASE_VERSION_STRING is the current release of PSMoveService
- PSM_PROTOCOL_VERSION_STRING is the release that the protocol came from
- The protocol version <= release version
- PSM_GetClientVersionString() and PSM_GetServiceVersionString() returns the protocol version
- PSMoveConfigTool displays the release version
- PSMoveService displays both release and protocol version at start of log
Hotfix for bug #439 (By Zelmon)
The instructions during tracker pose computation for using the controller
weren't showing correctly.
Virtual Controllers! (By HipsterSloth)
- Similar in spirit to virtual HMD, but can also map buttons to an XInput gamepad
- Created new ControllerManagerConfig for setting number of virtual controllers
- Created new controller enumerator for virtual controller
- Created new virtual controller device type
- Updated server controller view to support virtual controller
- Updated protocol and server request API to support virtual controllers
- Updated client api to support virtual controllers
- Updating config tool to support virtual controllers
- Updating test_console_CAPI to support virtual controllers
Don't enumerate over PSNavi controllers when virtual controllers are active (By HipsterSloth)
- No easy way to distinguish between navi controllers and other XInput controllers
- Navi gets treated as a virtual controller in this case
Fixing tracker pose calibration to support calibration with HMDs (By HipsterSloth)
- Useful if you only have a virtual HMD to use
- Don't consider virtual HMDs or virtual Controllers ever stable
- Updating AppSubStage_CalibrateWithMat to work with both controllers and HMDs
Bug fix for device manager logging (By Zelmon)
- Added VirtualController to the list of device types in the DeviceTypeManager
Fixed typo in Tracker Settings UI (By HipsterSloth)
- "No trackers controllers" -> "No trackers"
Alpha Release #8.4.0
IMPORTANT NOTE
The SteamVR plugin is no longer part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.1.0
Virtual HMDs! (By HipsterSloth)
- Allows you to track a headset with a ping pong ball and not have to use a 3rd psmove controller
- See VirtualHMD Wiki for setup details
Fix for issue #255 (By Zelmon)
Rumble doesn't turn off if held down in the "Test Rumble" menu.
Compile error fix on OS X libstem_gamepad (By cboulay)
Pointing libstem_gamepad to MacOS fix branch.
Alpha Release #8.3.0
IMPORTANT NOTE
The SteamVR plugin is no longer part of PSMoveService. The SteamVR plugin in it's own GitHub project, PSMoveSteamVRBridge. If you want to use PSMoveService with SteamVR, you'll want to download PSMoveSteamVRBridge instead:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.1.0
Documentation and comment cleanup
- Adding Doxygen comments for client API
- Updated doxygen and codedocs settings file
- Moving calibration mat pdf to the misc/calibration folder
- Removing images from the doc folder now. They have been moved to the wiki repo
- Moving 3d printable psnavi assets to misc/3dprintable_clips folder
- Update README.md
Added an optional alignment marker to the colour calibration window (by Zelmon)
To help in aligning the trackers, an optional alignment marker has
been added to the Calibrate Controller Tracking Colours window. This
marker can be accessed by pressing the X key and has two modes (cycled
with the X key). The first mode uses a black cross to mark the absolute
center. The second mode uses the color oposite to the current orb color.
Fixed Issue #411: Tracking status not updating in tracking test tool (By Zelmon)
Alpha Release #8.2.0
Removing openvr_plugin and apptray from PSMoveService project
The SteamVR plugin is now no longer part of PSMoveService. The SteamVR plugin now lives on in it's own GitHub project. All the files you need to run PSMoveService are include along with the plugin there. The initial release of PSMoveSteamVRBridge can be found here:
https://github.com/HipsterSloth/PSMoveSteamVRBridge/releases/tag/v1.0.0
NOTE: The SteamVR plugin in v1.0.0 is identical to the one found in the PSMoveService release 0.9alpha8.1.0, so feel free to keep using that if you don't want to upgrade just yet.
Adding proper version label to build output folder
- Made all version constants have same prefix
- Parse ProtocolVersion.h in top level CMakeLists.txt to generate a project label
- Dump all outputs to version label folder
Alpha Release #8.1.0
Important Notes
This release marks an important milestone for PSMoveService.
The first major change is the switch to a C-99 style client interface. This won't mean much to most of you, but this is important because it makes it easier for us to write bindings for other programming languages. cboulay has already written a python wrapper. We're planning on making a C# binding next since that will enable a more tools. I'm going to be working over the few weeks to do a documentation pass, starting with the new C-99 client interface. Also if you use PSMoveFreePIEBridge you'll need to update to release 12 since it uses the new client interface.
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/PSMoveFreepieBridge-Release12.zip
The other major change coming soon has to do with VR system integration. SteamVR has currently had a privileged status in the PSMoveService project. This made sense as we were getting this project off the ground. However there are a have been many other VR system plugin options we've wanted to support at some point. As such this will be the last release of PSMoveService that contains the SteamVR plugin. But worry not! The SteamVR plugin will live on at it's new location:
https://github.com/HipsterSloth/PSMoveSteamVRBridge
If you are a SteamVR user this new repository will most likely be where you want to go get new releases. It will include the needed PSMoveService binaries so you won't need to go to two different repos. I'll post an annoucement in the google group and update the README here once PSMoveSteamVRBridge is open for business.
Updated openvr plugin to OpenVR 1.0.6 (was previously using 1.0.5)
- Probably want to make sure your SteamVR install is up to date
Created a C-99 style interface for PSMoveService (by cboulay/hipstersloth)
- Use PSMoveClient_CAPI.h, PSMoveClient_CAPI.lib/PSMoveClient_CAPI.dll
- See test_console_CAPI.cpp for example of using blocking API (a.k.a. easy mode)
- See driver_psmoveservice.cpp or PSMoveConfigTool for example of async API (a.k.a classic mode)
- More documentation coming soon!
Removed old C++ client interface for PSMoveService (by hipstersloth)
- Added PSMoveClient.h/.cpp that implements client backend (replaces ClientPSMoveAPI interface)
- Updated PSMoveClient_CAPI.h to use new PSMoveClient interface
- Deleted ClientPSMoveAPI.h/.cpp
- Deleted ClientGeometry.h/.cpp
- Deleted ClientHMDView.h/.cpp
- Deleted ClientControllerView.h/.cpp
- Deleted ClientTrackerView.h/.cpp
Created python wrapper for C-API using python CFFI library (by cboulay)
- Created sample psmoveclient.py
Created matlab framework for test SRUKF kalman filter (by cboulay)
- See filter_datafiles.m
Battery status work now shows correctly in SteamVR (by Zelmon)
- Hover over controller icon in steamvr status window to see battery level / charging status
PSNavi D-pad up/down mapped to HMD alignment / orientation recenter (by Zelmon)
If the PSMove controller has a PSNavi child the HMD alignment and
controller orientation recenter are triggered by D-pad up and down
(after being held for one second) if there is nothing mapped to them
in steamvr.vrsettings.
The defaults for PSNavi D-pad up / down have been changed to button id (by Zelmon)
10 and touch direction none so that they do not conflict.
Add a quick link between color calibration and test tracking (by Zelmon)
To more easily see if the coolour calibration is good, links have been
added to switch between the color calibration window and the test
tracking tracker video feeds. This includes an extra button to see the
tracking video feed with all controllers enabled.
Added the option to assign a button to the diagonals of the touchpad (by Zelmon)
The button mapping options for the touchpad directions was limited to
up/down/left/right. This adds the diagonal combinations as possible
mapping options.
Assorted UI tweaks (by hipstersloth)
- Fixed un-initialized m_gotoTrackingVideoALL variable
- Updated calibration and test screens with more specific menu header labels
- Fixed some menu sizings
- Renamed "Test Tracker Video Feed" to "Test Video Feed"
- Renamed "Test Tracking" to "Test Tracking Pose"
- Renamed "Video Feed" to "Test Tracking Video"
Assorted UI fixes for magnetometer calibration (by hipstersloth)
- Initialize bounding box correctly when only one sample is available
- Handle ellipsoid fit error computations when one axis has zero-extents
Fixing 32-bit build (by hipstersloth)
- The platform device api used to query CL-eye driver status got refactored and I never updated the dependent code