Jump to content



Photo
* * * * * 9 votes

Pinscape Controller software V2

pinscape

  • Please log in to reply
975 replies to this topic

#261 Hellfire666

Hellfire666

    Hobbyist

  • Members
  • PipPip
  • 10 posts

  • Flag: Germany

  • Favorite Pinball: Star Trek TNG

Posted 04 January 2017 - 12:27 PM

 

OMG it works !

I press the reset button and Windows detects it automatically.

 

Okay, that's good to know.  

 

In that case, what I'll do is add code to reboot the KL25Z if it's in the initial connection state (short yellow) and times out.  It doesn't currently reboot itself from that state, because that's already the freshly booted state: rebooting from that state is rebooting from a reboot, which hasn't been necessary on any other machines.  But apparently you have a motherboard where even being in the reboot state isn't good enough - the device apparently has to actually cycle through a reboot after the PC side is powered up.

 

 

 

The short yellow flashes mean that the KL25Z already rebooted itself, so there's basically nothing else it can do except wait for Windows to accept the connection.

 

Actually I may disagree, since the KL25Z is doing short yellow flashes from the beginning, so no new status or moves from the board here.

 

No, it actually is in a freshly booted state - that's what short-yellow means.  It means the device was just reset, either by being power-cycled or via a software reset.

 

Hello mjr,

 

I actually have the same problem:

when booting the PC with attached KL25Z board the board is not registered. LED shows short yellow flashes.

Once I press the reset button or disconnect and reconnect the USB cable it is registered correctly and working just fine.

 

Is there a possible solution to that so that I can power on the PC with a working KL25Z board?

 

Many thanks for your answer.

 

best regards



#262 melgo

melgo

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: France

  • Favorite Pinball: Pincab

Posted 04 January 2017 - 12:30 PM

it's workinngggggg ! Thanks a million Mike !

 

@hellfire666 did you try with the latest firmware mjr released yesterday ?



#263 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 04 January 2017 - 07:18 PM

Wait - well I've just find what happens Mike : for testing purpose I've set button #24 (not used in my cab) in Pinscape Config Tool as F1 key.

Windows now sees a "keyboard Pinscape Controller" and Extra Ball + Left Flip/Magna buttons are now working good.

 

Good detective work!  

 

You've found another bug in the firmware.  During initialization, it checks to see if there are any keyboard keys assigned to buttons, and creates the keyboard USB interface only if it finds any.  But here's the bug: it isn't checking for shifted buttons.  So you need at least one regular unshifted button assigned to a keyboard key to enable the keyboard interface.

 

I'll fix it to check the shifted buttons as well, so that the extra F1 key assignment isn't necessary.

 

 

Edit 2 : arf, the drawback is that when my KL is seen as a keyboard, Visual Pinball (9 / PM5 / X) quits by itself when launching a table   :hmm:

 

Edit 3 : if I set USB identification as Pinscape ID instead of Ledwiz #8, assign F24 key to button #24 so the KL is seen as a keyboard, all VP executables won't quit by themselves.

Also if I disable B2S and let USB identification as Ledwiz #8 VP won't quit.

 

You're running into the well-known LEDWIZ.DLL crash.  When Pinscape presents a keyboard interface alongside an LedWiz interface, it makes the stock LEDWIZ.DLL crash when any program (such as DOF) loads it.

 

As you've discovered, one workaround is to use a NON LedWiz USB ID.

 

But there's a better solution: use the fixed versions of DOF and LEDWIZ.DLL here:  http://mjrnet.org/pi...ll-updates.html.  With those installed, you can go back to using an LedWiz-compatible USB ID, which allows using the LedWiz compatibility features.


Edited by mjr, 04 January 2017 - 07:21 PM.


#264 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 04 January 2017 - 08:19 PM

Nice Mike, I thought I had a weird setup that was the cause :)

I'll try the fixed versions tomorrow - it's 9 PM here in France - and report ASAP ;)

++

#265 Hellfire666

Hellfire666

    Hobbyist

  • Members
  • PipPip
  • 10 posts

  • Flag: Germany

  • Favorite Pinball: Star Trek TNG

Posted 04 January 2017 - 10:16 PM

it's workinngggggg ! Thanks a million Mike !

 

@hellfire666 did you try with the latest firmware mjr released yesterday ?

Thanks, that fixed the problem. KL25Z is now recognized when booting the PC



#266 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 04 January 2017 - 11:55 PM

@hellfire666 did you try with the latest firmware mjr released yesterday ?

 

Thanks, that fixed the problem. KL25Z is now recognized when booting the PC

 

Great - glad to hear it.  It's amazing how many new and different ways the motherboard manufacturers can find to break USB compatibility with the KL25Z!!!



#267 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 05 January 2017 - 09:42 AM

Mike,

 

I've updated the firmware to 2017-01-04-1843 and DOF R3+ and here's my feedback :

 

- KL is seen as a Pinscape Controller Keyboard - no keyboard key assigned in the firmware.

- And so shifted buttons are working good with PinVol ;)

 

