Jump to content



Photo
- - - - -

Help Needed with DOFLinx Configuration and Addressable LEDs

doflinx leds addressables fx

  • Please log in to reply
3 replies to this topic

#1 jeremybut

jeremybut

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: France

  • Favorite Pinball: 1

Posted 03 May 2024 - 08:43 AM

Hello,

 

I've started a new thread as I was unintentionally dominating another topic that wasn't meant for my issue.

 

My Setup:

 

DOF Config Tool Settings:

 

  1. WS2811 1 - directoutputconfigini30

  • Port 1 - Magnasave Right MX
  • Port 4 - Flipper Button MX
  • Port 7 - Start MX
  • Port 10 - Flipper Button MX
  • Port 13 - Magnasave Left MX
  • Port 16 - Combo 1
  • Port 19 - Combo 2
  • Port 22 - Combo 3
  • Port 25 - Combo 3
  • Port 28 - PF Back Flashers MX
  • Port 31 - Combo 5 
  • Port 34 - PF Back Flashers MX
  • Port 37 - Combo 5
  • Port 40 - Combo 6
  • Port 43 - Fire MX
  • Port 46 - Extra Ball MX

  2. Pinscape 1 - directoutputconfigini51

  • Port 7 - 10 Bumper Middle Left
  • Port 8 - 10 Bumper Middle Center
  • Port 9 - Slingshot Left
  • Port 10 - Slingshot Right
  • Port 11 - Flipper Right
  • Port 12 - Flipper Left
  • Port 13 - 10 Bumper Middle Right
  • Port 14 - Bumper Back Left
  • Port 15 - Bumper Back Center
  • Port 16 - Bumper Back Right

cabinet.xml

<?xml version="1.0"?>
<Cabinet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>Pinball of the death that kills</Name>
  <OutputControllers>
    <TeensyStripController>
      <Name>Boognish</Name>
      <NumberOfLedsStrip1>8</NumberOfLedsStrip1>
      <NumberOfLedsStrip2>131</NumberOfLedsStrip2>
      <NumberOfLedsStrip3>131</NumberOfLedsStrip3>
      <NumberOfLedsStrip4>64</NumberOfLedsStrip4>
      <NumberOfLedsStrip5>80</NumberOfLedsStrip5>
      <NumberOfLedsStrip6>30</NumberOfLedsStrip6>
      <NumberOfLedsStrip7>99</NumberOfLedsStrip7>
      <NumberOfLedsStrip8>20</NumberOfLedsStrip8>
      <ComPortName>COM3</ComPortName>
      <ComPortTimeOutMs>200</ComPortTimeOutMs>
    </TeensyStripController>
  </OutputControllers>
  <Toys>
    <LedStrip>
      <Name>Magna droit</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>1</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Flipper droit</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>5</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Side droit</Name>
      <Width>1</Width>
      <Height>131</Height>
      <LedStripArrangement>TopDownLeftRight</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>9</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Side gauche</Name>
      <Width>1</Width>
      <Height>131</Height>
      <LedStripArrangement>TopDownLeftRight</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>140</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>HP droit</Name>
      <Width>1</Width>
      <Height>32</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>271</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>HP gauche</Name>
      <Width>1</Width>
      <Height>32</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>303</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Flashers</Name>
      <Width>20</Width>
      <Height>4</Height>
      <LedStripArrangement>TopDownAlternateLeftRight</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>335</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>PC</Name>
      <Width>1</Width>
      <Height>30</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>415</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Undercab</Name>
      <Width>1</Width>
      <Height>99</Height>
      <LedStripArrangement>TopDownLeftRight</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>445</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Magna gauche</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>544</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Flipper gauche</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>548</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Start</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>552</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Fire</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>556</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Extra ball</Name>
      <Width>1</Width>
      <Height>4</Height>
      <LedStripArrangement>LeftRightTopDown</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>560</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>Boognish</OutputControllerName>
    </LedStrip>
    <LedWizEquivalent>
      <Name>LedWizEquivalent 30</Name>
      <Outputs>
        <LedWizEquivalentOutput>
          <OutputName>Magna droit</OutputName>
          <LedWizEquivalentOutputNumber>1</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Flipper droit</OutputName>
          <LedWizEquivalentOutputNumber>4</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Side droit</OutputName>
          <LedWizEquivalentOutputNumber>16</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Side gauche</OutputName>
          <LedWizEquivalentOutputNumber>19</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>HP droit</OutputName>
          <LedWizEquivalentOutputNumber>22</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>HP gauche</OutputName>
          <LedWizEquivalentOutputNumber>25</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Flashers</OutputName>
          <LedWizEquivalentOutputNumber>40</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>PC</OutputName>
          <LedWizEquivalentOutputNumber>28</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Undercab</OutputName>
          <LedWizEquivalentOutputNumber>31</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Magna gauche</OutputName>
          <LedWizEquivalentOutputNumber>13</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Flipper gauche</OutputName>
          <LedWizEquivalentOutputNumber>10</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Start</OutputName>
          <LedWizEquivalentOutputNumber>7</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Fire</OutputName>
          <LedWizEquivalentOutputNumber>43</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Extra ball</OutputName>
          <LedWizEquivalentOutputNumber>46</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
      </Outputs>
      <LedWizNumber>30</LedWizNumber>
    </LedWizEquivalent>
  </Toys>
