EightB1ts / uni-sync

A synchronization tool for Lian Li Uni Controllers
MIT License
54 stars 9 forks source link

SL V2-v0.5 (0xa105) doesn't follow motherboard pwm #4

Closed expipiplus1 closed 1 year ago

expipiplus1 commented 1 year ago

Setting a manual speed works fine.

Setting a channel to PWM however just seems to go to some default low speed.

I've tested this with two PWM ports on the motherboard, one fixed-full speed one.

The connector is seated correctly as I can control the LEDs through the motherboard argb header.

expipiplus1 commented 1 year ago

I can change this setting from a windows VM and sniff the packets,

I do see the data as passed by uni-sync:

image

However I guess that there is something else necessary in the other packets.

expipiplus1 commented 1 year ago

Ah, it seems like the calculation for channel_byte was incorrect, this works.

                // Disable Sync to fan header
                let mut channel_byte = 0x10 << x;

                if channels[x].mode == "PWM" {
                    channel_byte = channel_byte | 0x1 << x;
                }
EightB1ts commented 1 year ago

Much cleaner too, thanks a bunch!

expipiplus1 commented 1 year ago

Maybe even cleaner would be (mode == PWM ? 0x11 : 0x10) << x