Jump to content



Photo
* * * * * 7 votes

Pinscape expansion board support thread


  • Please log in to reply
1103 replies to this topic

#21 NobodyYouKnow

NobodyYouKnow

    Hobbyist

  • Platinum Supporter
  • 48 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 17 March 2016 - 03:05 AM

I will apply the above changes to the clock speeds. I found "SPI_SPEED" straight away. I am still digging for "GSCLKC_SPEED". I'd take a hint on which module it is in. :)

 

I am pretty sure my MOSFET board problem is actually a defective header under the KL25Z. I can wiggle and shift the KL25Z around and it will work - for a bit. (Man, those TLCs are really twitchy.) Identifying and replacing the header is my next project. Ugh - I hate doing board re-work. I am just not outfitted for it. For those out there as prone to soldering faux pas as I am, go and buy a small Chip-Quik set. It is a low-melt alloy that significantly lowers the melting point of the solder already down. It sucks all the solder up into a puddle, to be wiped off with a Q-Tip.

 

I have done some pretty thorough bench testing now, stopping just short of applying real-world loads on the various channels. I'll get into that sometime next week. I am anxious to see how much heat the MOSFETs produce under a load. The spacing between boards is pretty tight taking the tall MOSFETs into account. I may need to move to 7/8" or even 1" spacers to keep the sparks out and the magic blue smoke in.

 

Cheers!



#22 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 17 March 2016 - 04:07 AM

I've made some progress too this evening... well behind NobodyYouKnow, but still moving along just the same :)

 

I've verified all he buttons are working, but only wired up the 8 I plan to use in my cabinet into the header so that is done. I then moved onto the small led's and made some progress there. I'm not sure if it is me, my Groovygamer Helio 9 push buttons, the LEDBlinky SimpleLEDTest.ext or the board, but here is what is going on:

 

I wire up the Red wire on my helio the 1R, the Green wire to the 1G and the Blue wire to 1B... the white is over on the +5 and everything lit up perfectly using the SimpleLEDTest.exe on ports 17,18,19... I darn near woke up my wife in excitement :). Then I moved on to 2R, 2G, 2B, mapping the same red, green and blue wires. This time the ports that lit up the lights were 20, 22 and 23, it skipped port 21. Moving on to 3R, 3G, 3B, those mapped to 24, 25, 26 jumping over 22 and 23. 4R, 4G, 4B a.nd 5R, RG and 5B all fell in line at 27, 28, 29, 30, 31 and 32. Was that all to be expected?

 

I actually don't have any RGB Flashers... I meant to order those and some heatsinks as well as some strobes but I haven't yet. Anyone have any ebay links or aliexpress links where they got theirs for a good price?



#23 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 March 2016 - 04:33 AM

I will apply the above changes to the clock speeds. I found "SPI_SPEED" straight away. I am still digging for "GSCLKC_SPEED". I'd take a hint on which module it is in. :)

 

Sorry, that was a typo - that should have been GSCLK_SPEED.  It's in the same file (TLC5940/TLC5940.h) - all the TLC5940 stuff is in that one file.

 

 

I am pretty sure my MOSFET board problem is actually a defective header under the KL25Z. I can wiggle and shift the KL25Z around and it will work - for a bit. (Man, those TLCs are really twitchy.) I

 

That sounds like a good bet. If *I* had done the soldering, I'd triple-check the solder joints on both sides of the suspicious header (the pin connections to the KL25Z and the socket connections to the interface board, I mean) before starting to suspect the header.  But that's just because my cold solder joint rate seems ridiculously high.

 

 

I have done some pretty thorough bench testing now, stopping just short of applying real-world loads on the various channels. I'll get into that sometime next week. I am anxious to see how much heat the MOSFETs produce under a load. The spacing between boards is pretty tight taking the tall MOSFETs into account. I may need to move to 7/8" or even 1" spacers to keep the sparks out and the magic blue smoke in.

 

I'll be interested to hear your results!  My experience with these MOSFETs so far has been that they stay cool to the touch under the real loads I've tested, in the 4A range.  I definitely don't think we'll need a fan or any fancy air flow engineering, but certainly it's can't hurt to have a little free air space above the heat sink fins.