</Cabinet>

DOFLinx.ini

DEBUG=0

DIRECTOUTPUTCONFIG=C:\DirectOutput\Config\directoutputconfig30.ini
DIRECTOUTPUTGLOBAL=C:\DirectOutput\Config\GlobalConfig_B2SServer.xml
PATH_B2S_SERVER=C:\MTCPincab\VisualPinball\Tables\

PATH_FX=C:\DirectOutput\FX\
PATH_FX_B2S=C:\DirectOutput\DOFLinx_B2S\

PROCESSES=PinballFX-Win64-Shipping

L_FLIPPER_KEY=A0
R_FLIPPER_KEY=A1

#LINK_BUT_LF=?,White,A0
#LINK_BUT_RF=?,White,A1
#LINK_BUT_ML=?,White,A2
#LINK_BUT_MR=?,White,A3
#LINK_BUT_ST=?,MONO,31
#LINK_BUT_EB=?,MONO,34
#LINK_BUT_FR=?,MONO,32

L_FLIPPER_OUTPUT=112
R_FLIPPER_OUTPUT=111

LINK_LF=112,50,500,255
LINK_RF=111,50,500,255
LINK_LS=109,50,500,255
LINK_RS=110,50,500,255
LINK_ML=107,50,500,255
LINK_MC=108,50,500,255
LINK_MR=113,50,500,255
LINK_BL=114,50,500,255
LINK_BC=115,50,500,255
LINK_BR=116,50,500,255

#RGB_OUTPUT=?
#RGB_TRIGGER=FLIPPER
#RGB_STYLE=RANDOM
#RGB_MIN_TIME=1000

DELAY_BETWEEN_KEY_PRESS=50  
FF_PUP_INIT=FX3_PUP_SSF
KEY_TO_PUP_EVENT=A0,E101,1,E103,1,X1LS,E101,1,E103,1,A1,E102,1,E104,1,X1RS,E102,1,E104,1

MAX_FLIPPER_ON=5000

#BUTTONS_ON=?
#BUTTONS_ON_COLOUR=?,?
KEY_TO_OUTPUT=32,201,34,203,35,206,36,205
KEY_TO_COLOUR=A0,209,Red
KEY_TO_COLOUR_TIMER=A0,209,Red,1500

#LINK_FLOL=?
#LINK_FLIL=?
#LINK_FLCN=?
#LINK_FLIR=?
#LINK_FLOR=?

AUTO_MX=1

Context:

Everything works fine with VPX, Pinup.

