Jump to content



Photo
- - - - -

Need help with setting up DOFLinx for addressable LEDs


  • Please log in to reply
30 replies to this topic

#21 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 15 February 2020 - 10:31 PM

Thanks Ill check that out. BTW Im assuming the crashes are due to it not having any outputs/toys defined and its crashing because it cant find them?

 

I believe it is.  Yours is the first situation I've encountered with a Teensy and not other output device that DOFLinx supports.  This makes DOFLinx think there are toys attached, but the list of output devices is actually empty - hence the crash.  I suppose its because of the history where most people had output devices for toys, then added the new thing, addressable LEDs.


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

#22 mrl72

mrl72

    Enthusiast

  • Members
  • PipPipPip
  • 54 posts

  • Flag: ---------

  • Favorite Pinball: AC/DC Luci

Posted 17 February 2020 - 03:09 AM

 

Thanks Ill check that out. BTW Im assuming the crashes are due to it not having any outputs/toys defined and its crashing because it cant find them?

 

I believe it is.  Yours is the first situation I've encountered with a Teensy and not other output device that DOFLinx supports.  This makes DOFLinx think there are toys attached, but the list of output devices is actually empty - hence the crash.  I suppose its because of the history where most people had output devices for toys, then added the new thing, addressable LEDs.

 

 

Okay, so I got my LedWiz clone up and running. I'm now getting LEDs lit up - woohoo!!

 

However, I'm still getting crashes: In FP, everything works fine. I get all the LEDs except I get that crash when I quit out of FP.

 

In FX3, I get the LEDs lit up during the intro of the game but as soon as the game starts it throws me to my desktop with the same crash/error that it gives when exiting FP.

 

In my INI file all I did is just add one toy as such:

 

L_FLIPPER_OUTPUT=101

 

Even though there is nothing physically connected (not sure if this is a problem or not). 

 

From the log:

 

