|
9 | 9 |
|
10 | 10 | #include "EKController.h" |
11 | 11 |
|
| 12 | +static unsigned char colour_mode_data[][16] = |
| 13 | +{ |
| 14 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 15 | + 0x00, 0x10, 0x20, 0x01, 0x01, 0x00, 0xFF, 0x64}, // Static |
| 16 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 17 | + 0x00, 0x10, 0x20, 0x01, 0x02, 0x00, 0xFF, 0x64}, // Breathing |
| 18 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 19 | + 0x00, 0x10, 0x20, 0x01, 0x03, 0xFF, 0xFF, 0x64}, // Fading |
| 20 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 21 | + 0x00, 0x10, 0x20, 0x01, 0x04, 0x00, 0xFF, 0x64}, // Marquee |
| 22 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 23 | + 0x00, 0x10, 0x20, 0x01, 0x05, 0x00, 0xFF, 0x64}, // Covering Marquee |
| 24 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 25 | + 0x00, 0x10, 0x20, 0x01, 0x06, 0x00, 0xFF, 0x64}, // Pulse |
| 26 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 27 | + 0x00, 0x10, 0x20, 0x01, 0x07, 0x00, 0xFF, 0x64}, // Wave |
| 28 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 29 | + 0x00, 0x10, 0x20, 0x01, 0x08, 0x00, 0xFF, 0x64}, // Alternating |
| 30 | + { 0x10, 0x12, 0x29, 0xAA, 0x01, 0x10, 0xA2, 0x60, |
| 31 | + 0x00, 0x10, 0x20, 0x01, 0x09, 0x00, 0xFF, 0x64}, // Candle |
| 32 | +}; |
| 33 | + |
| 34 | +static unsigned char speed_mode_data[][9] = |
| 35 | +{ |
| 36 | + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // Static |
| 37 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Breathing |
| 38 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Fading |
| 39 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Marquee |
| 40 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Covering Marquee |
| 41 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Pulse |
| 42 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Wave |
| 43 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 }, // Alternating |
| 44 | + { 0x00, 0x0C, 0x19, 0x25, 0x32, 0x3E, 0x4B, 0x57, 0x64 } // Candle |
| 45 | +}; |
| 46 | + |
12 | 47 | EKController::EKController(hid_device* dev_handle, wchar_t *_vendor, wchar_t *_device_name, char *_path) |
13 | 48 | { |
14 | | - int tmp_size = wcslen(_vendor); |
| 49 | + std::size_t tmp_size = wcslen(_vendor); |
15 | 50 |
|
16 | 51 | dev = dev_handle; |
17 | 52 |
|
18 | | - for(int i=0; (i < tmp_size) && (i < EK_DEVICE_NAME_SIZE); i++) |
| 53 | + for(std::size_t i = 0; (i < tmp_size) && (i < EK_DEVICE_NAME_SIZE); i++) |
19 | 54 | { |
20 | 55 | device_name[i] = (char)_vendor[i]; |
21 | 56 | } |
22 | 57 |
|
23 | | - for(int j=0; (j < wcslen(_vendor)) && ((tmp_size + j) < EK_DEVICE_NAME_SIZE); j++) |
| 58 | + for(std::size_t j = 0; (j < wcslen(_vendor)) && ((tmp_size + j) < EK_DEVICE_NAME_SIZE); j++) |
24 | 59 | { |
25 | | - device_name[tmp_size+j] = (char)_device_name[j]; |
| 60 | + device_name[tmp_size + j] = (char)_device_name[j]; |
26 | 61 | } |
27 | 62 |
|
28 | 63 | location = _path; |
29 | 64 |
|
30 | | - current_mode = EK_MODE_STATIC; |
| 65 | + current_mode = EK_MODE_STATIC; |
31 | 66 | current_speed = EK_SPEED_NORMAL; |
32 | 67 | } |
33 | 68 |
|
@@ -76,15 +111,15 @@ void EKController::SendUpdate() |
76 | 111 | unsigned char buffer[EK_PACKET_LENGTH] = { 0x00 }; |
77 | 112 | int buffer_size = (sizeof(buffer) / sizeof(buffer[0])); |
78 | 113 |
|
79 | | - for(int i = 0; i < EK_COLOUR_MODE_DATA_SIZE; i++) |
| 114 | + for(std::size_t i = 0; i < EK_COLOUR_MODE_DATA_SIZE; i++) |
80 | 115 | { |
81 | 116 | buffer[i] = colour_mode_data[current_mode][i]; |
82 | 117 | } |
83 | 118 |
|
84 | 119 | //Set the relevant colour info |
85 | | - buffer[EK_RED_BYTE] = current_red; |
| 120 | + buffer[EK_RED_BYTE] = current_red; |
86 | 121 | buffer[EK_GREEN_BYTE] = current_green; |
87 | | - buffer[EK_BLUE_BYTE] = current_blue; |
| 122 | + buffer[EK_BLUE_BYTE] = current_blue; |
88 | 123 | buffer[EK_SPEED_BYTE] = speed_mode_data[current_mode][current_speed]; |
89 | 124 |
|
90 | 125 | buffer[10] = 0x10; |
|
0 commit comments