Full (yeah, well) Wiimote Support in FreePIE

Official forum for open source FreePIE discussion and development.
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

I do not know how the wiimote code behaves if you use all 4 slots without having a actual mote in the slot. Only try zero slot, also might be better to use diagnostics.debug in this case because you might miss the true state otherwise.
niocnioc
One Eyed Hopeful
Posts: 4
Joined: Wed Nov 12, 2014 5:15 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by niocnioc »

ok i have changed my script to have something very basic

Code: Select all

diagnostics.watch(wiimote[0].buttons.button_down(WiimoteButtons.A))
diagnostics.watch(wiimote[0].buttons.button_down(WiimoteButtons.B))
diagnostics.watch(wiimote[0].buttons.button_down(WiimoteButtons.DPadDown))
diagnostics.watch(wiimote[0].buttons.button_down(WiimoteButtons.One))
the wiimote buzzes, but no state change. I've also tried with debug without success.
Maybe a bt or a driver issue.

Strange thing is that i've successfully used julian loehr driver and it is working fine.

I'll keep trying...
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

The wiimote support in FreePIE is based on Dolphi does the mote work there? I guess its a clone?
What bt stack are you using? I never got the windows stack working properly with my mote
niocnioc
One Eyed Hopeful
Posts: 4
Joined: Wed Nov 12, 2014 5:15 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by niocnioc »

It is the first model of the nintendo wiimote that i got with the wii.
It doesn't work with glovepie, dolphin or wiinremote either. I've tried Toshiba stack without more success

Strange thing...
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

Sounds like its not FreePIE's fault then. Sorry, if it does not with Dolphin it wont work with FreePIE, we use the same BT code
niocnioc
One Eyed Hopeful
Posts: 4
Joined: Wed Nov 12, 2014 5:15 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by niocnioc »

I've downloaded the sources of dolphin and visual 2013, and going step by step in the wiimote detection routines i think i've managed somehow to figure how to make it work.
If i used bluetooth asistant to connect to the wiimote it pairs but it was not detected in dolphin, neither in freepie. I've seen that dolphin code ignores remembered devices and seems to force windows to forget the device before attaching it again, and it was not working. So i've used dolphin to detect and pair to the wiimote and it works in dolphin, and in freepie too.
Now i know it can work :-)
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

Nice, there probably is a reason they do that, have you figured out why?
olliecarts
One Eyed Hopeful
Posts: 1
Joined: Wed Dec 10, 2014 5:19 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by olliecarts »

Hi, i am fairly new to programming in general but have been learning python as i have a project where i would like to be able to test the acceleration of a swinging arm and have the buttons on the wiimote as inputs in the program. From researching i have ended up finding this and freepie seems better suited than using straight python, the problem is i don't seem to be able to find any beginner tutorials in freepie to find out how to do things such as use the input from buttons to output information; something like

if wiimote[0].buttons.button_down(wiimotebuttons.plus):
print "plus button pressed"

However this clearly is not the correct form for freepie and print doesn't seem to work in freepie so i was wondering if you might know where i could find beginner help or whether you think that freepie isn't going to be useful for this task?

Sorry for the bother
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

I've been writing a headtracking script for my wiimote, using the wiimote as the sensor and FreeTrack as the protocol. When I view the diagnostics, FreeTrack seems to be working, but none of my FreeTrack compatible games seem to recognise the input. Arma 2 is the only game that detects FreeTrack, but my character is stuck staring at the sky and no movement from the wiimote seems to get a response.

I have noticed the values drifting, but I'm not sure if this is related to the stuck view angle or not, or how to enable FreeTrack in the other games. In the past I have used FaceTrackNoIR, but I don't have a webcam at the moment so I thought I'd experiment with other methods. FTNIR worked fine in some games, but it shared the stuck view angle issue in Arma, although it was at a different angle and I could still get it to respond slightly at extreme view angles. I'm using the latest versions of FTNIR and FreePIE.