#24 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 March 2016 - 04:45 AM

I've verified all he buttons are working, but only wired up the 8 I plan to use in my cabinet into the header so that is done. I then moved onto the small led's and made some progress there. I'm not sure if it is me, my Groovygamer Helio 9 push buttons, the LEDBlinky SimpleLEDTest.ext or the board, but here is what is going on:

 

I wire up the Red wire on my helio the 1R, the Green wire to the 1G and the Blue wire to 1B... the white is over on the +5 and everything lit up perfectly using the SimpleLEDTest.exe on ports 17,18,19... I darn near woke up my wife in excitement :). Then I moved on to 2R, 2G, 2B, mapping the same red, green and blue wires. This time the ports that lit up the lights were 20, 22 and 23, it skipped port 21. Moving on to 3R, 3G, 3B, those mapped to 24, 25, 26 jumping over 22 and 23. 4R, 4G, 4B a.nd 5R, RG and 5B all fell in line at 27, 28, 29, 30, 31 and 32. Was that all to be expected?

 

That sounds promising.  I don't know what's going on with the skipped ports, though - they're wired sequentially to the physical TLC5940 outputs, so normally they'd all be sequential in the overall port numbering.  But the ordering can be changed to whatever you want in the software via config.h.  You might want to double-check that your config.h to see if there's anything out of order in the port assignments array.



#25 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 17 March 2016 - 05:59 PM

I'm looking at these RGB Lights for my flashers:

 

http://www.aliexpres...2258313426.html

 

Reading the schematic to the best of my abilities it tells me that pin 15 has 5V coming to it... so that is too much for the the RGB's, different colours have different specs, do I need wire resistors in line to lower the voltage?



#26 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 March 2016 - 06:30 PM

I'm looking at these RGB Lights for my flashers:

http://www.aliexpres...2258313426.html

 

Those look like the same type I use, and the price looks reasonable.

 

 

Reading the schematic to the best of my abilities it tells me that pin 15 has 5V coming to it... so that is too much for the the RGB's, different colours have different specs, do I need wire resistors in line to lower the voltage?

 

In general, you always need a resistor for an LED, regardless of the voltage.  (The exception is when you have a power supply that limits the current.  The flipper button/small LED outputs on the main board work this way, so you don't need resistors for those if your LEDs match the current level selected via the "R5" resistor.  And some packaged LED lights don't need extra resistors because they have appropriate resistors built in - that's the case with your Helios lights, I think.)

 

LEDs are literally diodes (just like the name says), and the basic thing that diodes do is conduct current in one direction with very little resistance.  They're basically one-way streets for electrons.  They're semiconductors, though, not perfect conductors, so there's some non-trivial electrical loss going through them.  But that loss isn't linear resistance like with a resistor.  The loss is essentially a fixed loss of voltage no matter how much current is going through, rather than a loss that increases with current.  That's what the "forward voltage" rating for an LED means.

 

So when you see a "forward voltage" for an LED, it doesn't mean that you need exactly this voltage for the supply.  It's basically a minimum; that's how much voltage is going to be dropped going through the LED.  The supply voltage can be any voltage *higher* than this.  So for these RGB diodes, 5V is a good supply voltage - it's higher than the forward voltage for all three colors.  In fact, 5V is almost always a good supply voltage for almost any LED.

 

Now to the resistors.  There's a formula for figuring the resistance you need, but I'm always lazy and just use one of the online calculators.  The one I like is here:

 

http://led.linear1.org/1led.wiz

 

Plug in 5V for the supply voltage, and the forward voltage and forward current numbers for your particular LED, and it'll give you the ohms and watts you need for the resistors.  

 

Pay attention to the wattage that the calculator reports.  These star LEDs are relatively high-current, so they need fairly high-wattage resistors, in the 1W to 2W range.  The common resistors you usually see are only 1/4 W.  The bigger wattages aren't hard to find (the electronics stores like Mouser let you search for resistors by ohms and watts), but you do have to look for them specifically since the vast majority for a given ohm size will be 1/4 or 1/2 W.  A bigger wattage rating than you need is always fine, by the way - if the calculator says you need 1W and all you can find are 2W, you're fine with the 2W.  Bigger wattage rating just means that the packaging is capable of handling more heat dissipation.


Edited by mjr, 17 March 2016 - 07:21 PM.


#27 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 18 March 2016 - 12:50 PM

Amazing knowledge mjr, thank you. I see the aliexpress page tells me the forward and voltage and current so that was pretty easy. I've ordered the RGB's, now I wait... 6 - 8 weeks :) I should have my solenoids first as I ordered those weeks ago, I imagine I'll have some questions about those when the time comes, but in the meantime off to order some resistors.



#28 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 20 March 2016 - 07:44 PM

mjr, I'm trying to get your DOF tool running and I'm getting an error I think I should be get past, but can't seem to. I've added my DOF directory to my path, installed the latest R3 version I could find but the error I'm getting is:

 

C:\DOF\Tester>DirectOutputTest

 
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'DirectOutput, Version=0.8.5852.20176, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.   at DirectOutputTest.Program.Main(String[] args)
 
It is true, I don't have that version instsalled, my dll has this version: 0.9.5850.21660 and I have unlocked it. Any thoughts?


#29 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 21 March 2016 - 03:49 AM

 

mjr, I'm trying to get your DOF tool running and I'm getting an error I think I should be get past, but can't seem to. I've added my DOF directory to my path, installed the latest R3 version I could find but the error I'm getting is:

 

C:\DOF\Tester>DirectOutputTest

 
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'DirectOutput, Version=0.8.5852.20176, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.   at DirectOutputTest.Program.Main(String[] args)
 
It is true, I don't have that version instsalled, my dll has this version: 0.9.5850.21660 and I have unlocked it. Any thoughts?

 

 

I think it should work with a newer version - and it looks like yours is newer, judging by the version numbers - but I'll have to try it to be sure.  Have you tried copying the DLL directly to the same folder containing DirectOutputTest.exe?  That should eliminate any path complications.



#30 kruuth

kruuth

    Enthusiast

  • Members
  • PipPipPip
  • 316 posts

  • Flag: United States of America

  • Favorite Pinball: Pinbot

Posted 21 March 2016 - 01:26 PM

I have pinscape going, however, the configuration tool keeps crashing when I try to configure it.  When I go to the controller in windows, it looks like it's at 50%.  It also doesn't seem to work in visual pinball.  What should I do?



#31 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 21 March 2016 - 05:17 PM

I have pinscape going, however, the configuration tool keeps crashing when I try to configure it.  When I go to the controller in windows, it looks like it's at 50%.  It also doesn't seem to work in visual pinball.  What should I do?

 

Sorry, I don't have any guesses from that symptom - it doesn't sound like anything I've run into.  I think you'll have to build it from the source code so that you can break into it in the debugger and find out where it's stuck.  



#32 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 21 March 2016 - 11:26 PM

 

 

mjr, I'm trying to get your DOF tool running and I'm getting an error I think I should be get past, but can't seem to. I've added my DOF directory to my path, installed the latest R3 version I could find but the error I'm getting is:

 

C:\DOF\Tester>DirectOutputTest

 
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'DirectOutput, Version=0.8.5852.20176, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.   at DirectOutputTest.Program.Main(String[] args)
 
It is true, I don't have that version instsalled, my dll has this version: 0.9.5850.21660 and I have unlocked it. Any thoughts?

 

 

I think it should work with a newer version - and it looks like yours is newer, judging by the version numbers - but I'll have to try it to be sure.  Have you tried copying the DLL directly to the same folder containing DirectOutputTest.exe?  That should eliminate any path complications.

 

 

Ugh... I should have thought of that! Worked like a charm.



#33 kruuth

kruuth

    Enthusiast

  • Members
  • PipPipPip
  • 316 posts

  • Flag: United States of America

  • Favorite Pinball: Pinbot

Posted 24 March 2016 - 05:15 PM

