Jump to content



Photo
* * * * * 9 votes

Pinscape Controller software V2

pinscape

  • Please log in to reply
975 replies to this topic

#241 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 30 December 2016 - 09:09 PM

Cool, thanks!!

#242 shadowshd

shadowshd

    Enthusiast

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

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 31 December 2016 - 08:19 AM

Still doesn't work for me :

 

- When I take a look in Windows Pinscape Controller properties, the shifted button (whatever its number is) reacts only when I release the button.

I mean if push the button and let it pushed, Windows doesn't see a button press until I release the button.

But it is surely normal for a shift function.

 

- PinVol doesn't detect at all my button press when I want to set Volume Up and Volume Down by letting Extra Ball pushed and pressing at the same time another button.

 

Here's my Pinscape settings :

 

captur26.png

 

On this screenshot I've tried with Left flipper (button 1 = volume -), left magna (button 3 = volume +) and Coin (button 5 = Night mode).

 

Thanks and have a nice day ;)

 

++



#243 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 31 December 2016 - 09:49 AM

I have a (maybe obscure..) feature request:

 

Problem: the coin input of Visual Pinball and especially MAME games is sensitive to duration of button presses. When you push a coin button quickly during VP play, only a single credit is registered (although one can hear multiple coin sounds).  For some MAME ROMs its even worse - the duration of the coin pulse is checked to verify that only the original coin acceptor can add credits. Some ROMs even trigger a coin error when the coin button is pushed too quickly.

 