Here is the headtracking code I'm using, I based it off the sample wiimote and android headtracker scripts.

Code: Select all

def log_motionplus():
	diagnostics.watch(wiimote[0].ahrs.yaw)
	diagnostics.watch(wiimote[0].ahrs.pitch)
	diagnostics.watch(wiimote[0].ahrs.roll)
	diagnostics.watch(freeTrack.yaw)
	diagnostics.watch(freeTrack.pitch)
	diagnostics.watch(freeTrack.roll)
	
	global yaw
	yaw = wiimote[0].ahrs.yaw
	global pitch
	pitch = -wiimote[0].ahrs.roll
	global roll
	roll = wiimote[0].ahrs.roll


if starting:
	system.setThreadTiming(TimingTypes.HighresSystemTimer)
	system.threadExecutionInterval = 2
	
	global previous
	previous = False
	wiimote[0].motionplus.update += log_motionplus
##	wiimote[0].buttons.update += simulate_mouse
	
	wiimote[0].enable(WiimoteCapabilities.MotionPlus)
	centerYaw = 0
	centerPitch = 0
	centerRoll = 0
	yaw = 0
	pitch = 0
	roll = 0

freeTrack.yaw = math.degrees(yaw - centerYaw)
freeTrack.pitch = math.degrees(pitch - centerPitch)
freeTrack.roll = math.degrees(roll - centerRoll)

if keyboard.getKeyDown(Key.LeftControl) and keyboard.getPressed(Key.C):
	centerYaw = yaw
	centerPitch = pitch
	centerRoll = roll
Does anybody know how I can a) enable FreeTrack using FreePIE and b) reduce drift in the hopes of resolving the Arma issue?
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

Freetrack uses radians

edit: both doing diagnostics.watch(freeTrack.yaw) and freeTrack.yaw = math.degrees(yaw - centerYaw) will confuse FreePIE, it wont understand if you want to emulate freetrack or read from freetrack so remove the diagnostics lines
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

Ok, I've switched it to radians and removed the diagnostics but I still have no input in games. Do I need to have FaceTrackNoIR or FreeTrack's program running or does FreePIE initalise it automatically when I run the script?
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

It should work on it self, so its working now in arma but no other game? What are the other games?
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

No, it doesn't work at all, although Arma does seem to recognise that FreeTrack is running, I can bind controls to it, but the character's head doesn't react. Same for the other games I'm testing.

I'm using Arma 3 (which since the latest update crashes when I try to change my controls, so I've been testing in Arma 2 so my script is ready for when I can use it), DCS World, IL2 Sturmovik: 1946 and WarThunder. On my old computer, a laptop, I used the built in webcam with FaceTrackNoIR, which worked fine in WarThunder and IL2. I couldn't run DCS or Arma 3 on that laptop, but it worked in Arma 2 apart from having my view angle stuck over my shoulder.

It seems to me like FreePIE is initialising FreeTrack but not passing the wiimote data through to it.
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

Try the plugins one by one to rule out problems test this little script, it should maje your head turn in game

Code: Select all

if starting:
	yaw = -90
	
yaw = yaw + 0.1
if yaw > 90:
	yaw = -90

freeTrack.yaw = math.radians(yaw)
Also, are you sure all those games uses freetrack and not TrackIR?
edit: Also while running the script check regedit that Freetrack is pointing to the FreePIE install folder (under current user / software / freetrack). FreePIE will input its path in the registry when you start the script so its important that you run FreePIE before game
Last edited by CyberVillain on Tue Jan 27, 2015 3:24 am, edited 1 time in total.
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

When I put that script into FreePIE I get the error "Unexpected Token <newline>". There is no line number in the debug window and I can't work out exactly where the issue is.

Yes, I can confirm that if not all of the games support FreeTrack, Arma 2&3 (my main testing game) natively support FreeTrack and TrackIR. FaceTrackNoIR used to emulate TrackIR as well as FreeTrack at the same time. If I replace the references to the FreeTrack plugin with TrackIR's would that emulate the TrackIR software or is that only for receiving data from a TrackIR unit?
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

FreePIE can emulate TrackIr and Freetrack at the sametime, but you code above only includes Freetrack plugin.

There was a error in the script, fixed now

edit: Also, TrackIR uses degrees and Freetrack radians so make sure you convert it accordingly
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

Your script works in Arma now, so it's clear that FreePIE is transmitting data through FreeTrack. I guess the issue is in the wiimote end of the script. I'll take another look and try to work it out.
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

Cool, let me know if you need more help
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

The code works now, although it's very sensitive. I think I saw something about fixing that in one of the samples, so I'll take a look and post my code here for other people when I'm happy with it.
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

Ok, here's my code. The biggest problem is sensitivity and drift. Does anyone know how to fix the drift? In my case it drifts to the back and down (which in game translates to left based on my setup. I've got the model with the motionplus sensors built in.

Code: Select all

def log_motionplus():
	##mouse.deltaX = filters.deadband(-filters.delta(wiimote[0].ahrs.yaw), 0.1) * 25
	##mouse.deltaY = filters.deadband(-filters.delta(wiimote[0].ahrs.roll	), 0.1) * 25
	diagnostics.watch(wiimote[0].ahrs.yaw)
	diagnostics.watch(wiimote[0].ahrs.pitch)
	diagnostics.watch(wiimote[0].ahrs.roll)

def log_acceleration():
	diagnostics.watch(wiimote[0].acceleration.x)
	diagnostics.watch(wiimote[0].acceleration.y)
	diagnostics.watch(wiimote[0].acceleration.z)

	
	global yaw
	yaw = filters.deadband(-filters.delta(wiimote[0].ahrs.yaw), 0.1) *25
	global pitch
	pitch = filters.deadband(-filters.delta(wiimote[0].ahrs.roll), 0.1) *25
	global roll
	roll = filters.deadband(-filters.delta(wiimote[0].ahrs.roll), 0.1) *25

if starting:
	system.setThreadTiming(TimingTypes.HighresSystemTimer)
	system.threadExecutionInterval = 2
	enabled = False
	deadband = 0.1
	
	global previous
	previous = False
	wiimote[0].motionplus.update += log_motionplus
	wiimote[0].acceleration.update += log_acceleration
	
	wiimote[0].enable(WiimoteCapabilities.MotionPlus)
	centerYaw = 0
	centerPitch = 0
	centerRoll = 0
	yaw = 0
	pitch = 0
	roll = 0

freeTrack.yaw = math.radians(yaw - centerYaw)
freeTrack.pitch = math.radians(pitch - centerPitch)
freeTrack.roll = math.radians(roll - centerRoll)

if keyboard.getKeyDown(Key.LeftControl) and keyboard.getPressed(Key.C):
	centerYaw = yaw
	centerPitch = pitch
	centerRoll = roll

toggle = keyboard.getKeyDown(Key.LeftControl) and keyboard.getPressed(Key.Z)

if toggle:
    enabled = not enabled
As you can see from my code, I've tried adjusting the deadband and an example from the samples for mouse control. The mouse control sample makes the game impossible to play because it centers the view automatically way too often.
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by CyberVillain »

Have you tried mahony fusion from the settings?
Professor_Hoover
One Eyed Hopeful
Posts: 17
Joined: Sun Sep 28, 2014 11:03 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Professor_Hoover »

Yep, I've tried both fusions. I've seen that other people don't have issues with mahony, so I'lll try to borrow another wiimote and make sure it's not the hardware.
metronome
Cross Eyed!
Posts: 114
Joined: Sat Mar 16, 2013 12:42 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by metronome »

any of this to do with the motion plus built in wii motes that are TR versions to work, which apparently dont play nice?
konstantin_lozev
Cross Eyed!
Posts: 192
Joined: Fri Jul 04, 2014 1:43 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by konstantin_lozev »