How do I get the plunger to work in visual pinball?  That's my big problem.



#34 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 24 March 2016 - 06:03 PM

How do I get the plunger to work in visual pinball?  That's my big problem.

 

There's are several things you have to do - did you go through the Build Guide section on this?  That should cover all the steps.



#35 kruuth

kruuth

    Enthusiast

  • Members
  • PipPipPip
  • 316 posts

  • Flag: United States of America

  • Favorite Pinball: Pinbot

Posted 26 March 2016 - 05:08 PM

Yes I followed it.  I don't know if I enabled in visual pinball.  Did I do something wrong there?



#36 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 26 March 2016 - 05:59 PM

Yes I followed it.  I don't know if I enabled in visual pinball.  Did I do something wrong there?

 

Sorry, I don't understand the question - could you be more specific?



#37 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 27 March 2016 - 03:31 AM

My Solenoids have come in so time to wire up the Power Board... that went well... except I am missing one LTV847 from the one I chewed up removing from the first board, so I'm on hold until that comes in, hopefully early next week.

 

In the meantime as I review my remaining plastic bags, I appear to have accumulated some 'extra' parts. I believe some may be TV related and another perhaps the resistor I could have put into R5 rather than the specific one I am using. Could you confirm I haven't missed something by have 5 extra 680ohm 1% 100PPM resistors, 1 x 1 watt 39ohm 5% and 1 x 279hm 3.5 50PM resistor.

 

The integration with DOF is really lacking fun, I've read the DOF page many times and still haven't seemed to wrap my head around it. I've only got my 4 flipper buttons wired up with RGB lights, but they are working fine with your DOF test utility. When trying to generate my own directoutputconfig50.ini from the online tool I'm Ports 1 and 2 labeled as Left Flipper and 3 and 4 labeled as Right Flipper, 6 and 7 as Start and Coin up. Then down further I've got Ports 17, 18, 19 and 20, 21, 22 and 24, 25, 26 and 27, 28, 29 labelled as RGB Flippers. 



#38 kruuth

kruuth

    Enthusiast

  • Members
  • PipPipPip
  • 316 posts

  • Flag: United States of America

  • Favorite Pinball: Pinbot

Posted 27 March 2016 - 01:51 PM

Sorry MJR, I should have been clearer.

 

I have the controller built with the optical sensor, the buttons themselves work fine, but I can't get the plunger itself to work.  I can test it, and it does work in the joy.cpl tester, but it's always at 50% and not at 100%.  When I go into a visual pinball table, the plunger doesn't seem to work, so I have to use the "launch ball" button instead.  I've configured the sensor to work as far as I can tell, and when I go into the configuration tool, I can see the light meter work, but then it will crash sometimes.



#39 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 27 March 2016 - 08:46 PM



In the meantime as I review my remaining plastic bags, I appear to have accumulated some 'extra' parts. I believe some may be TV related and another perhaps the resistor I could have put into R5 rather than the specific one I am using. Could you confirm I haven't missed something by have 5 extra 680ohm 1% 100PPM resistors, 1 x 1 watt 39ohm 5% and 1 x 279hm 3.5 50PM resistor.

 

I think the 680 ohm resistors were for your R5 on the main board, to set the current for your Helio9 LEDs.  If so you might have just ordered extras, or maybe Mouser threw in some extras accidentally - you should just need the one.  I don't see any other 680's anywhere in the three boards.  The 27 and 39 ohm resistors should be for the current-limiter for the IR LED in slot R11.  You just need one or the other of those - I guess I put both on the list since they're cheap (18 cents/15 cents), but you only need the 39 if you're going to use 1 IR LED, or the 27 if you're going to wire 2 of the IR LEDs in series.

 

 

 



The integration with DOF is really lacking fun, I've read the DOF page many times and still haven't seemed to wrap my head around it. I've only got my 4 flipper buttons wired up with RGB lights, but they are working fine with your DOF test utility. When trying to generate my own directoutputconfig50.ini from the online tool I'm Ports 1 and 2 labeled as Left Flipper and 3 and 4 labeled as Right Flipper, 6 and 7 as Start and Coin up. Then down further I've got Ports 17, 18, 19 and 20, 21, 22 and 24, 25, 26 and 27, 28, 29 labelled as RGB Flippers. 

 

