45,20 → 45,32 |
} |
} |
|
void NeoPixel_Set(uint8_t index, uint8_t R, uint8_t G, uint8_t B) { |
void NeoPixel_Set(uint8_t index, uint8_t R, uint8_t G, uint8_t B, uint8_t multiplier) { |
uint8_t i = ((index + neopixel_data.offset) % NEOPIXEL_LENGTH); |
|
neopixel_data.values[(i * 3) + 0] = G; |
neopixel_data.values[(i * 3) + 1] = R; |
neopixel_data.values[(i * 3) + 2] = B; |
if (G == 0) |
neopixel_data.values[(i * 3) + 0] = 0; |
else |
neopixel_data.values[(i * 3) + 0] = (G * multiplier) - 1; |
if (R == 0) |
neopixel_data.values[(i * 3) + 1] = 0; |
else |
neopixel_data.values[(i * 3) + 1] = (R * multiplier) - 1; |
if (B == 0) |
neopixel_data.values[(i * 3) + 2] = 0; |
else |
neopixel_data.values[(i * 3) + 2] = (B * multiplier) - 1; |
} |
|
void NeoPixel_Or(uint8_t index, uint8_t R, uint8_t G, uint8_t B) { |
void NeoPixel_Or(uint8_t index, uint8_t R, uint8_t G, uint8_t B, uint8_t multiplier) { |
uint8_t i = ((index + neopixel_data.offset) % NEOPIXEL_LENGTH); |
|
neopixel_data.values[(i * 3) + 0] |= G; |
neopixel_data.values[(i * 3) + 1] |= R; |
neopixel_data.values[(i * 3) + 2] |= B; |
if (G != 0) |
neopixel_data.values[(i * 3) + 0] |= (G * multiplier) - 1; |
if (R != 0) |
neopixel_data.values[(i * 3) + 1] |= (R * multiplier) - 1; |
if (B != 0) |
neopixel_data.values[(i * 3) + 2] |= (B * multiplier) - 1; |
} |
|
void NeoPixel_Write_All(void) { |