I use a programmable coin acceptor (similar to the CH-926 type) which sends pulses describing the value of the detected coin (my acceptor sends 1 pulse for 5ct, 2 pulses for 10ct, 4 pulses for 20ct). Even in "slow" mode (100ms), it is not possible to use this correctly in VP and some MAME ROMs (VP detects only a single coin input for every coin type, some MAME ROMs don't even detect a coin input).

 

The Pinscape firmware needs to have a "proxy" functionality for specific inputs - i.e. the firmware just counts input pulses and recreates them using a configurable delay/duration.

 

I tried to fake this behavior using AutoHotKey script (AHK reacts to joystick button and sends the '5' key with a configured duration) - but unfortunately, MAME needs to be recompiled to support direct input from AHK scripts :-(



#244 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 31 December 2016 - 07:51 PM

- When I take a look in Windows Pinscape Controller properties, the shifted button (whatever its number is) reacts only when I release the button.

I mean if push the button and let it pushed, Windows doesn't see a button press until I release the button.

But it is surely normal for a shift function.

 

That's working like it should, actually.

 

When you initially press the Shift button, the software doesn't know yet if you're going to press another button in combination.  If you do press another button, the Shift button is only the Shift button and won't send a keystroke to the PC.  If you don't press another button, though, the Shift button has its normal meaning and sends its keystroke.  

 

How do we know if you're going to press another button?  By waiting and finding out if you do.

 

- If you press the Shift button, hold it down for any length of time, and release it without pressing having pressed any other button in the meantime, it sends its normal key on release.

 

- If you press the Shift button, and while you're holding it down, you press any other button with a shifted meaning, the Shift key does not send any key on release.

 

I hope that makes sense!

 

 

- PinVol doesn't detect at all my button press when I want to set Volume Up and Volume Down by letting Extra Ball pushed and pressing at the same time another button.

 

Your firmware config screen looks like what I'd expect.  Please also post your PinVol config screen so I can see how you have the keys set up there.



#245 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 31 December 2016 - 08:07 PM

I have a (maybe obscure..) feature request:

 

Problem: the coin input of Visual Pinball and especially MAME games is sensitive to duration of button presses. When you push a coin button quickly during VP play, only a single credit is registered (although one can hear multiple coin sounds).  For some MAME ROMs its even worse - the duration of the coin pulse is checked to verify that only the original coin acceptor can add credits. Some ROMs even trigger a coin error when the coin button is pushed too quickly.

 

I use a programmable coin acceptor (similar to the CH-926 type) which sends pulses describing the value of the detected coin (my acceptor sends 1 pulse for 5ct, 2 pulses for 10ct, 4 pulses for 20ct). Even in "slow" mode (100ms), it is not possible to use this correctly in VP and some MAME ROMs (VP detects only a single coin input for every coin type, some MAME ROMs don't even detect a coin input).

 

The Pinscape firmware needs to have a "proxy" functionality for specific inputs - i.e. the firmware just counts input pulses and recreates them using a configurable delay/duration.

 

I tried to fake this behavior using AutoHotKey script (AHK reacts to joystick button and sends the '5' key with a configured duration) - but unfortunately, MAME needs to be recompiled to support direct input from AHK scripts :-(

 

Something like that would be doable, but I think you're right, it would be a very obscure feature.  If there were a feature like this, can you think of any other use case for it?  How would it generalize to the other use cases?  What would the configuration section for it in the config tool look like?

 

My initial take on it is that it might be better in this case not to try to make it into a general-purpose feature, since it seems like that would be incredibly complex in the UI, and no one else would find any use for it.  Maybe just come up with the exact special handling you need for this one coin mech.


Edited by mjr, 31 December 2016 - 08:10 PM.


#246 shadowshd

shadowshd

    Enthusiast

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

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 01 January 2017 - 10:16 AM

Thanks Mike and happy new year ;)
 
Yes that makes sense and is an expected behavior for a shift key.
 
Here's my PinVol settings :
 
pinvol10.png
 
 
Note that I do have physical Volume keys on my keyboard.
 
 
I have noticed that in Config Tool I can't remove the night mode shift function : if I want to set it as No PC Input, it stays on Night Mode.
 
Also I have an issue with my KL or my CCD (TSL1410R) and firmware 2246 that gives what I will call a "two times virtual plunger up and down" when I pull my plunger, as if I was pulling it two times but only one in reality.
 
With 2246, I've got a huge processing time (16 ms) :
 
captur28.png
 
In VP 9, PM5 or VPX the plunger moves up and down brutally, sometimes by itself.
I've done a new Windows calibration and got the same thing.
 
 
I then reverted back to firmware 1938 and got a more normal processing time :
 
ps224610.png
 
And everything returns to normal in Visual Pinball ;)
 
Thanks :)
 
++

Edited by shadowshd, 01 January 2017 - 11:27 AM.


#247 melgo

melgo

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: France

  • Favorite Pinball: Pincab

Posted 02 January 2017 - 10:26 AM


 
USB stability:  This version has yet more fixes for yet more USB bugs.  Hopefully I'll find the last one someday and it'll be perfect.  But there always seems to be one more USB bug, so I also added a new "last resort" feature:  you can now program the device (in the Settings page) to automatically reboot itself if the USB connection gets broken and can't be restored within a given time limit.  This will hopefully serve as a bulletproof workaround for any remaining intractable connection problems anyone has.  Of course, this sort of kludge has a downside, which is that the device could mistakenly think it needs to reboot itself when it really doesn't, so you can turn it off entirely if you don't need it or it becomes troublesome in its own right.
 

 

 

Hi, I have an issue with USB, not sure if this is what you describe above.

 

When my computer boot the KL25Z is not detected (slow green blinking). When I unplug / plug it again windows detects the Pinscape Joystick, and from now on everything is working well.

 

I updated firmware to the last one (28/12); updated USB drivers (Intel Chipset)

 

I set the USB Settings to reboot after 10s. -> Maybe I should try with longer delay ? a Bios setting? (Usb legacy support)

 

EDIT :

I have 6 USB ports (2 with a Microsoft driver; 4 using an Intel Drivers) and same behaviour whatever the port.

 

It seems  like the Pinscape is not resetting (always blinking green)

 

 

 

Thanks for your inputs !


Edited by melgo, 02 January 2017 - 04:52 PM.


#248 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 02 January 2017 - 07:35 PM

Here's my PinVol settings :

 

Everything looks okay there, so I don't have any guesses about what's wrong.  You might try debugging by simplifying the setup as much as possible:

 

1.  Use regular buttons instead of shifted buttons in your Pinscape controller setup.

 

2.  Use F1 and F2 instead of Volume Up and Volume Down.  If that still doesn't work, try the A and B keys instead.

 

I'm not saying you should use that as your permanent setup.  Just for testing purposes to see if you can get any keys to respond.



#249 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 02 January 2017 - 08:16 PM

Hi, I have an issue with USB, not sure if this is what you describe above.

 

When my computer boot the KL25Z is not detected (slow green blinking). When I unplug / plug it again windows detects the Pinscape Joystick, and from now on everything is working well.

 

I updated firmware to the last one (28/12); updated USB drivers (Intel Chipset)

 

I set the USB Settings to reboot after 10s. -> Maybe I should try with longer delay ? a Bios setting? (Usb legacy support)

 

EDIT :

I have 6 USB ports (2 with a Microsoft driver; 4 using an Intel Drivers) and same behaviour whatever the port.

 

It seems  like the Pinscape is not resetting (always blinking green)

 

What's the exact flash pattern you're seeing (times between blinks, duration of blinks)?  I'm confused here because "blinking green" isn't one of the flash codes.  Here's the full list - do any of these match what you're seeing?

 

//    short yellow flash = waiting to connect
//
//    short red flash = the connection is suspended (the host is in sleep
//        or suspend mode, the USB cable is unplugged after a connection
//        has been established)
//
//    two short red flashes = connection lost (the device should immediately
//        go back to short-yellow "waiting to reconnect" mode when a connection
//        is lost, so this display shouldn't normally appear)
//
//    long red/yellow = USB connection problem.  The device still has a USB
//        connection to the host (or so it appears to the device), but data 
//        transmissions are failing.
//
//    long yellow/green = everything's working, but the plunger hasn't
//        been calibrated.  Follow the calibration procedure described in
//        the project documentation.  This flash mode won't appear if there's
//        no plunger sensor configured.
//
//    alternating blue/green = everything's working normally, and plunger
//        calibration has been completed (or there's no plunger attached)
//
//    fast red/purple = out of memory.  The controller halts and displays
//        this diagnostic code until you manually reset it.  If this happens,
//        it's probably because the configuration is too complex, in which
//        case the same error will occur after the reset.  If it's stuck
//        in this cycle, you'll have to restore the default configuration
//        by re-installing the controller software (the Pinscape .bin file).
 
If what you're seeing is actually either the slow blue/green or yellow/green, the KL25Z thinks it's connected, which is why it's not resetting itself.  It'll only reset if it senses a USB disconnect.  If the KL25Z thinks it's connected but Windows doesn't, I think you're run into something new that I've never seen - as far as I've seen, the connection gets dropped on both ends when there's a problem.


#250 shadowshd

shadowshd

    Enthusiast

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

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 02 January 2017 - 08:20 PM

If I don't shift buttons it does work, left flipper and left magna lower and raise volume.

Do we need to have the latest Pinscape firmware for PinVol to work ?

I have a plunger issue with 2246 firmware :|

Thanks Mike ;)

