tylerszabo / RGB-Fusion-Tool

A command line tool for calling Gigabyte's RGB Fusion SDK
GNU General Public License v3.0
184 stars 21 forks source link

dllexp_GetMaxDivision fails on AB350-Gaming 3 motherboard #30

Open tylerszabo opened 6 years ago

tylerszabo commented 6 years ago

dllexp_GetMaxDivision returns 0xFFFFFFFF when the tool is run for any setting on the AB350-Gaming 3 motherboard. Full exception is as follows for v0.9.1:

Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GLedApiDotNet.Raw.GLedAPIv1_0_0Exception: dllexp_GetMaxDivision returned 0xFFFFFFFF
   at GLedApiDotNet.Raw.GLedAPIv1_0_0Wrapper.GetMaxDivision() in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\GLedApiDotNet\Raw\GLedAPIv1_0_0Wrapper.cs:line 54
   at GLedApiDotNet.RGBFusionMotherboard..ctor(GLedAPIv1_0_0Wrapper wrapperAPI) in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\GLedApiDotNet\RGBFusionMotherboard.cs:line 152
   at GLedApiDotNet.RGBFusionMotherboard..ctor() in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\GLedApiDotNet\RGBFusionMotherboard.cs:line 163
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at System.Lazy`1.get_Value()
   at RGBFusionTool.RGBFusionMain.LazyMotherboard.SetAll(LedSetting ledSetting) in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\RGBFusionTool\RGBFusionMain.cs:line 25
   at RGBFusionTool.Application.Main(String[] args) in C:\Users\Michael\Desktop\RGB-Fusion-Tool-master (2)\RGB-Fusion-Tool-master\RGBFusionTool\Application.cs:line 234

Initially reported in issue #10 (comment).

tylerszabo commented 6 years ago

@MichaelXF, could you export your LED setting XML (on the Advanced tab of Gigabyte's RGB Fusion tool). I think we can use that to edit layout.ini to add support for your motherboard.

MichaelXF commented 6 years ago

I exported 2 color profiles:

// Testing.xml -- using Pulse with red

<?xml version="1.0" encoding="utf-8"?><LED_info Area_num="2"><Area_info Area_index="0" Pattern_Type="1" Pattern_name="Pulse" Bri="5" Speed="5" Enabled_White="-1" But_Args_num="2"><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /></Area_info><Area_info Area_index="1" Pattern_Type="1" Pattern_name="Pulse" Bri="5" Speed="5" Enabled_White="-1" But_Args_num="2"><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /></Area_info></LED_info>

// StaticRed.xml -- using Static with red

<?xml version="1.0" encoding="utf-8"?><LED_info Area_num="2"><Area_info Area_index="0" Pattern_Type="0" Pattern_name="Static" Bri="5" Speed="5" Enabled_White="-1" But_Args_num="2"><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /></Area_info><Area_info Area_index="1" Pattern_Type="1" Pattern_name="Pulse" Bri="5" Speed="5" Enabled_White="-1" But_Args_num="2"><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /><But_Arg startColor="4294901760" Scenes_type="-1" Showtime="-1" TransitionsTeime="-1" Bri="5" Speed="5" /></Area_info></LED_info>

https://pastebin.com/RBmt193m

tylerszabo commented 6 years ago

Interesting! Only 2 zones.

I'm thinking you might be able to edit the ini file. If you have the B17.0926.1 SDK try adding the following before [MBId_102].

[MBId_101]
;; Test 1
LFType_1=1,1

;; Test 2
LFType_2=1,1

;; Test 3
LFType_3=1,1

;; Test 4
LFType_4=1,1

;; Test 5
LFType_5=1,1

If you're using the B18.0206.1 SDK then use [MBId_65] instead of [MBId_101]. I'd try with the B17.0926.1 SDK, first.

I've only played with this a little, so it's a bit of a long shot.

MichaelXF commented 6 years ago

I'm currently away from my computer, but I'm very eager to try this.

tylerszabo commented 6 years ago

Have you had a chance to reach out to Gigabyte? It seems in issue #31 the board wasn't supported by the SDK :(.

MichaelXF commented 6 years ago

I just sent my own ticket about this issue. It's unbelievable how Gigabyte misleads their customers.

adamseoul commented 5 years ago

Is there any update on this? It was a while ago, could it be supported in their SDK now? I would like to even just be able to turn on and off the leds.

tylerszabo commented 5 years ago

They did release a new version (2019-03-11) of the SDK but from a diff of layout.ini it doesn't seem they added any new support. You could try using that new SDK (https://www.gigabyte.com/mb/rgb/sdk).

It seems it'll be on Gigabyte to add support or someone to figure out how to talk to the board without using Gigabyte's SDK to add support for these boards.

There's a possibility there's something in the peripheral SDK to support these boards, but I don't have one to test with.