1
0
mirror of https://github.com/MatMoul/g810-led.git synced 2025-12-24 15:52:36 +00:00

Add wave effect

This commit is contained in:
2016-12-30 21:35:26 +01:00
parent 3b13f247b5
commit 4bfa9811b3
3 changed files with 213 additions and 0 deletions

View File

@@ -978,3 +978,149 @@ bool Keyboard::setFXColorCycle(uint8_t speed) {
return retval;
}
bool Keyboard::setFXHWave(uint8_t speed) {
bool retval = false;
int data_size = 20;
unsigned char *data = new unsigned char[data_size];
// Keys
data[0] = 0x11; // Base address
data[1] = 0xff; // Base address
data[2] = 0x0d; // Base address
data[3] = 0x3b; // Base address
data[4] = 0x00; // Base address
data[5] = 0x04; // Base address
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x88;
data[13] = 0x01;
data[14] = 0x64;
data[15] = speed; // Speed
for(int i = 16; i < data_size; i++) data[i] = 0x00;
retval = sendDataInternal(data, data_size);
// Logo
data[0] = 0x11; // Base address
data[1] = 0xff; // Base address
data[2] = 0x0d; // Base address
data[3] = 0x3b; // Base address
data[4] = 0x01; // Base address
data[5] = 0x03; // Base address
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = speed; // Speed
data[12] = 0x88;
data[13] = 0x64;
data[14] = 0x00;
data[15] = 0x00;
for(int i = 16; i < data_size; i++) data[i] = 0x00;
retval = sendDataInternal(data, data_size);
delete[] data;
return retval;
}
bool Keyboard::setFXVWave(uint8_t speed) {
bool retval = false;
int data_size = 20;
unsigned char *data = new unsigned char[data_size];
// Keys
data[0] = 0x11; // Base address
data[1] = 0xff; // Base address
data[2] = 0x0d; // Base address
data[3] = 0x3b; // Base address
data[4] = 0x00; // Base address
data[5] = 0x04; // Base address
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x88;
data[13] = 0x02;
data[14] = 0x64;
data[15] = speed; // Speed
for(int i = 16; i < data_size; i++) data[i] = 0x00;
retval = sendDataInternal(data, data_size);
// Logo
data[0] = 0x11; // Base address
data[1] = 0xff; // Base address
data[2] = 0x0d; // Base address
data[3] = 0x3b; // Base address
data[4] = 0x01; // Base address
data[5] = 0x03; // Base address
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = speed; // Speed
data[12] = 0x88;
data[13] = 0x64;
data[14] = 0x00;
data[15] = 0x00;
for(int i = 16; i < data_size; i++) data[i] = 0x00;
retval = sendDataInternal(data, data_size);
delete[] data;
return retval;
}
bool Keyboard::setFXCWave(uint8_t speed) {
bool retval = false;
int data_size = 20;
unsigned char *data = new unsigned char[data_size];
// Keys
data[0] = 0x11; // Base address
data[1] = 0xff; // Base address
data[2] = 0x0d; // Base address
data[3] = 0x3b; // Base address
data[4] = 0x00; // Base address
data[5] = 0x04; // Base address
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x88;
data[13] = 0x03;
data[14] = 0x64;
data[15] = speed; // Speed
for(int i = 16; i < data_size; i++) data[i] = 0x00;
retval = sendDataInternal(data, data_size);
// Logo
data[0] = 0x11; // Base address
data[1] = 0xff; // Base address
data[2] = 0x0d; // Base address
data[3] = 0x3b; // Base address
data[4] = 0x01; // Base address
data[5] = 0x03; // Base address
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = speed; // Speed
data[12] = 0x88;
data[13] = 0x64;
data[14] = 0x00;
data[15] = 0x00;
for(int i = 16; i < data_size; i++) data[i] = 0x00;
retval = sendDataInternal(data, data_size);
delete[] data;
return retval;
}

View File

@@ -55,6 +55,9 @@ class Keyboard {
bool setFXColor(KeyColors colors);
bool setFXBreathing(KeyColors colors, uint8_t speed);
bool setFXColorCycle(uint8_t speed);
bool setFXHWave(uint8_t speed);
bool setFXVWave(uint8_t speed);
bool setFXCWave(uint8_t speed);
private: