|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools |
Rating:
|
Display Modes |
|
#1
|
||||
|
||||
|
How To: Xbox Controller Vibration
I have noticed a lot of question regarding how to access the vibration controls of an Xbox controller connected to the driver station.
So I started investigating and found LabVIEW can use DLLs, and remembered that Xbox controllers use the xinput DLL to control this feature of the controllers. This is the function definition of XInputSetState in the Xinput DLL found on most, if not all Windows computers. I am using the Xinput9_1_0.dll found in C:\Windows\System32. If you do not have this DLL, install the latest directx available. http://msdn.microsoft.com/en-us/libr...=v s.85).aspx dwUserIndex is the controller index of the controller you want to use, you can identify the number by seeing which "player" light is lit on the controller. pVibration is a struct in C++ but a cluster in the LabVIEW code attached. The vibration value is from 0 to 65536, higher means more vibration. The attached code is a LabVIEW library that you place in the user.lib directory of your LabVIEW install. For example mine is Code:
C:\Program Files (x86)\National Instruments\LabVIEW 2013\user.lib ![]()
Here is a small video demonstrating the library (Note the controller in the video is wireless, this library will work just the same with wired controllers): https://www.dropbox.com/s/swrerlsmom...415_141309.mp4 Remember to set the vibration value to 0 before exiting, or your controller will vibrate until you do set it! The controller will be pulling power from your driver station's USB hub. Be sure it does not go over the limit for your hub or your may lose connectivity to other devices connected to the same hub. This method of interfacing with the XInput DLL should transfer to the SmartDashboard as well. If anyone accomplishes this, send me a private message with instructions and I will update the thread. Last edited by MDAWG25 : 15-04-2014 at 16:23. |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|