++

#251 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 02 January 2017 - 09:11 PM

If I don't shift buttons it does work, left flipper and left magna lower and raise volume.

Do we need to have the latest Pinscape firmware for PinVol to work ?

I have a plunger issue with 2246 firmware :|

 

You do need the latest firmware for the shift buttons to work.  PinVol itself doesn't care about the firmware version, so if you're okay using un-shifted buttons, you can stick with the older firmware.

 

I saw your note about the plunger sensor problem.  I haven't had a chance to look into it yet, but I will.



#252 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 02 January 2017 - 11:32 PM

I have noticed that in Config Tool I can't remove the night mode shift function : if I want to set it as No PC Input, it stays on Night Mode.

 

To turn off Night Mode for a button, just click on the Night mode icon again in the key selector box.  It acts as a toggle.

 

The "No PC Input" icon means literally "No PC Input".  It just removes any keyboard or joystick button assignment.  Night Mode isn't a type of PC input, so the No PC Input button doesn't affect it.  That might be confusing now that you mention it; I think I'll change it to simply clear the button's assignment entirely as you're expecting it to do.



#253 shadowshd

shadowshd

    Enthusiast

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

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 03 January 2017 - 06:38 AM

Thank you Mike ;)

 

++



#254 melgo

melgo

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: France

  • Favorite Pinball: Pincab

