update protocol on HID according to hsgw's one
This commit is contained in:
@@ -973,8 +973,30 @@ void raw_hid_send(uint8_t *data, uint8_t length) {
|
|||||||
chnWrite(&drivers.raw_driver.driver, data, length);
|
chnWrite(&drivers.raw_driver.driver, data, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum HID_RGBLED_COMMAND { HID_PING = 0, HID_SET_HSV, HID_SET_RGB };
|
||||||
void raw_hid_receive(uint8_t *data, uint8_t length) {
|
void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||||
rgblight_setrgb(data[0], data[1], data[2]);
|
switch (data[0]) {
|
||||||
|
case HID_PING:
|
||||||
|
data[0] = 1;
|
||||||
|
data[1] = 'R';
|
||||||
|
data[2] = 'G';
|
||||||
|
data[3] = 'B';
|
||||||
|
break;
|
||||||
|
case HID_SET_HSV:
|
||||||
|
rgblight_sethsv_noeeprom(data[1], data[2], data[3]);
|
||||||
|
data[0] = 1;
|
||||||
|
break;
|
||||||
|
case HID_SET_RGB:
|
||||||
|
rgblight_setrgb(data[1], data[2], data[3]);
|
||||||
|
data[0] = 1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
data[1] = data[0];
|
||||||
|
data[0] = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
raw_hid_send(data, length);
|
||||||
|
//rgblight_setrgb(data[0], data[1], data[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void raw_hid_task(void) {
|
void raw_hid_task(void) {
|
||||||
|
|||||||
Reference in New Issue
Block a user