Just a little issue with SimpleLEDTest that I use when I need to check my setup : with new ledwiz.dll my genuine Ledwiz board isn't seen, if I revert back to original ledwiz.dll Ledwiz #1 shows up again.

 

Question Mike : does your version of DOF includes fixes for modulated solenoids ?

I used to use DJRobX's DOF for modulated flashers tables ;)

 

Thanks again for support :)

 

++



#268 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 05 January 2017 - 07:04 PM

Just a little issue with SimpleLEDTest that I use when I need to check my setup : with new ledwiz.dll my genuine Ledwiz board isn't seen, if I revert back to original ledwiz.dll Ledwiz #1 shows up again.

 

Strange.  That new LEDWIZ.DLL is a third-party, open-source replacement that should work with all real LedWiz units.  What's the vintage of your LedWiz?

 

 

Question Mike : does your version of DOF includes fixes for modulated solenoids ?

I used to use DJRobX's DOF for modulated flashers tables  ;)

 

No - we both forked versions based on SwissLizard's last working version (i..e, the last official release).  His fork doesn't have my code and my fork doesn't have his code.  My code is published on GitHub, but I don't think DJRobX has published his source updates anywhere, so I can't merge them.  You might ask him to either publish his source, in which case I could merge his updates into my version, or do a build based on my published GitHub fork.  Hopefully SwissLizard will eventually merge both of our updates into the official base version, but he's been off the radar for a while (busy with his day job), so it might be a while before that happens.



#269 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 05 January 2017 - 08:24 PM

I bought my Ledwiz in august 2015.

Regarding DOF, there's also a build by Westworld adding new features like better directb2s files detection.

I'll talk about all that to DJRobX, if we can make things merge together it would be great, many exiting things are happening lately and it becomes hard to be up-to-date and get everything runs smooth :)

++

Edited by shadowshd, 05 January 2017 - 08:25 PM.


#270 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 05 January 2017 - 09:11 PM

I bought my Ledwiz in august 2015.

 

Maybe they changed the USB interface slightly in the newer firmware.  The open-source DLL is very specific about matching the USB interface descriptor.  I'll see if I can put together a diagnostic program you can run to get the USB descriptor your device is using.



#271 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 06 January 2017 - 07:31 AM

Thanks Mike.

 

If you need testing don't hesitate ;)

 

++



#272 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 07 January 2017 - 07:51 PM

 

I bought my Ledwiz in august 2015.

 

Maybe they changed the USB interface slightly in the newer firmware.  The open-source DLL is very specific about matching the USB interface descriptor.  I'll see if I can put together a diagnostic program you can run to get the USB descriptor your device is using.

 

Shadowshd - here's a test program you can run to see the relevant details in your LedWiz's USB descriptor:

 

http://mjrnet.org/pi...edWizFinder.zip

 

Unzip it, open a DOS box (Start menu -> Run -> CMD.EXE), then run the EXE (LedWizFinder.exe).  It'll list the USB interfaces matching the LedWiz product/vendor ID and show the two data points that the LEDWIZ.DLL replacement uses to decide whether an interface is an LedWiz or not.  The filter condition the DLL uses is link collection nodes = 1 and output report length = 9.  If you see different values, that would explain why the new LEDWIZ.DLL is ignoring your device.  Give it a try and let me know what you find.



#273 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 08 January 2017 - 09:56 AM

Here are the results Mike :

 

Pinscape Controller

  Vendor ID FAFA
  Product ID 00F7
  Link collection nodes: 1
  Output report length: 9
 
LED-Wiz
  Vendor ID FAFA
  Product ID 00F0
  Link collection nodes: 1
  Output report length: 9
 
I have the latest Pinscape firmware 2017-01-04-1843.
 
 
EDIT :
With Shifted button (and Pinscape Controller seen as a keyboard device), I've got this :
 
Pinscape Controller
  Vendor ID FAFA
  Product ID 00F7
  Link collection nodes: 1
  Output report length: 9
 
LED-Wiz
  Vendor ID FAFA
  Product ID 00F0
  Link collection nodes: 1
  Output report length: 9
 
Pinscape Controller
  Vendor ID FAFA
  Product ID 00F7
  Link collection nodes: 1
  Output report length: 0
 
Thanks ;)
 
++

Edited by shadowshd, 08 January 2017 - 10:00 AM.


#274 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 09 January 2017 - 06:25 PM

 

Here are the results Mike :

 

LED-Wiz

  Vendor ID FAFA
  Product ID 00F0
  Link collection nodes: 1
  Output report length: 9

 

Those are right results - the exact values that the replacement DLL looks for.   It should be finding it.  

When you run the test program, does it see Pinscape as LedWiz #8?

 

Try scanning your entire hard disk for LEDWIZ.DLL.  There might be multiple copies.  Delete every copy you find in every directory (backing up first if you want, or at least noting the location).  Now install just one copy of the replacement version.  For starters you can put it in the directory containing the LedWiz tester program you're using.



#275 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 11 January 2017 - 08:12 AM

Hi Mike,

 