If there's anything I can do to help with that, let me know.  It sounds like you're on the right track.  In case it's not clear (which it wasn't to me - I had to look at my setup just now to refresh my memory of what the terminology means), "Left Flipper" and "Right Flipper" are the noisemaker/feedback devices for the respective flippers - the solenoids or contactors - and "RGB Flippers" are the LED outputs for the lighted buttons.  (Then there's the *third* meaning for "flipper", for the wiring for the button inputs!  But at least that one isn't part of DOF.)

 

For the port numbering, you can arrange the mapping between port numbers and the physical pins on the boards any way you want by editing config.h.  When I get the new config tool finished (still working on it - still making good progress - still taking way longer than planned or expected :)) this will be a much easier and more interactive process that won't require editing source files, but with the current published version config.h is the way to do this.  

 

Looking at the file just now, I realized that it's laid out for one of my really early designs for the expansion board, when everything was on a single monolithic board.  The notation of the connections to the physical outputs is all wrong.  Here's an attempt at a fixed version that actually matches the final board physical layout and puts the ports in a good order for LedWiz compatibility:

    // The first 32 ports are LedWiz-compatible, so they're universally
    // accessible, even to older non-DOF software.  Attach the most common
    // devices to these ports.
    //
    // Ports 33 and up are not accessible to older non-DOF software, so put less
    // common devices on these outputs.  DOF-based software (such as Visual Pinball
    // and PinballX) can access ALL ports.
    //
 
    // RGB FLASHERS pin header on main board
    { 1, TLC_PORT },         // TLC port 1,  LW output 1  - Flasher 1 R
    { 2, TLC_PORT },         // TLC port 2,  LW output 2  - Flasher 1 G
    { 3, TLC_PORT },         // TLC port 3,  LW output 3  - Flasher 1 B
    { 4, TLC_PORT },         // TLC port 4,  LW output 4  - Flasher 2 R
    { 5, TLC_PORT },         // TLC port 5,  LW output 5  - Flasher 2 G
    { 6, TLC_PORT },         // TLC port 6,  LW output 6  - Flasher 2 B
    { 7, TLC_PORT },         // TLC port 7,  LW output 7  - Flasher 3 R
    { 8, TLC_PORT },         // TLC port 8,  LW output 8  - Flasher 3 G
    { 9, TLC_PORT },         // TLC port 9,  LW output 9  - Flasher 3 B
    { 10, TLC_PORT },        // TLC port 10, LW output 10 - Flasher 4 R
    { 11, TLC_PORT },        // TLC port 11, LW output 11 - Flasher 4 G
    { 12, TLC_PORT },        // TLC port 12, LW output 12 - Flasher 4 B
    { 13, TLC_PORT },        // TLC port 13, LW output 13 - Flasher 5 R
    { 14, TLC_PORT },        // TLC port 14, LW output 14 - Flasher 5 G
    { 15, TLC_PORT },        // TLC port 15, LW output 15 - Flasher 5 B
 
    // STROBE/REPLAY KNOCKER pin header on main board
    { 16, TLC_PORT },        // TLC port 16, LW output 16 - Strobe/Button light
    { PTC8, DIG_GPIO },      // PTC8,        LW output 17 - Replay Knocker
 
    // MOSFET POWER BOARD outputs pin header 1
    { 33, TLC_PORT },        // TLC port 33, LW output 18 - MOSFET board port 1
    { 34, TLC_PORT },        // TLC port 34, LW output 19 - MOSFET board port 2
    { 35, TLC_PORT },        // TLC port 35, LW output 20 - MOSFET board port 3
    { 36, TLC_PORT },        // TLC port 36, LW output 21 - MOSFET board port 4
    { 37, TLC_PORT },        // TLC port 37, LW output 22 - MOSFET board port 5
    { 38, TLC_PORT },        // TLC port 38, LW output 23 - MOSFET board port 6
    { 39, TLC_PORT },        // TLC port 39, LW output 24 - MOSFET board port 7
    { 40, TLC_PORT },        // TLC port 40, LW output 25 - MOSFET board port 8
    { 41, TLC_PORT },        // TLC port 41, LW output 26 - MOSFET board port 9
    { 42, TLC_PORT },        // TLC port 42, LW output 27 - MOSFET board port 10
    { 43, TLC_PORT },        // TLC port 43, LW output 28 - MOSFET board port 11
    { 44, TLC_PORT },        // TLC port 44, LW output 29 - MOSFET board port 12
    { 45, TLC_PORT },        // TLC port 45, LW output 30 - MOSFET board port 13
    { 46, TLC_PORT },        // TLC port 46, LW output 31 - MOSFET board port 14
    { 47, TLC_PORT },        // TLC port 47, LW output 32 - MOSFET board port 15
    { 48, TLC_PORT },        // TLC port 48, LW output 33 - MOSFET board port 16
 
    // MOSFET POWER BOARD outputs pin header 2
    { 49, TLC_PORT },        // TLC port 49, LW output 34 - MOSFET board port 17
    { 50, TLC_PORT },        // TLC port 50, LW output 35 - MOSFET board port 18
    { 51, TLC_PORT },        // TLC port 51, LW output 36 - MOSFET board port 19
    { 52, TLC_PORT },        // TLC port 52, LW output 37 - MOSFET board port 20
    { 53, TLC_PORT },        // TLC port 53, LW output 38 - MOSFET board port 21
    { 54, TLC_PORT },        // TLC port 54, LW output 39 - MOSFET board port 22
    { 55, TLC_PORT },        // TLC port 55, LW output 40 - MOSFET board port 23
    { 56, TLC_PORT },        // TLC port 56, LW output 41 - MOSFET board port 24
    { 57, TLC_PORT },        // TLC port 57, LW output 42 - MOSFET board port 25
    { 58, TLC_PORT },        // TLC port 58, LW output 43 - MOSFET board port 26
    { 59, TLC_PORT },        // TLC port 59, LW output 44 - MOSFET board port 27
    { 60, TLC_PORT },        // TLC port 60, LW output 45 - MOSFET board port 28
    { 61, TLC_PORT },        // TLC port 61, LW output 46 - MOSFET board port 29
    { 62, TLC_PORT },        // TLC port 62, LW output 47 - MOSFET board port 30
    { 63, TLC_PORT },        // TLC port 63, LW output 48 - MOSFET board port 31
    { 64, TLC_PORT },        // TLC port 64, LW output 49 - MOSFET board port 32
 
    // SMALL LED/OPTO pin header on main board
    { 17, TLC_PORT },        // TLC port 17, LW output 50 - Flipper button RGB left R (1R)
    { 18, TLC_PORT },        // TLC port 18, LW output 51 - Flipper button RGB left G (1G)
    { 19, TLC_PORT },        // TLC port 19, LW output 52 - Flipper button RGB left B (1B)
    { 20, TLC_PORT },        // TLC port 20, LW output 53 - Flipper button RGB right R (2R)
    { 21, TLC_PORT },        // TLC port 21, LW output 54 - Flipper button RGB right G (2G)
    { 22, TLC_PORT },        // TLC port 22, LW output 55 - Flipper button RGB right B (2B)
    { 23, TLC_PORT },        // TLC port 23, LW output 56 - MagnaSave button RGB left R (3R)
    { 24, TLC_PORT },        // TLC port 24, LW output 57 - MagnaSave button RGB left G (3G)
    { 25, TLC_PORT },        // TLC port 25, LW output 58 - MagnaSave button RGB left B (3B)
    { 26, TLC_PORT },        // TLC port 26, LW output 59 - MagnaSave button RGB right R (4R)
    { 27, TLC_PORT },        // TLC port 27, LW output 60 - MagnaSave button RGB right G (4G)
    { 28, TLC_PORT },        // TLC port 28, LW output 61 - MagnaSave button RGB right B (4B)
    { 29, TLC_PORT },        // TLC port 29, LW output 62 - Extra RGB small LED R (5R)
    { 30, TLC_PORT },        // TLC port 30, LW output 63 - Extra RGB small LED G (5G)
    { 31, TLC_PORT },        // TLC port 31, LW output 64 - Extra RGB small LED B (5B)
    { 32, TLC_PORT }         // TLC port 32, LW output 65 - Extra single small LED (LED6)
 

