Need help desperately with Wiimote on Windows 10

Official forum for open source FreePIE discussion and development.
Post Reply
Efreet
One Eyed Hopeful
Posts: 2
Joined: Tue Aug 30, 2016 12:28 am

Need help desperately with Wiimote on Windows 10

Post by Efreet »

I spent literally days on this... Any help would be very appreciated.

I am trying to use my Wiimote on my PC. My PC runs Windows 10, and my Wiimote is a newer one with "MotionPlus INSIDE". (Nintendo RVL-CNT-01-TR)
Through trying many similar programs, I've had most success with FreePIE, but it's still not there yet.

After I connect the Wiimote to PC, when I run the example script at https://github.com/AndersMalmgren/FreeP ... ng-Started, my Wiimote vibrates once, but then no button action on WiiMote seems to come to PC. The Wiimote vibrates everytime I 'run' the script, but that's as far I could get. I tried with both scripts on the above link, and I also tried the script at https://gist.github.com/Jahdrien/473dd8c45690863952dd with no avail.

Thanks again for any help.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Need help desperately with Wiimote on Windows 10

Post by zelmon64 »

Efreet wrote:I spent literally days on this... Any help would be very appreciated.

I am trying to use my Wiimote on my PC. My PC runs Windows 10, and my Wiimote is a newer one with "MotionPlus INSIDE". (Nintendo RVL-CNT-01-TR)
Through trying many similar programs, I've had most success with FreePIE, but it's still not there yet.

After I connect the Wiimote to PC, when I run the example script at https://github.com/AndersMalmgren/FreeP ... ng-Started, my Wiimote vibrates once, but then no button action on WiiMote seems to come to PC. The Wiimote vibrates everytime I 'run' the script, but that's as far I could get. I tried with both scripts on the above link, and I also tried the script at https://gist.github.com/Jahdrien/473dd8c45690863952dd with no avail.

Thanks again for any help.
Which LED lights up after it rumbles? It may be that the wiimote is detected as the second or third instead of the first. In the following example you can easily change the valie of "i" to test this theory:

Code: Select all

i=0

wiimote[i].enable(WiimoteCapabilities.MotionPlus)

diagnostics.watch(wiimote[i].buttons.button_down(WiimoteButtons.A))
diagnostics.watch(wiimote[i].acceleration.x)
diagnostics.watch(wiimote[i].acceleration.y)
diagnostics.watch(wiimote[i].acceleration.z)
deadzone = 0.01
diagnostics.watch(filters.delta(filters.deadband(wiimote[i].acceleration.x,deadzone)))
diagnostics.watch(filters.delta(filters.deadband(wiimote[i].acceleration.y,deadzone)))
diagnostics.watch(filters.delta(filters.deadband(wiimote[i].acceleration.z,deadzone)))

diagnostics.watch(wiimote[i].ahrs.pitch)
diagnostics.watch(wiimote[i].ahrs.roll)
diagnostics.watch(wiimote[i].ahrs.yaw)
For some reason my red wiimote plus doesn't seem to be a TR version so unfortunately I can't say for sure that it should work.
Efreet
One Eyed Hopeful
Posts: 2
Joined: Tue Aug 30, 2016 12:28 am

Re: Need help desperately with Wiimote on Windows 10

Post by Efreet »

zelmon64, thank you so much for your reply and sharing your code.

I tried your code, and here are the results.
- All four LEDs keeps blinking after establishing bluetoothe connection, and they kept blinking after I ran your code (as I ran any other codes). It rumbled once when I ran the code, but no more interaction is seen.
- Only time I ever saw one LED stay on is when I actually play Wii games, and when I used Dolphin emulator. I couldn't do anything with Dolphin either as no buttons seem to get recognized.
- I tried values i=0,1,2,3, but they didn't give different results. The 'Watch' tab on FreePIE didn't change any value when I pressed buttons or wiggled the controller.

I'm sorry to report the disappointing findings. Thank you for attempting to fix this problem for me.
jhariharan72
One Eyed Hopeful
Posts: 1
Joined: Tue Nov 22, 2016 12:08 pm

Re: Need help desperately with Wiimote on Windows 10

Post by jhariharan72 »

I've been having this exact same problem. Could somebody please help???
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

I think what you are experiencing might be related to your BT dongle.

I purchased the 4.0 Plugable dongle from Amazon to replace my old 2.1 dongle. I tested it on Windows 7 and 10. I had problems in both version. My Wiimote would connect, then after a short amount of time it would disconnect. It would also do it instantly as soon as I tried to run FreePIE.

On windows 10, my solution was to disable the LE drivers in Device Manager. I also unchecked the "Allow the computer to put this device to sleep" options when right clicking the drivers.

It wasn't really a solution though, as movements seemed slow as if the dongle was updating with a 100ms lag. I was testing it with a gyro-mouse script I made, and it was very noticeable by watching the delay between the Wiimote movements and cursor movements.

My only solution was to use my old 2.1 dongle. It worked in both Windows 7 and 10, but FreePIE works best in Windows 7 for me. FreePIE in Windows 10 has a delayed start. The time it takes to rumble my Wiimote from pressing run was about a second. Sometimes longer. In Windows 7 it is instant. Since I couldn't get the new dongle working as well as my older one, and FreePIE was rather sluggish to run scripts, I just went back to Windows 7.

I don't know of any 4.0+ dongle that will work well with the Wiimote, though.
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

Also, I'd like to say that when my scripts are large (200+ lines), FreePIE will not actually run very often. I'd have to start and stop several times until it would load correctly. I never figured out why this is, but perhaps your problem is related to this instead.
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

I tested on Windows 10 again, using both the old Wiimote with M+ attachment, and the TR version.

The newer Wiimote will not connect. My suggestion would be to go back to Windows 7, or get an older Wiimote. If you do decide to stay with Windows 10, let me know how to improve the response. Now that I am testing it, it is more than a second delay between run and rumble. It's more like 4.
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

I have isolated the problem. Once again it is bad drivers. Windows 10 just doesn't do Bluetooth right. I installed Toshiba Stack on Windows 10 and TR Wiimotes work correctly.

The Toshiba Stack also fixed my delayed start for running scripts. The Wiimotes vibrate instantly like they do in Windows 7. Toshiba really did some excellent work on their drivers.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Need help desperately with Wiimote on Windows 10

Post by zelmon64 »

MeteorFalling2 wrote:I have isolated the problem. Once again it is bad drivers. Windows 10 just doesn't do Bluetooth right. I installed Toshiba Stack on Windows 10 and TR Wiimotes work correctly.

The Toshiba Stack also fixed my delayed start for running scripts. The Wiimotes vibrate instantly like they do in Windows 7. Toshiba really did some excellent work on their drivers.
Personally I prefer using the dolphin bar. The Toshiba BT stack never seemed to work completely reliably for me whereas the dolphin bar has always worked without any problems. I'd highly recommend getting one!
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

Yeah, it looks like a great product. I'm considering getting one.
iRamos99
One Eyed Hopeful
Posts: 3
Joined: Tue Jan 10, 2017 8:40 pm

Re: Need help desperately with Wiimote on Windows 10

Post by iRamos99 »

Hey Efreet and anyone wanting to use a wiimote(motionplus inside) on windows 10. I've updated the DolphiiMote c library that FreePie uses to interface with the Wiimote. I worked on this last summer using code from the Dolphin emulator. I made a lot of changes and was planning on making a pull requesting on the github repository to merge the changes but never got around to do so. Since then, my computer crashed and I lost all the work that I put into it. I did get around to redo some of the changes to get it to work.

-No additional Bluetooth driver required. If you have the Toshiba Bluetooth stack installed, I recommend to uninstall it.
-Haven't tried wiimote attachments other than Nunchuck.
-Nunchuck is recognized only on first script run after opening FreePie. Need to close/open Freepie to run a new script with Nunchuck support.
-Haven't tried multiple wiimotes.

How to use:
*****
Replace old DolphiiMote.dll
*****
1. Download and Install FreePie: http://andersmalmgren.github.io/FreePIE/
2. Download DolphiiMote.dll file: https://drive.google.com/file/d/0BxY0qH ... sp=sharing
3. Navigate to the FreePie install directory. On my PC it is: "C:\Program Files (x86)\FreePIE"
4. Rename the existing "DolphiiMote.dll" to "DolphiiMote.dll.old"
5. Copy the downloaded DolphiiMote.dll to the FreePie install directory
*****
Pair Wiimote & Run a Script on FreePie
*****
Note: This part can take a little bit to get right since I didn't spend much time fixing the code. So be patient!
1. Open the Manage Bluetooth Devices setting on Windows. Settings > Devices > Bluetooth. If the Wiimote has been previously paired, select it an click on "Remove device". Leave this window open.
2. Open FreePie. Click on File > New and copy the following script:

Code: Select all

def map_motionplus(n):
	yaw = wiimote[n].ahrs.yaw
	pitch = wiimote[n].ahrs.pitch
	diagnostics.watch(yaw)
	diagnostics.watch(pitch)
	x = filters.deadband(filters.delta(yaw),0.01)
	y = filters.deadband(-filters.delta(pitch),0.01)
	x = x * 20
	y = y * 20
	diagnostics.watch(x)
	diagnostics.watch(y)
	mouse.deltaY = y
	mouse.deltaX = x
#Motionplus 1 update function
def updateMotionplus1():
	map_motionplus(0)
#Wiimote 1 update function	
def updateWiimote1():
	mouse.leftButton = wiimote[0].buttons.button_down(WiimoteButtons.B)
	mouse.rightButton = wiimote[0].buttons.button_down(WiimoteButtons.A)
if starting:
	system.setThreadTiming(TimingTypes.HighresSystemTimer)
	system.threadExecutionInterval = 2
	wiimote[0].buttons.update += updateWiimote1
	wiimote[0].motionplus.update += updateMotionplus1
	wiimote[0].enable(WiimoteCapabilities.Extension)
	wiimote[0].enable(WiimoteCapabilities.MotionPlus)
*Note: Steps 4 to 6 need to be done while the Wiimote lights are still blinking. You may need to perform this steps a few times. It will work.

3. Click the small red button on the back of the Wiimote (All four(4) lights will blink at the same time)
4. On the Bluetooth settings window, the Wiimote should show up as "Ready to Pair". Select it and click on "Pair".
5. A window will open asking for a pin. Click on "Cancel" button without entering a pin.
6. Quickly, while Windows seems to be installing the device, Go back to FreePie and click on Script > Run Script. At this point the Wiimote will vibrate once or two(2) short vibrations and only one(1) light will light up.
7. You should be able to use your Wiimote as your PC mouse. Once the wiimote is connected, you can close/open FreePie and run scripts without having to reconnect. *Note: If the Wiimote is not controlling the mouse, close/open FreePie and run the script again.

The link below is for some scripts that I use to play Doom, TitanFall 2, and TombRaider using the Wiimote and Nunchuck. I use the Nuncuck C button as a "hotkey" so buttons can have 2 mappings to solve for the lack of buttons (default mapping and a mapping while pressing the Nunchuck C button). The TombRaider script uses a combination of vJoy to mimic xbox360 controller and mouse (motionplus) to aim and look.
https://drive.google.com/open?id=0BxY0q ... zdkNU9SWU0

Let me know if you have any questions.

Cheers!
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

Nice. I will test it out. I never got arhs movements to work well as a mouse. I have more precision if I use motionplus instead.
MeteorFalling2
One Eyed Hopeful
Posts: 42
Joined: Thu Dec 08, 2016 10:23 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MeteorFalling2 »

iRamos99 wrote:Hey Efreet and anyone wanting to use a wiimote(motionplus inside) on windows 10. I've updated the DolphiiMote c library that FreePie uses to interface with the Wiimote. I worked on this last summer using code from the Dolphin emulator. I made a lot of changes and was planning on making a pull requesting on the github repository to merge the changes but never got around to do so. Since then, my computer crashed and I lost all the work that I put into it. I did get around to redo some of the changes to get it to work.

-No additional Bluetooth driver required. If you have the Toshiba Bluetooth stack installed, I recommend to uninstall it.
-Haven't tried wiimote attachments other than Nunchuck.
-Nunchuck is recognized only on first script run after opening FreePie. Need to close/open Freepie to run a new script with Nunchuck support.
-Haven't tried multiple wiimotes.

How to use:
*****
Replace old DolphiiMote.dll
*****
1. Download and Install FreePie: http://andersmalmgren.github.io/FreePIE/
2. Download DolphiiMote.dll file: https://drive.google.com/file/d/0BxY0qH ... sp=sharing
3. Navigate to the FreePie install directory. On my PC it is: "C:\Program Files (x86)\FreePIE"
4. Rename the existing "DolphiiMote.dll" to "DolphiiMote.dll.old"
5. Copy the downloaded DolphiiMote.dll to the FreePie install directory
*****
Pair Wiimote & Run a Script on FreePie
*****
Note: This part can take a little bit to get right since I didn't spend much time fixing the code. So be patient!
1. Open the Manage Bluetooth Devices setting on Windows. Settings > Devices > Bluetooth. If the Wiimote has been previously paired, select it an click on "Remove device". Leave this window open.
2. Open FreePie. Click on File > New and copy the following script:

Code: Select all

def map_motionplus(n):
	yaw = wiimote[n].ahrs.yaw
	pitch = wiimote[n].ahrs.pitch
	diagnostics.watch(yaw)
	diagnostics.watch(pitch)
	x = filters.deadband(filters.delta(yaw),0.01)
	y = filters.deadband(-filters.delta(pitch),0.01)
	x = x * 20
	y = y * 20
	diagnostics.watch(x)
	diagnostics.watch(y)
	mouse.deltaY = y
	mouse.deltaX = x
#Motionplus 1 update function
def updateMotionplus1():
	map_motionplus(0)
#Wiimote 1 update function	
def updateWiimote1():
	mouse.leftButton = wiimote[0].buttons.button_down(WiimoteButtons.B)
	mouse.rightButton = wiimote[0].buttons.button_down(WiimoteButtons.A)
if starting:
	system.setThreadTiming(TimingTypes.HighresSystemTimer)
	system.threadExecutionInterval = 2
	wiimote[0].buttons.update += updateWiimote1
	wiimote[0].motionplus.update += updateMotionplus1
	wiimote[0].enable(WiimoteCapabilities.Extension)
	wiimote[0].enable(WiimoteCapabilities.MotionPlus)
*Note: Steps 4 to 6 need to be done while the Wiimote lights are still blinking. You may need to perform this steps a few times. It will work.

3. Click the small red button on the back of the Wiimote (All four(4) lights will blink at the same time)
4. On the Bluetooth settings window, the Wiimote should show up as "Ready to Pair". Select it and click on "Pair".
5. A window will open asking for a pin. Click on "Cancel" button without entering a pin.
6. Quickly, while Windows seems to be installing the device, Go back to FreePie and click on Script > Run Script. At this point the Wiimote will vibrate once or two(2) short vibrations and only one(1) light will light up.
7. You should be able to use your Wiimote as your PC mouse. Once the wiimote is connected, you can close/open FreePie and run scripts without having to reconnect. *Note: If the Wiimote is not controlling the mouse, close/open FreePie and run the script again.

The link below is for some scripts that I use to play Doom, TitanFall 2, and TombRaider using the Wiimote and Nunchuck. I use the Nuncuck C button as a "hotkey" so buttons can have 2 mappings to solve for the lack of buttons (default mapping and a mapping while pressing the Nunchuck C button). The TombRaider script uses a combination of vJoy to mimic xbox360 controller and mouse (motionplus) to aim and look.
https://drive.google.com/open?id=0BxY0q ... zdkNU9SWU0