So I removed every ledwiz.dll I could find except the one along with SimpleLEDTest.exe, part of LEDBlinky.

 

With the original 7 kb ledwiz.dll, SimpleLEDTest sees Ledwiz-1 (my genuine Ledwiz board) and Ledwiz-8 (my Pinscape controller).

With LWClone, only my Ledwiz-8 is seen.

 

Thanks and have a nice day ;)

 

++



#276 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 12 January 2017 - 10:14 PM

So I removed every ledwiz.dll I could find except the one along with SimpleLEDTest.exe, part of LEDBlinky.

 

With the original 7 kb ledwiz.dll, SimpleLEDTest sees Ledwiz-1 (my genuine Ledwiz board) and Ledwiz-8 (my Pinscape controller).

With LWClone, only my Ledwiz-8 is seen.

 

I think I've tracked down what's going on.  I was able to get SimpleLedTest running on my machine and reproduce a similar problem.  Actually, the reverse of your problem: on my machine, it would only see my real LedWiz and not my Pinscape unit.  

 

I investigated it a bit and traced it to some differences in the behavior of the emulation DLL vs the original.  The emulation DLL was faithfully implementing the documented interface, but unfortunately the interface is really poorly specified.  SimpleLedTest seems to have a dependency on the exact way that the original sets up some internal data structures.  This is the sort of thing that isn't supposed to happen across a DLL interface, but in practice it often does, because DLL designers don't specify things well enough and client developers count on behavior quirks they shouldn't expect to be stable across versions.  Anyway, in this case I was able to infer the particular quirk/bug that SimpleLedTest was relying on, and change the emulation DLL to behave the same odd way.  That seems to fix it on my machine; it's properly discovering all of the devices now with the replacement DLL in place.  

 

I've posted the new version.  Give it a try and let me know if it works for you.

 

http://mjrnet.org/pi...ll-updates.html


Edited by mjr, 12 January 2017 - 10:17 PM.


#277 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 13 January 2017 - 08:04 AM

Hi Mike,

 

The new build is working good with SimpleLEDTest as well as with DJRobX's DOF (the previous LWClone was making my button LEDs acting randomly, now with new release they work as before).

 

I have noticed another issue between Pinscape firmware 2016-06-14-1938 and 2017-01-04-1843 : if you remember, I had an issue with the plunger going up and down 2 times instead of one time.

With latest firmware, it seems that my plunger has lost some energy : the ball isn't pushed with as much "force" as with firmware 1938.

 

I've just reverted back to firmware 1938 and played the same tables than with latest firmware and the ball is pushed with enough force to go to the top of the playfield.

 

I'm saying it's a firmware related issue but I may be wrong ?

 

Thanks :)

 

++



#278 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 13 January 2017 - 07:26 PM

The new build is working good with SimpleLEDTest as well as with DJRobX's DOF (the previous LWClone was making my button LEDs acting randomly, now with new release they work as before).

 

This version of the DLL specifically accommodates the timing bugs in the real LedWiz units, which was probably responsible for the problem in DOF.  That would explain why the new DLL solves it.  The original DLL from the manufacturer (strangely) doesn't do this; it leaves it up to the client software (like DOF) to make sure it's not sending messages too quickly.  DOF has its own timing code for this (the "minimum LedWiz delay time" parameter in the global settings), but as I think I mentioned, the latest official DOF source code (and thus DJRobX's version) seems to be ignoring it.

 

 

I have noticed another issue between Pinscape firmware 2016-06-14-1938 and 2017-01-04-1843 : if you remember, I had an issue with the plunger going up and down 2 times instead of one time.

With latest firmware, it seems that my plunger has lost some energy : the ball isn't pushed with as much "force" as with firmware 1938.

 

I did make a couple of small changes to the sensor reader code, but I wouldn't expect this effect and I haven't seen it myself.   A couple of questions:

 

1.  Is the plunger at least visibly tracking correctly (on-screen)?

 

2.  If you could give me the exact version number of VP where you're seeing it and one or two example games (download links, ideally, so I have the exact same version you're using), I'll see if I can reproduce it on my machine.  It could be an interaction with VP, so it would help if I'm looking at exactly the same setup you're using.



#279 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 13 January 2017 - 08:22 PM

I'll report as soon as possible Mike.

For now all I can say is on-screen tracking is normal and correct under Pinscape Config Tool.
There's no difference.

++

#280 shadowshd

shadowshd

    Enthusiast

  • Members
  • PipPipPip
  • 153 posts
  • Location:Le Bouscat

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 17 January 2017 - 03:05 PM

Hi Mike,
 
As we discussed in PM, here's two videos showing the issue I have with latest firmware regarding "weak" plunger :
 
1) Plunger with oldest firmware :
 
http://www.dailymoti...m/video/x58tb5x
 
2) Plunger with newest firmware :

 

http://www.dailymoti...m/video/x58tb5z
 
I will test with test-builds you sent me and report ASAP ;)
 
Thanks.
 
++


Edited by shadowshd, 17 January 2017 - 03:07 PM.






Also tagged with one or more of these keywords: pinscape