SIXAXIS under Windows
ah ok, i needed to put ppjoy to its default settings and it works!
but some things you (and everyone else) should be made aware of.
joystick1.roll -- reads ppjoy z rotation and covers a 360degree rolling motion (ie tilting the controller left - upsidedown - right)
joystick1.pitch -- reads ppjoy x rotation but is not pitch it covers roll for 180 degrees of motion, (tilting left and right)
pitch is when you tilt the controller forward (down) and backward (up)
joystick1.yaw -- reads ppjoy y rotation but its not yaw this one is pitch, and responds to the tilting forward/backward (180 degrees)
yaw is vertical rotation, holding the sixaxis flat, and turning it left/right (perpindicular to gravity) is yaw. that needs the gyroscope (btsix mentions gyro, but its not evident that it is being used, so far, only accelerometers)
for a more clear idea of pitch, yaw, and roll, i've started a VR project on my website using the sixaxis (wired in) with glovepie.
using the gyro requires calibration while the sixaxis is not moving.
http://joelclemens.colinr.ca/stuff.html
(this is a small part of my undergraduate thesis project that is due in 2 weeks and would be even more kickass if bluetooth was working with both accelerometers and gyro!)
soo close! thanks man, this is still pretty awesome.
but some things you (and everyone else) should be made aware of.
joystick1.roll -- reads ppjoy z rotation and covers a 360degree rolling motion (ie tilting the controller left - upsidedown - right)
joystick1.pitch -- reads ppjoy x rotation but is not pitch it covers roll for 180 degrees of motion, (tilting left and right)
pitch is when you tilt the controller forward (down) and backward (up)
joystick1.yaw -- reads ppjoy y rotation but its not yaw this one is pitch, and responds to the tilting forward/backward (180 degrees)
yaw is vertical rotation, holding the sixaxis flat, and turning it left/right (perpindicular to gravity) is yaw. that needs the gyroscope (btsix mentions gyro, but its not evident that it is being used, so far, only accelerometers)
for a more clear idea of pitch, yaw, and roll, i've started a VR project on my website using the sixaxis (wired in) with glovepie.
using the gyro requires calibration while the sixaxis is not moving.
http://joelclemens.colinr.ca/stuff.html
(this is a small part of my undergraduate thesis project that is due in 2 weeks and would be even more kickass if bluetooth was working with both accelerometers and gyro!)
soo close! thanks man, this is still pretty awesome.
ok, i double checked the software (btsix) and it seems more correct than the default ppjoy output
roll is roll (x axis) (left/right accelerometer)
pitch is pitch (y axis) (forward/backward accelerometer
but z axis is labed with gyro.. this isn't the case.
it is the z axis accelerometer though, so that much is correct. (virtical accelerometer)
please i hope everyone takes my criticism as constructive, i think 89ron has done an excellent job and should defiantly keep it up, i wish i could help some how (hence posting this feedback)
roll is roll (x axis) (left/right accelerometer)
pitch is pitch (y axis) (forward/backward accelerometer
but z axis is labed with gyro.. this isn't the case.
it is the z axis accelerometer though, so that much is correct. (virtical accelerometer)
please i hope everyone takes my criticism as constructive, i think 89ron has done an excellent job and should defiantly keep it up, i wish i could help some how (hence posting this feedback)
I make mistake. In btsix panel, Gyro panel is not gyro but AccZ.
Btsix don't use calibration in AccX and AccY, but it work.
(eg: i don't use : accX/sin(roll) or accY/sin(pitch) )
Yesterday, i discoverd this : http://wiki.ps2dev.org/ps3:hardware:sixaxis , i try to understand how to enable Gyro or Yaw but it's very difficult :(
Btsix don't use calibration in AccX and AccY, but it work.
(eg: i don't use : accX/sin(roll) or accY/sin(pitch) )
Yesterday, i discoverd this : http://wiki.ps2dev.org/ps3:hardware:sixaxis , i try to understand how to enable Gyro or Yaw but it's very difficult :(
it seems that the gyro defualt value will always be different depending on the controller.
regardless, the value you want is the amount of change compared to the previous value. (delta)
this would result in a positive or negative number, which would represent a clockwise/counter-clockwise motion, the value of the number represents how far it has turned.
i think there is probably more to it than that...
Carl Kenner does it very well with glovepie, perhaps you could check with him how its done.
(i PM'd you his email address)
regardless, the value you want is the amount of change compared to the previous value. (delta)
this would result in a positive or negative number, which would represent a clockwise/counter-clockwise motion, the value of the number represents how far it has turned.
i think there is probably more to it than that...
Carl Kenner does it very well with glovepie, perhaps you could check with him how its done.
(i PM'd you his email address)
(this isn't just for 89ron, but for everyone)
if you are interested in learning everything about glovepie, please join the yahoo group!
http://tech.groups.yahoo.com/group/glovepie/
if you are interested in learning everything about glovepie, please join the yahoo group!
http://tech.groups.yahoo.com/group/glovepie/
First, I would like to thank 89ron for the work he has done on this project. I have been following this thread for the last couple of weeks and it inspired me to buy a bluetooth adapter for my EEE PC so that I can use the Sixaxis with my emulators for some nice portable gaming.
Last night I spent about 3 hours in Hell trying to get this thing to play nicely. I cannot stress this enough:
You need to make sure that you have version 1.10.1 of \windows\system32\libusb0.dll and \windows\system32\drivers\libusb0.sys NOT the latest version of 1.12.1.
This will save you about 2 hours of struggling.
I did finally get it working though, but I only had a few minutes to play with it. I did notice some major lag between the time I press a button on the sixaxis and the time it is recognized in my game. Since my EEE Pc is only running at 600mhz w/ 1gig of RAM, is it the CPU drain that 89ron's driver is placing on the machine? Or are you guys noticing lag with more powerful machines?
I realize that this is not a polished/final/production worthy version of code yet, so I'm just trying to provide as much feedback as possible to hopefully make it better.
Tonite, I will test at length and give some performance numbers to show what kind of load it is placing on my system.
Last night I spent about 3 hours in Hell trying to get this thing to play nicely. I cannot stress this enough:
You need to make sure that you have version 1.10.1 of \windows\system32\libusb0.dll and \windows\system32\drivers\libusb0.sys NOT the latest version of 1.12.1.
This will save you about 2 hours of struggling.
I did finally get it working though, but I only had a few minutes to play with it. I did notice some major lag between the time I press a button on the sixaxis and the time it is recognized in my game. Since my EEE Pc is only running at 600mhz w/ 1gig of RAM, is it the CPU drain that 89ron's driver is placing on the machine? Or are you guys noticing lag with more powerful machines?
I realize that this is not a polished/final/production worthy version of code yet, so I'm just trying to provide as much feedback as possible to hopefully make it better.
Tonite, I will test at length and give some performance numbers to show what kind of load it is placing on my system.
Ok, I need a little help here.
I've installed the freebt drivers for me dongle, edited the bluetooth address and run the sixaxis.pie script in glovepie which all works, I assume this is when i unplug the control and run btsix, which i do and hit the PS button, btsix says sixaxis controller connected but i cant do anything with it
Help?
I've installed the freebt drivers for me dongle, edited the bluetooth address and run the sixaxis.pie script in glovepie which all works, I assume this is when i unplug the control and run btsix, which i do and hit the PS button, btsix says sixaxis controller connected but i cant do anything with it
Help?
you need to have ppjoy installed so any other programs can see the data from the sixaxis.
you can get it here
http://www.geocities.com/deonvdw/PPJoy.htm
you can get it here
http://www.geocities.com/deonvdw/PPJoy.htm
I already have PPJoy installed, although to begin with btsix would tell me no joystick was found and it kept telling me new hardware was found, but i just let it search for drivers and it worked after that, in the game controllers section in control panel it shows the virtual joystick but pressing buttons on the sixaxis does nothing.
*** BtSix 1.3 ***
http://bqron.free.fr/PS3/BT/BtSix.1.3.zip
- Pairing Mode added. (require libusb0-win32 drivers, GlovePIE is not more required)
- Led added.
- Missing dlls added. (Mfc dll)
http://bqron.free.fr/PS3/BT/BtSix.1.3.zip
- Pairing Mode added. (require libusb0-win32 drivers, GlovePIE is not more required)
- Led added.
- Missing dlls added. (Mfc dll)
-
- Posts: 2
- Joined: Sun Mar 30, 2008 10:04 am
-
- Posts: 2
- Joined: Sun Mar 30, 2008 10:04 am
Manufacturer: Cambridge Silicon Radio
HCI: 1525
LMP: 1525
Also, I went into PPJoyCOM.exe and where it says "Serial Port: COM1", it says "Error 5 opening port". With ports COM3, COM4, COM15 it shows "Error 2 opening port" but with COM2 it says "Successfully opened port", so I don't know if that has anything to do with it, or how to fix it.
HCI: 1525
LMP: 1525
Also, I went into PPJoyCOM.exe and where it says "Serial Port: COM1", it says "Error 5 opening port". With ports COM3, COM4, COM15 it shows "Error 2 opening port" but with COM2 it says "Successfully opened port", so I don't know if that has anything to do with it, or how to fix it.
-
- Posts: 2
- Joined: Mon Mar 17, 2008 10:16 pm
Thank you for all the work you've done. The SIXAXIS rocks!89ron wrote:*** BtSix 1.3 ***
http://bqron.free.fr/PS3/BT/BtSix.1.3.zip
- Pairing Mode added. (require libusb0-win32 drivers, GlovePIE is not more required)
- Led added.
- Missing dlls added. (Mfc dll)
does this work with vista x64? I read the thread and it wasn't clear. (I'd try it myself, but the last time i tried to get this working from another driver, it killed my pc and i had to repair windows >.>)
I dont care if its through usb cable or bluetooth, doesnt matter as long as it works >_< ive been looking forever for a driver that works for x64
I dont care if its through usb cable or bluetooth, doesnt matter as long as it works >_< ive been looking forever for a driver that works for x64
excellent work 89ron, the roll and pitch data are much smoother than before.
i hope the gyro can be working soon.
for 64bit OS users, i'm 99% sure this only works on 32 bit systems.
a lot of people are having other driver issues with 64 bit, if not all the main stream stuff is working yet, how can you expect home-made stuff like this to work so soon?
i hope the gyro can be working soon.
for 64bit OS users, i'm 99% sure this only works on 32 bit systems.
a lot of people are having other driver issues with 64 bit, if not all the main stream stuff is working yet, how can you expect home-made stuff like this to work so soon?
Help
Hello to everybody,
I'm new in this forum. I need help. Please 89ron help me!!!!
I have this problem. Under windows xp 32bis I use this bluetooth keyboard: http://www.digitalrise.biz/products/input/keyboard_btb/
I use Widcomm bluetooth software version 5.0.1.802 with bongle supporting bluetooth 2.0.
I would like to use contemporaneously my keyboard and sixaxis with your program (Bitsix).
How can I do?
Plaese help me
Many thanks
I'm new in this forum. I need help. Please 89ron help me!!!!
I have this problem. Under windows xp 32bis I use this bluetooth keyboard: http://www.digitalrise.biz/products/input/keyboard_btb/
I use Widcomm bluetooth software version 5.0.1.802 with bongle supporting bluetooth 2.0.
I would like to use contemporaneously my keyboard and sixaxis with your program (Bitsix).
How can I do?
Plaese help me
Many thanks
source: www.freebt.net/Alpha3/ (FreeBT/Docs/driver.html)Instructions for installing the FreeBT Generic Bluetooth USB Driver
This document describes how to install and uninstall the FreeBT Generic Bluetooth USB Driver and other 3rd party drivers.
Supported hardware
The FreeBT USB Driver is written in accordance with the Bluetooth USB HCI spec. Any device that follows the recommendations set down in that spec should be compatible with the FreeBT driver.
The FreeBT .inf will, by default, install any USB dongle that identifies itself with Class 0xE0 (Wireless Controller), SubClass 0x01 (RF Controller) and Protocol 0x01 (Bluetooth programming), in accordance with the USB HCI spec.
Specifically, FreeBT USB has been tested with the following devices:
* Acer BT-700 (Class 1 device)
* D-Link DBT-120 (Class 2 device)
* Any CSR or Silicon Wave-based USB devices
Actually, both of these devices incorporate a CSR BlueCore01 chip, (as do most of the commercially available Bluetooth dongles at present), which (apart from their amplifiers) makes them identical.
A user has confirmed that the Alpha 2 release, in which the driver is slightly modified, works with SiliconWave devices.
If you would like to donate other USB hardware to the FreeBT cause, please contact me.
Supported operating systems
The current release has been tested entirely on Windows XP. I expect it to work equally well on Windows 2000 and while it should work on Windows 98 SE and Windows ME, I have not tested it at all and have serious doubts about its worthiness on those platforms.
Installing the driver
In the unlikely event that you don't already have a Bluetooth USB driver installed for your USB dongle, installing the FreeBT driver is quite simple. Insert the device, point Windows at the src/driver/fbtusb directory and after you accept the warning about the driver being unsigned, it will install automatically.
Removing associations to other drivers
You are much more likely to have a driver from another vendor, such as Widcomm, installed on your system and while you don't need to remove that driver, you do need to persuade Windows to forget the association of the USB dongle to the other vendor driver. The process is not entirely straight forward and not something I would encourage the inexperienced to try.
To remove the reference to your existing driver, carry out the following steps:
* While the device is attached, locate it in the Device Manager, and delete it.
* Under the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB, you will find an entry that corresponds to your USB dongle. If you know the USB Vendor and Product IDs of your device, you will easily be able to locate the device, because the registry key that defines the device is built up from these values. For example, if the device is using a CSR BlueCore01 and the manufacturer has chosen not to change the Vendor and Product ID (as indeed most of them don't) the devices registry key will be HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0a12&Pid_0001
If you don't know the USB Vendor and Product IDs of your device, you will have to find it by searching through all the USB keys. Typically the values DeviceDesc, LocationInformation, Mfg and Service will give you a pretty good idea of what you are looking at.
* Once you have located the key that represents your device, delete it. You may encounter a permissions error when you attempt to do this, in which case you can simply change the permissions for the key using RegEdit (right-click the key and select Permissions).
* Reboot your machine and follow the procedure above for a clean install of the driver.
Of course these steps apply equally well to the FreeBT driver itself, so you can carry out the same procedure again to remove the FreeBT driver.
Co-existance with other Bluetooth implementations
FreeBT can happily co-exist with other Bluetooth implementations, however the process is slightly tricky and requires a certain amount of discipline. It involves using dedicated physical USB ports for each seperate Bluetooth implementation, as well as temporarily modifying the .inf files supplied with the other implementation.
A pertinent example might be FreeBT co-existing with Microsofts Bluetooth implementation, which is a part of Windows XP Service Pack 2, although the following instructions will work with any Bluetooth implementation:
* Make sure you have two SEPERATE PHYSICAL availabile USB ports, we'll refer to them as PORT1 and PORT2
* Insert the USB device into PORT1 and install the associated (not FreeBT) software
* Remove the USB device
* Locate the driver inf file for the device. In the case of Microsofts Bluetooth implementation, this is %SystemRoot%\Inf\bth.inf. Other instances of the file named oem*.inf may exist.
* Comment out the lines that describe the USB device. These lines will have the format USB\Vid_USB_VENDOR_ID&Pid_USB_PRODUCT_ID. The following example shows the section where CSR devices are defined in Microsofts bth.inf:
[Cambridge.NT.5.1]
;Generic Bluetooth Radio= BthUsb, USB\Vid_0a12&Pid_0001
;CSR Nanosira= BthUsb, USB\Vid_0a12&Pid_0003
;CSR Nanosira WHQL Reference Radio= BthUsb, USB\Vid_0a12&Pid_0004
;CSR Nanosira-Multimedia= BthUsb, USB\Vid_0a12&Pid_0005
;CSR Nanosira-Multimedia WHQL Reference Radio= BthUsb, USB\Vid_0a12&Pid_0006
Lines are commented out by prefixing them with a semi-colon as the example shows.
* Insert the USB dongle into PORT2 (NOT PORT1). Windows should fail to find a driver for the device. Follow the instructions for installing the FreeBT driver, above.
* To use the MS stack, insert the device into PORT1. To use the FreeBT stack, insert the device into PORT2
Updating the driver
If you have already installed the FreeBT USB driver and want to update it to the latest version, you can do so quite easily by carying out the following procedure:
* Remove ALL USB Bluetooth hardware
* Restart the computer
* DO NOT start any programs which use the FreeBT libs or driver and DO NOT insert any Bluetooth hardware
* Copy the new driver file (fbtusb.sys) into %SystemRoot%\System32\drivers, overwriting the existing file
NOTE: If the driver is busy, Windows will silently ignore your attempt to overwrite the driver and it will appear as though the file was successfully overwritten. ALWAYS remember to remove all hardware and stop any FreeBT programs!
I'm also having this problem but i have bluetooth 2.0, in btsix it shows 3,500 beside HCI and LMP, btsix says its connected and LED1 is on but i cant control anything with it.kitsunestrife wrote:Tried BtSix 1.2 and 1.3 and neither seem to work for me. It looks like its connecting it to the bluetooth because only LED1 on the cotroller is lit, but I'm not able to control anything with it, so it's probably not linking it to the virtual controller for some reason.
Does it support 2 controllers yet? I just bought a Bluetooth adapter today and am looking forward to trying the driver soon.89ron wrote: Actually, BtSix support only 1 sixaxis, but in the future maybe more :)
Does anybody know if Kensington will work? That is all that I could find at the local computer store. It is bluetooth 2.0 compatible.
Thanks
Hi,
I bought a Sixaxis some time ago and I was pretty happy to find a driver that allowed me to use it via BT under Vista (no SP). Yesterday I installed SP1 and since then there's a great delay between pressing a controller's button or moving on of its joysticks.
Can anyone tell me how to fix that problem?
thx
I bought a Sixaxis some time ago and I was pretty happy to find a driver that allowed me to use it via BT under Vista (no SP). Yesterday I installed SP1 and since then there's a great delay between pressing a controller's button or moving on of its joysticks.
Can anyone tell me how to fix that problem?
thx