Professor_Hoover wrote:Yep, I've tried both fusions. I've seen that other people don't have issues with mahony, so I'lll try to borrow another wiimote and make sure it's not the hardware.
Oh, I have had no luck with the Mahony fusion either, so you are not alone.
Sighmir
One Eyed Hopeful
Posts: 2
Joined: Thu Jul 02, 2015 3:01 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Sighmir »

Is there any rumble control? So I could make so when I press B the control would rumble for example.
Tqwando
One Eyed Hopeful
Posts: 5
Joined: Wed Jun 01, 2016 11:51 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Tqwando »

I love the project and was wondering if you can help me out.

I'm working on a FPS script and it's almost working, but the mouse wheel up/down and middle functions are not working properly.
They fire multiple times, which is annoying when wanting to select the next weapon and activating scope.

Background info
When you hold the C button on the nunchuck then the Stick behaves different.

Example of Mouse Wheel down firing multiple times while it should only fire once
(Hold nunchuck C button and press Nunchuck Stick Back, will select previous weapon)

Code: Select all

if wiimote[wiimote_index].nunchuck.stick.y < -40:
        if wiimote[wiimote_index].nunchuck.buttons.button_down(NunchuckButtons.C):
            mouse.wheelDown = True
        else:
        	# mouse.wheelDown = False
        	keyboard.setPressed(Key.S)
    # else:
        # mouse.wheelDown = False
Those commented lines also don't fix the problem

Note: It does work for regular keys, example:
(Stick Left: keep firing A.
Stick left + C: fire F once.)

Code: Select all

    if wiimote[wiimote_index].nunchuck.stick.x < -40:
        if wiimote[wiimote_index].nunchuck.buttons.button_down(NunchuckButtons.C):
            keyboard.setKeyDown(Key.F)
        else:
            keyboard.setPressed(Key.A)
            keyboard.setKeyUp(Key.F)
    else:
        keyboard.setKeyUp(Key.F)
Can you add 3 mouse methods that only fire once?
- one for Mouse Wheel Up (next weapon)
- one for Mouse Wheel Down (previous weapon)
- one for Middle Mouse (toggle scrope)
Something like mouse.setWheelUp(bool) (true = down, false = up)
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by zelmon64 »

Tqwando wrote:I love the project and was wondering if you can help me out.

I'm working on a FPS script and it's almost working, but the mouse wheel up/down and middle functions are not working properly.
They fire multiple times, which is annoying when wanting to select the next weapon and activating scope.

Background info
When you hold the C button on the nunchuck then the Stick behaves different.

Example of Mouse Wheel down firing multiple times while it should only fire once
(Hold nunchuck C button and press Nunchuck Stick Back, will select previous weapon)

...

Can you add 3 mouse methods that only fire once?
- one for Mouse Wheel Up (next weapon)
- one for Mouse Wheel Down (previous weapon)
- one for Middle Mouse (toggle scrope)
Something like mouse.setWheelUp(bool) (true = down, false = up)
Hi. I think this should work:

Code: Select all

global pressed

if starting:
        pressed = False

if wiimote[wiimote_index].nunchuck.stick.y < -40:
        if wiimote[wiimote_index].nunchuck.buttons.button_down(NunchuckButtons.C):
            if pressed == False:
                mouse.wheelDown = True
                pressed = True
            else:
                mouse.wheelDown = False
        else:
           pressed = False
else:
        pressed = False

if wiimote[wiimote_index].nunchuck.stick.y > 40:
        if wiimote[wiimote_index].nunchuck.buttons.button_down(NunchuckButtons.C):
            if pressed == False:
                mouse.wheelup = True
                pressed = True
            else:
                mouse.wheelUp = False
        else:
           pressed = False
else:
        pressed = False

mouse.middleButton

if wiimote[wiimote_index].nunchuck.stick.x > 40:
        if wiimote[wiimote_index].nunchuck.buttons.button_down(NunchuckButtons.C):
            if pressed == False:
                mouse.middleButton = True
                pressed = True
            else:
                mouse.middleButton = False
        else:
           pressed = False