16-Feb-20 22:02:02.551 - DOF Linx for Pinball Emulators - DOFLinx by DDH69
16-Feb-20 22:02:02.557 - Starting up - version 7.04
16-Feb-20 22:02:02.558 - For support come and visit the community here http://www.vpforums....p?showforum=104
16-Feb-20 22:02:02.563 - Pre-Reading DOFLinx.INI startup config file details
16-Feb-20 22:02:02.651 - DEBUG enabled with showing of window True
16-Feb-20 22:02:05.682 - Found Teensy controller named 'TeensyStripController'
16-Feb-20 22:02:05.701 - Joystick # 1 detected : 0 buttons  
16-Feb-20 22:02:05.704 - Joystick # 2 detected : 12 buttons   DPAD Z-Axis
16-Feb-20 22:02:05.706 - Joystick # 3 detected : 12 buttons   DPAD Z-Axis
16-Feb-20 22:02:05.708 - Joystick # 4 detected : 8 buttons   Z-Axis
16-Feb-20 22:02:05.712 - DOFLinx device: 1 Initializing as LEDWiz #4 with ID=0
16-Feb-20 22:02:05.715 - DOFLinx device:1 LEDWiz setup with 32 outputs
16-Feb-20 22:02:05.718 - Reading DOFLinx.INI startup config file details
16-Feb-20 22:02:05.720 - Reading DirectOutputConfig file named F:\DirectOutput\config\directoutputconfig.ini
16-Feb-20 22:02:05.728 - Turning DEBUG off
16-Feb-20 22:02:05.751 - DEBUG enabled with showing of window True
16-Feb-20 22:02:05.760 - Set Debug Privilege = Running as administrator so no action taken
16-Feb-20 22:02:07.717 - DOFLinx device: 1 Initializing as LEDWiz #4 with ID=0
16-Feb-20 22:02:07.728 - DOFLinx device:1 LEDWiz setup with 32 outputs
16-Feb-20 22:02:19.951 - Found valid process name of 'Pinball FX3'
16-Feb-20 22:02:19.955 - Setting FX3 process ID to :2700
16-Feb-20 22:02:19.971 - Activated by process name : 'Pinball FX3'
16-Feb-20 22:02:19.977 - Named process detected and startup commenced
16-Feb-20 22:02:20.503 - FX3 EXE name=F:\SteamLibrary\steamapps\common\Pinball FX3\Pinball FX3.exe Size=11022480 bytes, Dated 2/5/2020 2:55:07 PM
16-Feb-20 22:02:20.509 - Applying memory offsets for FX3 version circa 10/12/19
16-Feb-20 22:02:20.513 - FX3 full link active
16-Feb-20 22:02:20.517 - Using full colour palette
16-Feb-20 22:02:20.520 - 122 colours added to the palette
16-Feb-20 22:02:39.566 - Loading FX3 configuration file F:\DirectOutput\DOFLinx_FX3\ALL_PRE.FX3
16-Feb-20 22:02:39.575 - Loading FX3 configuration file F:\DirectOutput\DOFLinx_FX3\Jaws.FX3
16-Feb-20 22:02:42.633 - Loading FX3 configuration file F:\DirectOutput\DOFLinx_FX3\ALL_POST.FX3
16-Feb-20 22:02:42.635 - B2S file not found : Jaws
16-Feb-20 22:02:42.654 - Building restricted colour palette for game name = Jaws
16-Feb-20 22:02:42.655 - 8 colours added to the palette
16-Feb-20 22:02:42.657 - Cabinet Mode = 0   Backglass Mode = 0
16-Feb-20 22:02:42.671 - There are no OFF actions for GAMEMODE
16-Feb-20 22:02:44.170 - GAMEMODE mode=1 action #0 of 'FF_COLOUR,BLACK,RGB_DF,0'
16-Feb-20 22:02:44.175 - GAMEMODE mode=1 action #1 of 'FF_FLASHER,DV_FLOL,FL_FD,6,750,100,TEAL'
16-Feb-20 22:02:44.179 - GAMEMODE mode=1 action #2 of 'FF_FLASHER,DV_FLOR,FL_FD,6,750,100,DODGER_BLUE'
16-Feb-20 22:02:44.180 - GAMEMODE mode=1 action #3 of 'FF_FLASHER,DV_FLIL,FL_FD,6,750,100,TEAL'
16-Feb-20 22:02:44.182 - GAMEMODE mode=1 action #4 of 'FF_FLASHER,DV_FLIR,FL_FD,6,750,100,DODGER_BLUE'
16-Feb-20 22:02:44.183 - GAMEMODE mode=1 action #5 of 'FF_FLASHER,DV_FLCN,FL_FD,6,750,100,WHITE'
16-Feb-20 22:02:44.184 - GAMEMODE mode=1 action #6 of 'FF_DOF,E424,-1'
16-Feb-20 22:02:46.570 - SENSOR_DROPTARGET_SAFE01 mode=1 action #0 of 'FF_B2S,B2SSTARTANIMATION,TARGET1'
16-Feb-20 22:02:46.666 - LAUNCHMODE mode=1 action #0 of 'FF_BUTTON,BUT_LB,BA_FL,10000,500'
16-Feb-20 22:02:46.668 - LAUNCHMODE mode=1 action #1 of 'FF_DOF,E310,-1'
16-Feb-20 22:02:47.311 - There are no OFF actions for GAMEMODE
 
Crash:
 
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.
 
************** Exception Text **************
System.NullReferenceException: Object variable or With block variable not set.
   at Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
   at DOFLinx.MainForm.ProcFFB2S(String TheCommand, String TheParams)
   at DOFLinx.MainForm.ProcessAction(Int32 ActNum, Byte ActMode)
   at DOFLinx.MainForm.CheckFX3MemoryTriggers()
   at DOFLinx.MainForm.TimerKeyCheck_Tick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
 
************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
 
----------------------------------------
DOFLinx
    Assembly Version: 1.0.0.0
    Win32 Version: 5.0.0.0
 
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 14.8.3761.0 built by: NET48REL1
 
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4001.0 built by: NET48REL1LAST_C
 
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
 
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
 
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
DirectOutput
    Assembly Version: 3.1.7011.27968
    Win32 Version: 3.1.7011.27968
 