Hopefully this will work if you copy and paste it into your config.h in the appropriate section.  Using this modified version, you'll probably want port mappings something like this:

 

18 -> Left flipper  -> MOSFET board port 1

19 -> Right flipper -> MOSFET board port 2

50-51-52 -> RGB Left Flipper -> small LED outputs 1R-G-B on the main board

53-54-55 -> RGB Right Flipper -> small LED outputs 2R-G-B on the main board

62 -> Start Button -> small LED output 5R on the main board*

63 -> Coin Button -> small LED output 5G on the main board*

 

* For the last two, I'm assuming that you're using the same Helio9 LEDs for these button lights that you're using for the flippers - in which case these outputs are set to the right current for those lights.  You can ignore the nominal "R-G-B"-ness of the output names in this case since you just want to use them as monochrome lights.  

 

I hope this helps!  I didn't realize I had left config.h in this confusing state.  Hopefully the proposed changes above will work properly and will make more sense with the final board design.



#40 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 27 March 2016 - 09:01 PM

I have the controller built with the optical sensor, the buttons themselves work fine, but I can't get the plunger itself to work.  I can test it, and it does work in the joy.cpl tester, but it's always at 50% and not at 100%. 

 

Do you mean that the Z-axis bar is frozen at the halfway mark and never moves, even when you move the plunger?  If so, the plunger input isn't actually working - that bar needs to track the plunger position as you move the plunger.  It should move to the right (and get bluer) as you retract the plunger.

 