Let me know if you have any questions.

Cheers!
Oh wow. I tested your Doom script and the mouse movement polling is consistent even with the Nunchucks attached! This is something I was unable to achieve using wiimote[0].motionplus. Although, I did remove the int(round()) part because I desire the accuracy of micro movements.

Thanks a lot for posting your script. I am a complete novice at this stuff, and the way you wrote your script is great reference for me.
iRamos99
One Eyed Hopeful
Posts: 3
Joined: Tue Jan 10, 2017 8:40 pm

Re: Need help desperately with Wiimote on Windows 10

Post by iRamos99 »

@MeteorFalling2 I'm glad you were able to use the script. It took me a while to get the mouse movement working correctly for FPS games. What always gave me problems was getting the turning part right until I found a script to use the mouse for steering in a racing game (https://www.lfs.net/forum/post/1862759#post1862759). I combined the steering logic with my script and that did it!
MrNatas
One Eyed Hopeful
Posts: 4
Joined: Tue Jan 31, 2017 9:01 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MrNatas »

Hi IRamos99,

First off, thanks for this great script. It gets my wiimote working without problem.
I have an issue with the nunchuck when I use your script for DOOM though: it doesn't get recognised at all.
I followed your guide and I restart FreePie every time I connect the combo wiimote/nunchuck but it still doesn't work.
I was thinking that maybe it's got something to do with the Dolphiimote DLL still being the original, but when I use your version, I get an object reference error.

I'm on Windows 10, using the Thoshiba stack, if it can help.

Thanks again!
MrNatas
One Eyed Hopeful
Posts: 4
Joined: Tue Jan 31, 2017 9:01 pm

Re: Need help desperately with Wiimote on Windows 10

Post by MrNatas »

Ah, nevermind, I found the solution.
As it turns out, enabling the wiimote motion plus and extensions has to be done in a precise order for the nunchuck to be detected.

I thus replaced

Code: Select all

	
        wiimote[0].enable(WiimoteCapabilities.Extension)
	wiimote[0].enable(WiimoteCapabilities.MotionPlus)
by:

Code: Select all

wiimote[0].enable(WiimoteCapabilities.Extension | WiimoteCapabilities.MotionPlus)
Here's the complete edited DOOM script, I took the liberty to map the space bar to the wiimote DPad up arrow, too. It makes navigating the game a tad easier :)

Cheers!


PS: I'll put some keywords in this sentence just in case someone is looking for a way to play FPS games with a wiimote (wii remote) and nunchuck, this thread is a good place to start.
PPS: Thanks to this forum I'm now on my way to try and some DIY VR gears... great job :p

Code: Select all

def map_motionplus(n):
	yaw = wiimote[n].ahrs.yaw
	pitch = wiimote[n].ahrs.pitch
	offYaw = yaw - x_offset
	offPitch = pitch - y_offset
	diagnostics.watch(yaw)
	diagnostics.watch(pitch)
	diagnostics.watch(offYaw)
	diagnostics.watch(offPitch)
	
	x = filters.deadband(filters.delta(offYaw),0.01)
	y = filters.deadband(-filters.delta(offPitch),0.01)
	
	x = x * mouse_sensitivity
	y = y * mouse_sensitivity
	
	diagnostics.watch(x)
	diagnostics.watch(y)
	
	steering_center_reduction_x = 1.0
	steering_center_reduction_y = 1.0
	
	if x > 0:
		steering_center_reduction_x = sensitivity_center_reduction ** (1 - (x / steering_max))
	elif x < 0:
		steering_center_reduction_x = sensitivity_center_reduction ** (1 - (x / steering_min))
	if y > 0:
		steering_center_reduction_y = sensitivity_center_reduction ** (1 - (y / steering_max))
	elif y < 0:
		steering_center_reduction_y = sensitivity_center_reduction ** (1 - (y / steering_min))
	
	x = x + ((float(x) * steering_sensitivity) / steering_center_reduction_x)
	y = y + ((float(y) * steering_sensitivity) / steering_center_reduction_y)
	
	if x > steering_max:
		x = steering_max
	elif x < steering_min:
		x = steering_min
		
	if y > steering_max:
		y = steering_max
	elif y < steering_min:
		y = steering_min	
	
	x = int(round(x))
	y = int(round(y))
	
	mouse.deltaX = x
	mouse.deltaY = y
	