else:
        pressed = False
I wasn't sure what you wanted as scope so I just set it to the x of the stick. The nested "if"s for stick position and c button would probably be nicer put together with an "and" but I thought I'd stick as closely as posible to your original code. There may be typos.

I tested it with a keyboard version (not sure where my nunchuck is :) ):

Code: Select all

global pressed

if starting:
	pressed = False
	
if keyboard.getKeyDown(Key.A):
	if pressed == False:
		mouse.wheelUp = True
		pressed = True
	else :
		mouse.wheelUp = False
else:
	pressed = False
If this doesn't work I can hunt out my nunchuck to do it properly.
Tqwando
One Eyed Hopeful
Posts: 5
Joined: Wed Jun 01, 2016 11:51 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Tqwando »

Thanks allot zelmon64!

As a thank you I posted my full script here:
FreePie FPS Script by TQwando
WiiPlayer2
One Eyed Hopeful
Posts: 2
Joined: Thu Jun 02, 2016 4:08 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by WiiPlayer2 »

Hi,

I have a problem with the Wii Motion Plus Extension. When I use one Wiimote with Wii Motion Plus FreePIE recognizes it and displays data (diagnastics.watch(...)) but if I connect a second Wiimote it only shows 0 but I think the update event is still being fired. Is there a way to use 2 Wiimotes each with Wii Motion Plus?
Tqwando
One Eyed Hopeful
Posts: 5
Joined: Wed Jun 01, 2016 11:51 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Tqwando »

I don't have 2 motions plus, but had similar problem with the watch.

Try this:
1. Each watch item must have unique name:
instead of

Code: Select all

def motionPlusUpdate1():
    # motionPlusUpdate contains general motion plus code + diagnostics.watch(wiimote[wiimote_index].ahrs.roll)
    motionPlusUpdate(0)

def motionPlusUpdate2():
    motionPlusUpdate(1)
Try

Code: Select all

def motionPlusUpdate1():
    motionPlusUpdate(0)
    diagnostics.watch(wiimote[0].ahrs.roll)

def motionPlusUpdate2():
    motionPlusUpdate(1)
    diagnostics.watch(wiimote[1].ahrs.roll)
2. After start script. Stop and start script again.
I had a problem that my nunchuck acceleration reported 0, but this fixes it.

3. You need this in the starting function:

Code: Select all

    # 500hz for nunchuck and motion plus.
    system.setThreadTiming(TimingTypes.HighresSystemTimer)
    system.threadExecutionInterval = 2

    wiimote[0].motionplus.update += motionPlusUpdate1
    wiimote[1].motionplus.update += motionPlusUpdate2
WiiPlayer2
One Eyed Hopeful
Posts: 2
Joined: Thu Jun 02, 2016 4:08 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by WiiPlayer2 »

I took a look at the code and found the culprit.

I made a pull request: https://github.com/AndersMalmgren/FreePIE/pull/86
uneasy
One Eyed Hopeful
Posts: 8
Joined: Thu Sep 07, 2017 2:58 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by uneasy »

Is this code added to FreePIE 1.9.629.0? Coz I have the same problem - first Motion Plus wiimote works ok, the second one shows zeroes. I wonder if it has something to do with the DolphinBar I'm using.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by zelmon64 »

uneasy wrote:Is this code added to FreePIE 1.9.629.0? Coz I have the same problem - first Motion Plus wiimote works ok, the second one shows zeroes. I wonder if it has something to do with the DolphinBar I'm using.
Hi uneasy,

I just uploaded a new release (1.10.666) which contains WiiPlayer2's Wiimote calibration fix. Please let me know if you have any problems with it.
Jabberwock
Cross Eyed!
Posts: 197
Joined: Mon Mar 02, 2015 3:58 pm

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by Jabberwock »

I would be very, very grateful for Balance Board support...
uneasy
One Eyed Hopeful
Posts: 8
Joined: Thu Sep 07, 2017 2:58 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by uneasy »