I switched to DOFLinx to get effects with PinballFX (Steam version), but there are several things I don't understand.

 

Problem:

Can the addressable LEDs be tested through the DOFLinx port test tool?

Currently, only the Pinscape device seems to be available on Ports #1 and #2, so I cannot communicate with my Teensy to perform port tests.

Is there something wrong with my DOFLinx configuration so that my addressable LEDs on the buttons work?

 

 

Thank you in advance for your help! :-)


Edited by jeremybut, 03 May 2024 - 09:01 AM.


#2 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,102 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 03 May 2024 - 10:58 AM

 

Problem:

Can the addressable LEDs be tested through the DOFLinx port test tool?

Currently, only the Pinscape device seems to be available on Ports #1 and #2, so I cannot communicate with my Teensy to perform port tests.

Is there something wrong with my DOFLinx configuration so that my addressable LEDs on the buttons work?

 

 

Thank you in advance for your help! :-)

 

 

Nicely explained, thank you.

 

1. Yes in DOFLinx you can test the addressable LEDs.  Start DOFLInx with DEBUG=1 , right click, select "Test Rom Item".  For Addressable LEDs, DOFLinx calls DOF to "run" an item within a ROM, the default option on "Test ROM Item" will load the doflinx rom and run item E99 for 3 seconds.  E99 shows the back, left and right effects

2.  DOFLinx only supports output devices natively built into DOF for port output.  I believe the Teensy ports are emulated LEDWiz ports.  I only use a Teensy for addressable LEDs, all other outputs are on the Pinscape.  The Pinscape can be configured in how it presents to Windows and hence DOF.  It can show as both a Pinscape native device (needed by DOFLinx) and an emulated LEDWiz.  This is quite normal, as such you see device #1 being the Pinscape and device #2 being the emulated LEDWiz as device #2.  As per the log output from DOFLinx, do not assign toys to the emulated device #2.

3.  The ROMs in the DOF config tools for FX series of games do not setup for addressable LED buttons.  You will need to make a custom configuration in the DOF config tool.  Remember do not publish this for others as we only publish configs that will be common to everyone.


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#3 jeremybut

jeremybut

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: France

  • Favorite Pinball: 1

Posted 07 May 2024 - 02:03 PM

Thank you for your response!

 

I took the time to configure the effects in the DOF config tool for the "doflinx" table, and I indeed have some effects with the ROM tester, but I still haven’t fully understood some things, for example:

  • Is the doflinx table in the DOF config tool the one that will be used for all the effects of all the Pinball FX tables?
  • Or do I just need to create my own FX table config in my directoutputconfig.ini file by copying some FX3 examples?

 

 

I also have a strange problem between SSF and solenoids:

If I want the SSF to work, I need to add this line:

PATH_FX=C:\DirectOutput\FX3_PUPlayer\ 

But then I lose this configuration:

PATH_FX=C:\DirectOutput\FX\ 

Is this the reason why I can't have both SSF and solenoids at the same time?

Because by doing this, it's either one or the other...

 

I tried with this configuration but it does not work:

PATH_FX=C:\DirectOutput\FX
SSF_SOUND_PATH=C:\DirectOutput\FX3_PUPlayer


#4 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,102 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 08 May 2024 - 09:55 AM

Most FX series tables have their own ROM in the DOF config tool.  So Biolab shares the same rom between fx2/fx3 and fx.  You can find which ROM is used by looking in the table.FX file, ie WildWestRampage ROM is fx2_wildwest . So to add your own items you will need to add a custom config to a fair number of ROMs.  Remember, DO NOT submit your changes for public.

 

There are two different parameters;

PATH_FX=

PATH_FX3=

 

I think you want

PATH_FX=C:\DirectOutput\FX

PATH_FX3=C:\DirectOutput\FX3_PUPlayer

 

SSF_SOUND_PATH= is the path to where the wav files are

 

The guide is your friend for these  :tup:


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here





Also tagged with one or more of these keywords: doflinx, leds, addressables, fx