Posted 03 January 2017 - 05:50 PM

Hi Mike,

 

Thanks for your answer.

 

It's actually "slow yellow" which means the KL25z is waiting.

 

 

Without disconnecting it physically, I have no way to connect the KL25 after a boot : nothing in periphericals, no error, nothing in event viewer...

 

Once I disconnect and plug it again it works perfectly !

 

I also have a wifi usb key which works fine, and able to connect from boot.



#255 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 03 January 2017 - 07:09 PM

It's actually "slow yellow" which means the KL25z is waiting.

 

Without disconnecting it physically, I have no way to connect the KL25 after a boot : nothing in periphericals, no error, nothing in event viewer...

Once I disconnect and plug it again it works perfectly !

 

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.  But apparently Windows isn't accepting the connection, so it just sits there and waits forever.

 

What happens if you manually press and release the Reset button on the KL25Z while it's in this state, without disconnecting any cables?



#256 melgo

melgo

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: France

  • Favorite Pinball: Pincab

Posted 03 January 2017 - 07:30 PM

OMG it works !

 

I press the reset button and Windows detects it automatically.

 

 

 

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.



#257 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 03 January 2017 - 08:08 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.



#258 melgo

melgo

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: France

  • Favorite Pinball: Pincab

Posted 03 January 2017 - 08:20 PM

awesome Mike Thanks ! Can't wait :)



#259 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 04 January 2017 - 12:26 AM

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.  

 

Okay, done - try it out and see if that helps.  This version should also fix the timing problems you were having with the optical sensor.



#260 shadowshd

shadowshd

    Enthusiast

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

  • Flag: France

  • Favorite Pinball: Cirqus Voltaire; Medieval Madness

Posted 04 January 2017 - 06:10 AM

Thanks Mike, will test this morning and report ;)
 
 
Edit : plunger now works perfectly, but I still cannot set PinVol with shifted button : PinVol doesn't detect my button presses.
 
 

1.  Use regular buttons instead of shifted buttons in your Pinscape controller setup.


Regular buttons settings work.
 
 

2.  Use F1 and F2 instead of Volume Up and Volume Down.  If that still doesn't work, try the A and B keys instead.

 
Doesn't work with Extra Ball as Shift button.
 
I've tried setting another button as Shift to no avail.
 
PinVol always running without interruption when I change settings in Pinscape Config Tool, DLLs and exe not blocked.
 
My PinVol log :
 

PinVol starting up at 04/01/2017 09:16:51
Joystick devices discovered:
   #1 Pinscape Controller (32 buttons)
Hotkeys assigned:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: VolumeUp
  Table volume down: VolumeDown
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: F1
  Table volume down: VolumeDown
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: F1
  Table volume down: F2
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: Joystick button 7
  Table volume down: F2
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: A
  Table volume down: F2
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: A
  Table volume down: B
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: VolumeMute
  Table volume down: B
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: VolumeUp
  Table volume down: B
Hotkeys changed:
  Global volume up: Windows+F10
  Global volume down: Windows+F9
  Night mode toggle:  Windows+F7
  Mute toggle: Windows+F8
  Table volume up: VolumeUp
  Table volume down: VolumeDown

I've set Night Mode to Extra Ball + Coin buttons and it does work.
 
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.
 
I need my KL to be seen as a keyboard by Windows and not a game controller for PinVol to work.
 
Seems logical finally because we emulate keyboard key presses ;)
 
 

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.

 

++


Edited by shadowshd, 04 January 2017 - 11:47 AM.






Also tagged with one or more of these keywords: pinscape