zelmon64 wrote: Hi uneasy,

I just uploaded a new release (1.10.666) which contains WiiPlayer2's Wiimote calibration fix. Please let me know if you have any problems with it.
Hi zelmon64! First of all, I would like to thank you for this. Your help is VERY much appreciated by us non-programmer types. However, FreePIE 1.10.666 is not working, and I have an idea why.

When I run a script that uses Wiimote features, I receive an error about msvcp140d.dll, vcruntime140d.dll and ucrtbased.dll missing. I have already seen this when I found an updated DolphiiMote.dll somewhere in the interwebs and put it into FreePIE directory. This dll in your release is also different from the one in FreePIE 1.9.629.0 and it is the cause of this error as well. If I replace it with the dll from FreePIE 1.9.629.0, the problem disappears.

I'm not a programmer, but from what I've read, it seems to me this happens because DolphiiMote.dll was compiled for debug, and has to be recompiled without debug options set.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by zelmon64 »

uneasy wrote: I'm not a programmer, but from what I've read, it seems to me this happens because DolphiiMote.dll was compiled for debug, and has to be recompiled without debug options set.
Hi uneasy,

I've recompiled DolphiiMote.dll without debug options set. Hopefully it will work for you (I'm only able to test the wiimote functions which did work for me).

Edit: sorry I didn't notice it didn't allow the dll to upload. I've attached a zip instead.
You do not have the required permissions to view the files attached to this post.
uneasy
One Eyed Hopeful
Posts: 8
Joined: Thu Sep 07, 2017 2:58 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by uneasy »

zelmon64 wrote:I've recompiled DolphiiMote.dll without debug options set. Hopefully it will work for you (I'm only able to test the wiimote functions which did work for me).
Wow! It works! Fantastic.

For some reason, I still get the same error sometimes (one of the wiimotes is not working) but very rarely.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by zelmon64 »

uneasy wrote: Wow! It works! Fantastic.
Brilliant news!
uneasy wrote: For some reason, I still get the same error sometimes (one of the wiimotes is not working) but very rarely.
Are you referring to your original error of the controller reporting zeros? I've been poking around in DolphiiMote trying to figure out how iRamos99 managed to fix the simultaneous MotionPlus and Extension to work. In my trials DolphiiMote does seem to not receive the data on occasional runs. This could be the cause of your zeros.

One good thing I've learned today however is that if a wiimote is in pairing mode when a wiimote FreePIE script is started, it will pair the wiimote (but the script must be restarted for it to read the data). Did you know this? I can't remember seeing it mentioned anywhere.
uneasy
One Eyed Hopeful
Posts: 8
Joined: Thu Sep 07, 2017 2:58 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by uneasy »

zelmon64 wrote: Are you referring to your original error of the controller reporting zeros?
Yep, that error. But compared to what I had before (could not get the second wiimote to work even after 30 retries), this is not a problem at all :)
zelmon64 wrote: One good thing I've learned today however is that if a wiimote is in pairing mode when a wiimote FreePIE script is started, it will pair the wiimote
I use DolphinBar, so my wiimotes are already paired when I start the script. They do vibrate at that moment though.
User avatar
zelmon64
Cross Eyed!
Posts: 134
Joined: Thu Apr 09, 2015 4:27 am

Re: Full (yeah, well) Wiimote Support in FreePIE

Post by zelmon64 »

uneasy wrote:I use DolphinBar, so my wiimotes are already paired when I start the script. They do vibrate at that moment though.
Hi uneasy,

I agree the DolphinBar is so much nicer to use!

I've made some headway with DolphiiMote and wondered if you might be willing to try it out? I only have a nunchuck so it would be good if the other extensions could be tested if you have any. The zip file includes the dll, a test app which displays the data from the wiimote(s) and an example script with comments on how to access the passthrough modes.

Thanks :D
You do not have the required permissions to view the files attached to this post.
Post Reply

Return to “FreePIE”