----------------------------------------
Extensions
    Assembly Version: 3.1.7011.27968
    Win32 Version: 3.1.7011.27968
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Security
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Data.SqlXml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Web
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4075.0 built by: NET48REL1LAST
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Web.ApplicationServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4075.0
 
----------------------------------------
System.ComponentModel.DataAnnotations
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0
 
----------------------------------------
System.DirectoryServices.Protocols
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.DirectoryServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
System.Runtime.Caching
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0
 
----------------------------------------
Microsoft.Build.Framework
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
 
----------------------------------------
DOFLinxExt
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
 
----------------------------------------
 
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
 
For example:
 
<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>
 
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
 
 

Edited by mrl72, 17 February 2020 - 03:25 AM.


#23 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 17 February 2020 - 03:34 AM

Sorry, but I don't believe that you will get this working.  I believe the Teensy is presenting as a LEDWiz but not behaving like one when it comes to addressing it through DOF.  The error is coming back from DOF and causing DOFLinx to fail when it tries to address the device.  Ultimately the Teensy as an output device is not supported by DOFLinx.


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

#24 mrl72

mrl72

    Enthusiast

  • Members
  • PipPipPip
  • 54 posts

  • Flag: ---------

  • Favorite Pinball: AC/DC Luci

Posted 17 February 2020 - 03:38 AM

Sorry, but I don't believe that you will get this working.  I believe the Teensy is presenting as a LEDWiz but not behaving like one when it comes to addressing it through DOF.  The error is coming back from DOF and causing DOFLinx to fail when it tries to address the device.  Ultimately the Teensy as an output device is not supported by DOFLinx.

 

The Teensy is just connected to the addressable LEDs, it is not showing up as the LedWiz that's why I installed the Arduino Mega (flashed as LEDWiz clone) and that is the device that shows up as LEDWiz #4 and is confirmed working in LEDBlinky.

 

I can see in DO log that everything is initializing fine:

 

2020.02.16 22:22:38.964 Initializing cabinet
2020.02.16 22:22:38.964 Debug: Initializing output controllers
2020.02.16 22:22:38.968 TeensyStripController TeensyStripController intialized and updater thread started.
2020.02.16 22:22:38.968 Debug: Initializing LedWiz Nr. 04
2020.02.16 22:22:38.968 TeensyStripController TeensyStripController updater thread  started.
2020.02.16 22:22:38.968 LedWiz Nr. 04 initialized and updater thread initialized.
2020.02.16 22:22:38.968 Updater thread for LedWiz 04 started.
2020.02.16 22:22:38.968 Debug: Output controllers initialized
2020.02.16 22:22:38.968 Cabinet initialized
 
I'm so close to getting this working. Surely there must be a reason for the crashes (which is not caused by my hardware now I have them set up properly)?

Edited by mrl72, 17 February 2020 - 03:42 AM.


#25 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 17 February 2020 - 04:01 AM

DOF likely supports the device for VPX, DOFLinx does not.


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

#26 mrl72

mrl72

    Enthusiast

  • Members
  • PipPipPip
  • 54 posts

  • Flag: ---------

  • Favorite Pinball: AC/DC Luci

Posted 17 February 2020 - 04:03 AM

DOF likely supports the device for VPX, DOFLinx does not.

 
Sorry, I don't understand. You're saying DOFLinx doesn't support the LEDWiz? That's what I have and what it recognizes and there's a bunch of people on here that use it. Future Pinball works fine. In fact, it's VPX that doesn't work at all for some reason. 
 
I just played TerryRed's Star Wars assault table. DOFLinx works beautifully so it's doing something right.

What would possibly cause DOFLinx to crash when quitting Future Pinball I wonder? Does it do anything with B2S? Thats the only thing I see common in the debit log, some call to FF_B2S right before it crashes. Could be a res herring but thought Id mention it.

Edited by mrl72, 17 February 2020 - 05:01 AM.


#27 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 17 February 2020 - 04:59 AM

DOFLinx supports;

 

