-
Notifications
You must be signed in to change notification settings - Fork 8
Packet Structure
uint16 is all little endian
A Note on transitions:
When you want to transition, by default, the colors will move from one to another (some kind of smoothing basically)
So say you have #0000FF as the Up Hold Level and the #FF0000 as Down Hold Level - the color will move between these two, so you'll see a flash of white and a blank in between. To avoid this, you can set Down Minimum Level or Up Maximum Level - so under the previous condition if i set one of these to #000000, then i wont see that flash of white, and if i set both of them to #000000 then i'll only flash between these two colors. Basically if the transition hits the maximum/minimum, it goes straight into the new color.
In order for a transition to happen, you must specify a hold delay
| Index | Type | Name | Description |
|---|---|---|---|
| 0 | Unknown | ||
| 1 | uint8 | Packet Type | The type of packet, 0x28 for light |
| 2 | Unknown | ||
| 3 | uint8 | Channel | RGB channel |
| 4 | uint8 | Unknown | With this set to 0x00 we don't get any changes... |
| 5 | uint8 | Key Identifier | Determines which portion of the keyboard to light up |
| 6 | uint8 | Effect Id | 0x00 = use hardware profile, 0x01 = stop animation, 0x02 = start animation |
| 7 | uint8 | Up Maximum Level | This is the lowest level that the color can reach. |
| 8 | uint8 | Up Repeat Count | Up-animation will repeat x times |
| 9-10 | uint16 | Up Increment | This is how much each tick should increase light level Down Hold Level to Up Hold Level
|
| 11-12 | uint16 | Up Increment Delay | This is how long each tick should take as we move from from Down Hold Level to Up Hold Level ( n * 12 = y ms ) |
| 13 | uint8 | Up Hold Level | A color channel brightness, can be the end or beginning depending on Effect Flag |
| 14 | uint8 | Down Repeat Count | Down-animation will repeat x times |
| 15-16 | uint16 | Up Hold Delay | How long should we sit at Up Hold Level. 0 > delay < 65535. 1 = 10ms |
| 17 | uint8 | Down Minimum Level | This is the lowest level that the color can reach. |
| 18 | uint8 | Unknown | If > 0x00, triggers something after a specific time when using UpHoldLevel |
| 19-20 | uint16 | Down Decrement | This seems to be how many steps from Down Hold Level to Down Minimum Level
|
| 21-22 | uint16 | Down Decrement Delay | This is how long it takes to move from Down Hold Level to Down Minimum Level
|
| 23 | uint8 | Down Hold Level | A color, can be the end or beginning depending on Effect Flag |
| 24 | uint8 | Unknown | If Down Hold Level is 0x00, this seems to be used as a "negative" Down Hold Level - 0xFF = off, 0x00 = max power |
| 25-26 | uint16 | Down Hold Delay | How long should we sit at Down Hold Level. 0 > delay < 65535. 1 = 10ms |
| 27-28 | uint16 | Start Delay | How long to wait before we apply the changes. 0 > delay < 65535. 1 = 10ms |
| 29-30 | uint16 | Reserved | |
| 31-32 | uint16 | Effect Flag | These two bytes change how/if the transitions take place. These are very important. Take a look at the code for the most information on them. |
| 33 | |||
| 34 | |||
| 35 | |||
| 36 | |||
| 37 | |||
| 38 | |||
| 39 | |||
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | |||
| 44 | |||
| 45 | |||
| 46 | |||
| 47 | |||
| 48 | |||
| 49 | |||
| 50 | |||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | |||
| 55 | |||
| 56 | |||
| 57 | |||
| 58 | |||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 |