If you mean that it does track the plunger motion but never makes it all the way to 100%, that's fine.  You just need to run the calibration procedure.  Go to the config tool and click the "calibrate" button.  Then pull the plunger back all the way, hold it for a few moments, and slowly move it back to the rest position.  Don't release it or push it forward - the calibration process measures the min and max positions throughout the retraction range, so you don't want it to go forward of the rest position during the calibration.

 

If you've confirmed that the plunger is working that far, the next step is to make sure you have your Visual Pinball options set so that VP sees it at all.  Go to the Preferences / Keys dialog, find the Axis Assignments section, and make sure that Plunger is set to Z Axis.  The Reverse Axis box should be un-checked.  Those are the defaults, I think, so they'll probably already be set that way unless you intentionally changed them at some point.

 

Next, test by creating a new table (File / New).  Click on the plunger object in the editor (the rectangle in the normal plunger position).  If you don't see the options panel on the right, click the Options button in the tool box at the left to bring it up.  Go to the STATE section in the options panel.  Open it (click the little arrow in the section title).  Make sure "Enable Mechanical Plunger" is checked.  Run the table (F5).  Try your mechanical plunger and see if you get any response.  If so, VP is set up.

 

The final step is to fix your individual tables.  Most VP tables don't work with a mechanical plunger and have to be edited manually to make them work.  Sometimes this is really easy, just a matter of checking the "Enable Mechanical Plunger" box in the options for the table's plunger object (same procedure described above).  But it's usually more complicated than that, and unfortunately requires some sleuthing and scripting for each table to figure out how to fix it.  I haven't been able to reduce this to a science, since it depends on the scripting peculiarities of each individual table.  If you go about page 22 in the Build Guide, there's a section titled "Modify your Virtual Pinball tables to work with mechanical plungers" where I try to offer as much guidance as I can.  

Hopefully this will help get you going!

 

By the way, it's probably better to take future questions about the plunger or basic KL25Z setup to the "New DIY Plunger Design" thread, to keep the threads more on-topic.  This thread is really supposed to be about the expansion boards in particular, rather than the KL25Z project in general.


Edited by mjr, 27 March 2016 - 09:04 PM.