LEDWiz, PacLED64, PinScape, PinControl1, PinControl2 and PacDrive as output devices

Teensy for addressable LEDs

 

It does not support an Arduino Mega as an output device.  As such, I have no ability to support you with this device.


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

#28 mrl72

mrl72

    Enthusiast

  • Members
  • PipPipPip
  • 54 posts

  • Flag: ---------

  • Favorite Pinball: AC/DC Luci

Posted 17 February 2020 - 01:33 PM

DOFLinx supports;

 

LEDWiz, PacLED64, PinScape, PinControl1, PinControl2 and PacDrive as output devices

Teensy for addressable LEDs

 

It does not support an Arduino Mega as an output device.  As such, I have no ability to support you with this device.

 

It's got nothing to do with the Arduino. I was getting the exact same crashes at the exact same place before I even installed the Arduino and even the Teensy. This was happening on a clean install.

 

In fact, even using the sample "no toys" INI and with DISABLEDOF=YES in the command line I still get the crashes. There is something else at play here, a config file, or DOFLinx is not jiving with my system for some reason. The fact that it happens AFTER I close FP should be able to point to what's causing it, surely?


Edited by mrl72, 17 February 2020 - 01:35 PM.


#29 mrl72

mrl72

    Enthusiast

  • Members
  • PipPipPip
  • 54 posts

  • Flag: ---------

  • Favorite Pinball: AC/DC Luci

Posted 17 February 2020 - 03:14 PM

Just to let you know I fixed the crashes by adding the following to the DOFLinx.ini file:

 

PATH_B2S_SERVER=F:\Visual Pinball\Tables

 

I knew it was something to do with the B2S server as the last thing written to the log just before the crash was:

 

LAUNCHBALL mode=2 action #2 of 'FF_B2S,B2SSTARTANIMATION,TITLE'

 

So for now looks like I'm up and running with FP and FX3! Woohoo!!  

 

Now just have to figure out why VPX isn't working. Anyone got any ideas? Basically, DOFLinx recognizes the process VPinballX but I get no LEDs lighting up at all (nor does any confirmation of a DOF supported table getting loaded appears in the DOFLinx debug output -- should it?).


Edited by mrl72, 17 February 2020 - 05:41 PM.


#30 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 17 February 2020 - 11:27 PM

Thanks for the update.  I am glad to hear you have things going.  I was clearly on the wrong path.  I will add some better error checking in this area.

 

DOFLinx is not required for VPX to work with DOF.  You can activate DOFLinx for use with older non force feedback tables (generally VP9 and prior), but while you are getting things working I'd suggest avoiding this.  I suggest removing the VP process from the PROCESSES= in the DOFLinx.INI file.  This will stop DOFLinx waking up when VP is played.

 

Have you followed the setup processes for setting up the VPX force feedback configuration, ie VP plugin, B2S server registration, etc?


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

#31 mrl72

mrl72

    Enthusiast

  • Members
  • PipPipPip
  • 54 posts

  • Flag: ---------

  • Favorite Pinball: AC/DC Luci

Posted 18 February 2020 - 02:04 PM

Thanks for the update.  I am glad to hear you have things going.  I was clearly on the wrong path.  I will add some better error checking in this area.

 

DOFLinx is not required for VPX to work with DOF.  You can activate DOFLinx for use with older non force feedback tables (generally VP9 and prior), but while you are getting things working I'd suggest avoiding this.  I suggest removing the VP process from the PROCESSES= in the DOFLinx.INI file.  This will stop DOFLinx waking up when VP is played.

 

Have you followed the setup processes for setting up the VPX force feedback configuration, ie VP plugin, B2S server registration, etc?

 

No worries. It was certainly a head scratcher and probably a unique setup my end. For now I've moved the B2S stuff out of the Vpinball folder and put it in a dedicated DOFLinx folder as I think I'm just going to not go down the VPX route and just stick with FP and FX3 for now. So I've removed VPX entirely. Maybe I'll revisit it down the road.

 

EDIT: I persevered and got DOF working with VPX and it works great!


Edited by mrl72, 18 February 2020 - 08:43 PM.