def map_button(n, wiimote_button, keyboard_key):
	if wiimote[n].buttons.button_down(wiimote_button):
		keyboard.setKeyDown(keyboard_key)
	else:
		keyboard.setKeyUp(keyboard_key)
	
def map_nunchuck_button(n, nunchuck_button, keyboard_key):
	if wiimote[n].nunchuck.buttons.button_down(nunchuck_button):
		keyboard.setKeyDown(keyboard_key)
	else:
		keyboard.setKeyUp(keyboard_key)
	
def map_axis(n):
	if wiimote[n].nunchuck.stick.x > 25:
		keyboard.setKeyDown(Key.D)
	else:
		keyboard.setKeyUp(Key.D)
	
	if wiimote[n].nunchuck.stick.x < -25:
		keyboard.setKeyDown(Key.A)
	else:
		keyboard.setKeyUp(Key.A)
		
	if wiimote[n].nunchuck.stick.y > 25:
		keyboard.setKeyDown(Key.W)
	else:
		keyboard.setKeyUp(Key.W)
		
	if wiimote[n].nunchuck.stick.y < -25:
		keyboard.setKeyDown(Key.S)
	else:
		keyboard.setKeyUp(Key.S)
	
def map_buttons(n):
	map_button(n, WiimoteButtons.A, Key.E)
	map_button(n, WiimoteButtons.One, Key.LeftControl)
	map_button(n, WiimoteButtons.Two, Key.F1)
	map_button(n, WiimoteButtons.Plus, Key.Return)
	map_button(n, WiimoteButtons.Minus, Key.Z)
	map_button(n, WiimoteButtons.DPadUp, Key.Space)
	#map_button(n, WiimoteButtons.Home, Key.Escape)
	
def map_buttons_altC(n):
	map_button(n, WiimoteButtons.A, Key.F)
	map_button(n, WiimoteButtons.One, Key.LeftControl)
	map_button(n, WiimoteButtons.Two, Key.F2)
	map_button(n, WiimoteButtons.Plus, Key.Return)
	map_button(n, WiimoteButtons.Minus, Key.Z)
	map_button(n, WiimoteButtons.DPadUp, Key.Space)
	#map_button(n, WiimoteButtons.Home, Key.Escape)
	
def map_buttons_altZ(n):
	map_button(n, WiimoteButtons.A, Key.R)
	map_button(n, WiimoteButtons.One, Key.D5)
	map_button(n, WiimoteButtons.Two, Key.D6)
	map_button(n, WiimoteButtons.Plus, Key.G)
	map_button(n, WiimoteButtons.Minus, Key.Z)
	map_button(n, WiimoteButtons.Home, Key.Escape)
	
def map_nunchuck_buttons(n):
	mouse.rightButton = wiimote[n].nunchuck.buttons.button_down(NunchuckButtons.Z)
	diagnostics.watch(mouse.rightButton)
	diagnostics.watch(wiimote[n].nunchuck.buttons.button_down(NunchuckButtons.Z))
	if wiimote[n].nunchuck.buttons.button_down(NunchuckButtons.C):
		map_buttons_altC(n)
	#elif wiimote[n].nunchuck.buttons.button_down(NunchuckButtons.Z):
	#map_buttons_altZ(n)
	else:
		map_buttons(n)
	
def map_pov(n):
	mouse.leftButton = wiimote[n].buttons.button_down(WiimoteButtons.B)
	map_button(n, WiimoteButtons.DPadUp, Key.LeftAlt)
	map_button(n, WiimoteButtons.DPadRight, Key.Q)
	map_button(n, WiimoteButtons.DPadDown, Key.C)
	map_button(n, WiimoteButtons.DPadLeft, Key.LeftShift)
		
def updateWiimote1():
	#Wiimote 1
	#map_buttons(0)
	map_pov(0)
	
def updateNunchuck1():
	map_axis(0)
	map_nunchuck_buttons(0)
	
def updateMotionplus1():
	map_motionplus(0)
	
if starting:
	system.setThreadTiming(TimingTypes.HighresSystemTimer)
	system.threadExecutionInterval = 2
	wiimote[0].buttons.update += updateWiimote1
	wiimote[0].nunchuck.update += updateNunchuck1
	wiimote[0].motionplus.update += updateMotionplus1
	wiimote[0].enable(WiimoteCapabilities.Extension | WiimoteCapabilities.MotionPlus)
	x_offset = 0
	y_offset = 0
	mouse_sensitivity = 1.5
	# =============================================================================================
	# //////////////////////////////////////// SETTINGS ///////////////////////////////////////////
	# =============================================================================================
	# Mouse settings
	# =============================================================================================
	steering_sensitivity = 5
	sensitivity_center_reduction = 0.1
	# =============================================================================================
	# Steering settings
	# =============================================================================================
	int32_max = (2 ** 14) - 1
	int32_min = (( 2** 14) * -1) + 1
	#global steering, steering_max, steering_min, steering_center_reduction    
	# Init values, do not change
	steering_max = float(int32_max)
	steering_min = float(int32_min)
	
if(wiimote[0].buttons.button_down(WiimoteButtons.Home)):
	x_offset = wiimote[0].ahrs.yaw
	y_offset = wiimote[0].ahrs.pitch
iRamos99
One Eyed Hopeful
Posts: 3
Joined: Tue Jan 10, 2017 8:40 pm

Re: Need help desperately with Wiimote on Windows 10

Post by iRamos99 »

MrNatas wrote:Hi IRamos99,

First off, thanks for this great script. It gets my wiimote working without problem.
I have an issue with the nunchuck when I use your script for DOOM though: it doesn't get recognised at all.
I followed your guide and I restart FreePie every time I connect the combo wiimote/nunchuck but it still doesn't work.
I was thinking that maybe it's got something to do with the Dolphiimote DLL still being the original, but when I use your version, I get an object reference error.

I'm on Windows 10, using the Thoshiba stack, if it can help.

Thanks again!
MrNatas - Glad you go it to work!

For anyone else reading this post: the modified DolphiMote.dll doesn't support the Toshiba stack (bluetooth) since it has been modified to work with the standard Windows stack. The Toshiba stack should be uninstalled/removed before trying the modified DolphiMote.dll.

Cheers!
Bluedeath
One Eyed Hopeful
Posts: 49
Joined: Mon Feb 10, 2014 4:48 am

Re: Need help desperately with Wiimote on Windows 10

Post by Bluedeath »

I get an object reference error, even if I am using the plain windows 10 Bluetooth stack (on a generic v4 module) and using the dolphin bar.
Any solution i could try?

Thanks in advance
Jabberwock
Cross Eyed!
Posts: 196
Joined: Mon Mar 02, 2015 3:58 pm

Re: Need help desperately with Wiimote on Windows 10

Post by Jabberwock »

iRamos99, it is awful that you have lost your work... I still hope that some day support for IR for Wiimote or support for Balance Board would be possible in FreePie, but I am losing hope slowly... Unfortunately, I am not a skilled enough programmer to try to add it on my own.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Need help desperately with Wiimote on Windows 10

Post by zelmon64 »

@iRamos99 could you please upload your code changes for DolphiiMote.dll so that they can be combined with the classic controller and guitar changes? Your fix for simultaneous Extension and MotionPlus WiimoteCapabilities would be of specific interest.
Post Reply

Return to “FreePIE”