Jump to content

ViLA - Control your Virpil LEDs from in-game events!


charliefox2

Recommended Posts

Hey guys, after my proof of concept last week I've finally uploaded an application you can use to control your Virpil LEDs - ViLA.

 

Landing gear LEDs
F/A-18C Landing Gear LEDs

 

It's pretty basic right now. It links to DCS-BIOS events, and you can tell it to set the color of an LED based on that event. This is different from Virpil's tool because you can map any LED to any DCS-BIOS event. This also means that when you use a control like the caution lights test switch, you everything lights up for you.
 

Caution lights test switch
These LEDs are mapped to their individual functions, and the caution lights test switch causes DCS-BIOS to send outputs for each BIOS code.

 

It's a console tool right now, and I know the configuration experience leaves a lot to be desired - I'm working on it. In the mean time, I hope somebody can find some use for it!

 

APU/engine fire test
F/A-18C Fire test switch. Note that pressing the master caution button resets it, just like in the actual aircraft.
 

The tool is also extensible via plugins that can be written by anybody. The DCS-BIOS integration is currently a plugin. However, you could write your own plugin so that it interacts with Elite: Dangerous, Star Citizen, MSFS2020, or anything else!


Edited by moridar
fix wonky auto-formatting
  • Like 7
  • Thanks 3
Link to comment
Share on other sites

  • 2 months later...

I keep getting this error and I cannot for the life of me figure it out. It appears to be calling for "DcsBiosReader.dll" which I cannot find any reference to at all except in the manifest.json - am I missing something obvious?

 

Quote

 

Unhandled exception. System.InvalidOperationException: Dependency resolution failed for component C:\Users\cjroc\OneDrive\Desktop\lights\Plugins\DcsBiosReader\DcsBiosReader.dll with error code -2147450734. Detailed error: Failed to locate managed application [C:\Users\cjroc\OneDrive\Desktop\lights\Plugins\DcsBiosReader\DcsBiosReader.dll]

   at System.Runtime.Loader.AssemblyDependencyResolver..ctor(String componentAssemblyPath)
   at McMaster.NETCore.Plugins.Loader.ManagedLoadContext..ctor(String mainAssemblyPath, IReadOnlyDictionary`2 managedAssemblies, IReadOnlyDictionary`2 nativeLibraries, IReadOnlyCollection`1 privateAssemblies, IReadOnlyCollection`1 defaultAssemblies, IReadOnlyCollection`1 additionalProbingPaths, IReadOnlyCollection`1 resourceProbingPaths, AssemblyLoadContext defaultLoadContext, Boolean preferDefaultLoadContext, Boolean isCollectible, Boolean loadInMemory, Boolean shadowCopyNativeLibraries)
   at McMaster.NETCore.Plugins.Loader.AssemblyLoadContextBuilder.Build()
   at McMaster.NETCore.Plugins.PluginLoader..ctor(PluginConfig config)
   at McMaster.NETCore.Plugins.PluginLoader.CreateFromAssemblyFile(String assemblyFile, Action`1 configure)
   at McMaster.NETCore.Plugins.PluginLoader.CreateFromAssemblyFile(String assemblyFile, Type[] sharedTypes, Action`1 configure)
   at McMaster.NETCore.Plugins.PluginLoader.CreateFromAssemblyFile(String assemblyFile, Boolean isUnloadable, Type[] sharedTypes, Action`1 configure)
   at McMaster.NETCore.Plugins.PluginLoader.CreateFromAssemblyFile(String assemblyFile, Boolean isUnloadable, Type[] sharedTypes)
   at ViLA.Program.LoadPlugins(IReadOnlySet`1 disabledPlugins, Boolean checkUpdates, Boolean checkPrerelease)+MoveNext()
   at ViLA.Program.LoadPlugins(IReadOnlySet`1 disabledPlugins, Boolean checkUpdates, Boolean checkPrerelease)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at ViLA.Program.Main(String[] args)
   at ViLA.Program.Main(String[] args)
   at ViLA.Program.<Main>(String[] args)

 

 

Link to comment
Share on other sites

  • 4 weeks later...
  • 3 months later...

Great question! That's not something I've ever even thought of. I don't know how iCue broadcasts its current settings, but now you've got me wondering...

The short answer is currently, no. However, the application is designed to be extensible via plugins so if somebody wanted to write a plugin it could be possible. iCue might be designed for only corsair products though, but perhaps OpenRGB would work? https://openrgb.org/

 

I'd love to attempt this at some point. It's worth noting, however, that the color space you have access to is very limited - there are only 64 colors you can choose from. Unfortunately there's no way to assign anything more granular with the current protocol.

Link to comment
Share on other sites

  • 4 weeks later...

Hi Moridar,

Thanks for the response.  Apologies I'm just now seeing the response.  Yeah I figured it would be a small endeavor to pull off.  Since building a new PC from a nearly 12+ year old one I've been on an RGB drive.  And with my T-50 and Alpha-R having LED's it made me wonder if I could tie them in with icue.

And I'll be honest, I'm not an expert programmer.  But if you should ever decide to pursue this and would like some one to help, give me a holler.  Have a good one.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

I may be a bit biased since I wrote the thing but the feedback I've seen so far is as follows:

Setup and configuration can be difficult. A lot of people ask me for help in the discord channel on regarding one or both of those items. I understand why people have trouble - it's not the most straightforward process at present. The problems are typically some combination of:

  • Which version of dcs-bios to use
  • Some select virpil devices requiring specific configuration in the VPC configuration tool (no idea why, fix your firmware virpil)
  • Confusion over how to install a plugin
  • Confusion over how to make your own configuration

Once people are set up and configured, I generally don't hear from them again. At least, nobody comes back with issues.

There are quite a few people in the discord server so you might be able to ask around for feedback in there too. https://discord.gg/rWAF3AdsKT

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
On 2/16/2022 at 5:08 PM, moridar said:

Setup and configuration can be difficult. A lot of people ask me for help in the discord channel on regarding one or both of those items. I understand why people have trouble - it's not the most straightforward process at present. The problems are typically some combination of:

  • Which version of dcs-bios to use
  • Some select virpil devices requiring specific configuration in the VPC configuration tool (no idea why, fix your firmware virpil)
  • Confusion over how to install a plugin
  • Confusion over how to make your own configuration

I can pretty much tick all the boxes on that list! Perhaps I'll try to catch you on Discord in the near future if you have time to walk an idiot through things. Have you got a pre-written walkthrough anywhere?

Link to comment
Share on other sites

2 hours ago, frostycab said:

I can pretty much tick all the boxes on that list! Perhaps I'll try to catch you on Discord in the near future if you have time to walk an idiot through things. Have you got a pre-written walkthrough anywhere?

Feel free to ping me on discord anytime!

The wiki for ViLA has some information, but I'll be the first to admit it's not foolproof and plenty of information is glossed over or missing (I'm no technical writer).

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...