Move gamma correction from software to LUT
This commit is contained in:
parent
e13d522f4e
commit
ad433e2452
|
@ -1 +1 @@
|
||||||
482
|
507
|
||||||
|
|
|
@ -2,259 +2,260 @@
|
||||||
|
|
||||||
const LED_Colour_t Animation_ColourLUT[] =
|
const LED_Colour_t Animation_ColourLUT[] =
|
||||||
{
|
{
|
||||||
{ .r = 255, .g = 51, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 56 },
|
{ .r = 4096, .g = 145, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 61 },
|
{ .r = 4096, .g = 173, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 65 },
|
{ .r = 4096, .g = 205, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 70 },
|
{ .r = 4096, .g = 239, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 75 },
|
{ .r = 4096, .g = 277, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 80 },
|
{ .r = 4096, .g = 317, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 85 },
|
{ .r = 4096, .g = 360, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 89 },
|
{ .r = 4096, .g = 407, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 94 },
|
{ .r = 4096, .g = 456, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 99 },
|
{ .r = 4096, .g = 509, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 104 },
|
{ .r = 4096, .g = 565, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 109 },
|
{ .r = 4096, .g = 623, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 113 },
|
{ .r = 4096, .g = 686, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 118 },
|
{ .r = 4096, .g = 751, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 123 },
|
{ .r = 4096, .g = 820, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 128 },
|
{ .r = 4096, .g = 891, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 133 },
|
{ .r = 4096, .g = 967, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 137 },
|
{ .r = 4096, .g = 1045, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 142 },
|
{ .r = 4096, .g = 1127, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 147 },
|
{ .r = 4096, .g = 1212, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 152 },
|
{ .r = 4096, .g = 1301, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 157 },
|
{ .r = 4096, .g = 1393, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 161 },
|
{ .r = 4096, .g = 1489, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 166 },
|
{ .r = 4096, .g = 1588, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 171 },
|
{ .r = 4096, .g = 1690, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 176 },
|
{ .r = 4096, .g = 1796, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 181 },
|
{ .r = 4096, .g = 1906, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 185 },
|
{ .r = 4096, .g = 2019, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 190 },
|
{ .r = 4096, .g = 2135, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 195 },
|
{ .r = 4096, .g = 2256, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 200 },
|
{ .r = 4096, .g = 2380, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 205 },
|
{ .r = 4096, .g = 2507, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 209 },
|
{ .r = 4096, .g = 2638, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 214 },
|
{ .r = 4096, .g = 2773, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 219 },
|
{ .r = 4096, .g = 2911, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 224 },
|
{ .r = 4096, .g = 3053, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 229 },
|
{ .r = 4096, .g = 3199, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 233 },
|
{ .r = 4096, .g = 3349, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 238 },
|
{ .r = 4096, .g = 3502, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 243 },
|
{ .r = 4096, .g = 3659, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 248 },
|
{ .r = 4096, .g = 3820, .b = 119 },
|
||||||
{ .r = 255, .g = 51, .b = 253 },
|
{ .r = 4096, .g = 3984, .b = 119 },
|
||||||
{ .r = 253, .g = 51, .b = 255 },
|
{ .r = 4040, .g = 4096, .b = 119 },
|
||||||
{ .r = 248, .g = 51, .b = 255 },
|
{ .r = 3874, .g = 4096, .b = 119 },
|
||||||
{ .r = 243, .g = 51, .b = 255 },
|
{ .r = 3712, .g = 4096, .b = 119 },
|
||||||
{ .r = 238, .g = 51, .b = 255 },
|
{ .r = 3554, .g = 4096, .b = 119 },
|
||||||
{ .r = 233, .g = 51, .b = 255 },
|
{ .r = 3399, .g = 4096, .b = 119 },
|
||||||
{ .r = 229, .g = 51, .b = 255 },
|
{ .r = 3249, .g = 4096, .b = 119 },
|
||||||
{ .r = 224, .g = 51, .b = 255 },
|
{ .r = 3102, .g = 4096, .b = 119 },
|
||||||
{ .r = 219, .g = 51, .b = 255 },
|
{ .r = 2958, .g = 4096, .b = 119 },
|
||||||
{ .r = 214, .g = 51, .b = 255 },
|
{ .r = 2819, .g = 4096, .b = 119 },
|
||||||
{ .r = 209, .g = 51, .b = 255 },
|
{ .r = 2683, .g = 4096, .b = 119 },
|
||||||
{ .r = 205, .g = 51, .b = 255 },
|
{ .r = 2550, .g = 4096, .b = 119 },
|
||||||
{ .r = 200, .g = 51, .b = 255 },
|
{ .r = 2422, .g = 4096, .b = 119 },
|
||||||
{ .r = 195, .g = 51, .b = 255 },
|
{ .r = 2297, .g = 4096, .b = 119 },
|
||||||
{ .r = 190, .g = 51, .b = 255 },
|
{ .r = 2175, .g = 4096, .b = 119 },
|
||||||
{ .r = 185, .g = 51, .b = 255 },
|
{ .r = 2057, .g = 4096, .b = 119 },
|
||||||
{ .r = 181, .g = 51, .b = 255 },
|
{ .r = 1943, .g = 4096, .b = 119 },
|
||||||
{ .r = 176, .g = 51, .b = 255 },
|
{ .r = 1832, .g = 4096, .b = 119 },
|
||||||
{ .r = 171, .g = 51, .b = 255 },
|
{ .r = 1725, .g = 4096, .b = 119 },
|
||||||
{ .r = 166, .g = 51, .b = 255 },
|
{ .r = 1621, .g = 4096, .b = 119 },
|
||||||
{ .r = 161, .g = 51, .b = 255 },
|
{ .r = 1521, .g = 4096, .b = 119 },
|
||||||
{ .r = 157, .g = 51, .b = 255 },
|
{ .r = 1425, .g = 4096, .b = 119 },
|
||||||
{ .r = 152, .g = 51, .b = 255 },
|
{ .r = 1331, .g = 4096, .b = 119 },
|
||||||
{ .r = 147, .g = 51, .b = 255 },
|
{ .r = 1242, .g = 4096, .b = 119 },
|
||||||
{ .r = 142, .g = 51, .b = 255 },
|
{ .r = 1155, .g = 4096, .b = 119 },
|
||||||
{ .r = 137, .g = 51, .b = 255 },
|
{ .r = 1072, .g = 4096, .b = 119 },
|
||||||
{ .r = 133, .g = 51, .b = 255 },
|
{ .r = 992, .g = 4096, .b = 119 },
|
||||||
{ .r = 128, .g = 51, .b = 255 },
|
{ .r = 916, .g = 4096, .b = 119 },
|
||||||
{ .r = 123, .g = 51, .b = 255 },
|
{ .r = 843, .g = 4096, .b = 119 },
|
||||||
{ .r = 118, .g = 51, .b = 255 },
|
{ .r = 773, .g = 4096, .b = 119 },
|
||||||
{ .r = 113, .g = 51, .b = 255 },
|
{ .r = 707, .g = 4096, .b = 119 },
|
||||||
{ .r = 109, .g = 51, .b = 255 },
|
{ .r = 644, .g = 4096, .b = 119 },
|
||||||
{ .r = 104, .g = 51, .b = 255 },
|
{ .r = 584, .g = 4096, .b = 119 },
|
||||||
{ .r = 99, .g = 51, .b = 255 },
|
{ .r = 527, .g = 4096, .b = 119 },
|
||||||
{ .r = 94, .g = 51, .b = 255 },
|
{ .r = 473, .g = 4096, .b = 119 },
|
||||||
{ .r = 89, .g = 51, .b = 255 },
|
{ .r = 423, .g = 4096, .b = 119 },
|
||||||
{ .r = 85, .g = 51, .b = 255 },
|
{ .r = 375, .g = 4096, .b = 119 },
|
||||||
{ .r = 80, .g = 51, .b = 255 },
|
{ .r = 331, .g = 4096, .b = 119 },
|
||||||
{ .r = 75, .g = 51, .b = 255 },
|
{ .r = 290, .g = 4096, .b = 119 },
|
||||||
{ .r = 70, .g = 51, .b = 255 },
|
{ .r = 251, .g = 4096, .b = 119 },
|
||||||
{ .r = 65, .g = 51, .b = 255 },
|
{ .r = 216, .g = 4096, .b = 119 },
|
||||||
{ .r = 61, .g = 51, .b = 255 },
|
{ .r = 184, .g = 4096, .b = 119 },
|
||||||
{ .r = 56, .g = 51, .b = 255 },
|
{ .r = 154, .g = 4096, .b = 119 },
|
||||||
{ .r = 51, .g = 51, .b = 255 },
|
{ .r = 127, .g = 4096, .b = 119 },
|
||||||
{ .r = 51, .g = 56, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 136 },
|
||||||
{ .r = 51, .g = 61, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 163 },
|
||||||
{ .r = 51, .g = 65, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 194 },
|
||||||
{ .r = 51, .g = 70, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 227 },
|
||||||
{ .r = 51, .g = 75, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 264 },
|
||||||
{ .r = 51, .g = 80, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 303 },
|
||||||
{ .r = 51, .g = 85, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 346 },
|
||||||
{ .r = 51, .g = 89, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 391 },
|
||||||
{ .r = 51, .g = 94, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 439 },
|
||||||
{ .r = 51, .g = 99, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 491 },
|
||||||
{ .r = 51, .g = 104, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 546 },
|
||||||
{ .r = 51, .g = 109, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 603 },
|
||||||
{ .r = 51, .g = 113, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 665 },
|
||||||
{ .r = 51, .g = 118, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 729 },
|
||||||
{ .r = 51, .g = 123, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 796 },
|
||||||
{ .r = 51, .g = 128, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 867 },
|
||||||
{ .r = 51, .g = 133, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 941 },
|
||||||
{ .r = 51, .g = 137, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1019 },
|
||||||
{ .r = 51, .g = 142, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1099 },
|
||||||
{ .r = 51, .g = 147, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1184 },
|
||||||
{ .r = 51, .g = 152, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1271 },
|
||||||
{ .r = 51, .g = 157, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1362 },
|
||||||
{ .r = 51, .g = 161, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1456 },
|
||||||
{ .r = 51, .g = 166, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1554 },
|
||||||
{ .r = 51, .g = 171, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1656 },
|
||||||
{ .r = 51, .g = 176, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1760 },
|
||||||
{ .r = 51, .g = 181, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1869 },
|
||||||
{ .r = 51, .g = 185, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 1981 },
|
||||||
{ .r = 51, .g = 190, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2096 },
|
||||||
{ .r = 51, .g = 195, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2215 },
|
||||||
{ .r = 51, .g = 200, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2338 },
|
||||||
{ .r = 51, .g = 205, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2464 },
|
||||||
{ .r = 51, .g = 209, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2594 },
|
||||||
{ .r = 51, .g = 214, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2728 },
|
||||||
{ .r = 51, .g = 219, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 2865 },
|
||||||
{ .r = 51, .g = 224, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3006 },
|
||||||
{ .r = 51, .g = 229, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3150 },
|
||||||
{ .r = 51, .g = 233, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3298 },
|
||||||
{ .r = 51, .g = 238, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3450 },
|
||||||
{ .r = 51, .g = 243, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3606 },
|
||||||
{ .r = 51, .g = 248, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3766 },
|
||||||
{ .r = 51, .g = 253, .b = 255 },
|
{ .r = 119, .g = 4096, .b = 3929 },
|
||||||
{ .r = 51, .g = 255, .b = 253 },
|
{ .r = 119, .g = 4096, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 248 },
|
{ .r = 119, .g = 3929, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 243 },
|
{ .r = 119, .g = 3766, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 238 },
|
{ .r = 119, .g = 3606, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 233 },
|
{ .r = 119, .g = 3450, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 229 },
|
{ .r = 119, .g = 3298, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 224 },
|
{ .r = 119, .g = 3150, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 219 },
|
{ .r = 119, .g = 3006, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 214 },
|
{ .r = 119, .g = 2865, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 209 },
|
{ .r = 119, .g = 2728, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 205 },
|
{ .r = 119, .g = 2594, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 200 },
|
{ .r = 119, .g = 2464, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 195 },
|
{ .r = 119, .g = 2338, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 190 },
|
{ .r = 119, .g = 2215, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 185 },
|
{ .r = 119, .g = 2096, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 181 },
|
{ .r = 119, .g = 1981, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 176 },
|
{ .r = 119, .g = 1869, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 171 },
|
{ .r = 119, .g = 1760, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 166 },
|
{ .r = 119, .g = 1656, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 161 },
|
{ .r = 119, .g = 1554, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 157 },
|
{ .r = 119, .g = 1456, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 152 },
|
{ .r = 119, .g = 1362, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 147 },
|
{ .r = 119, .g = 1271, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 142 },
|
{ .r = 119, .g = 1184, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 137 },
|
{ .r = 119, .g = 1099, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 133 },
|
{ .r = 119, .g = 1019, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 128 },
|
{ .r = 119, .g = 941, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 123 },
|
{ .r = 119, .g = 867, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 118 },
|
{ .r = 119, .g = 796, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 113 },
|
{ .r = 119, .g = 729, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 109 },
|
{ .r = 119, .g = 665, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 104 },
|
{ .r = 119, .g = 603, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 99 },
|
{ .r = 119, .g = 546, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 94 },
|
{ .r = 119, .g = 491, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 89 },
|
{ .r = 119, .g = 439, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 85 },
|
{ .r = 119, .g = 391, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 80 },
|
{ .r = 119, .g = 346, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 75 },
|
{ .r = 119, .g = 303, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 70 },
|
{ .r = 119, .g = 264, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 65 },
|
{ .r = 119, .g = 227, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 61 },
|
{ .r = 119, .g = 194, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 56 },
|
{ .r = 119, .g = 163, .b = 4096 },
|
||||||
{ .r = 51, .g = 255, .b = 51 },
|
{ .r = 119, .g = 136, .b = 4096 },
|
||||||
{ .r = 56, .g = 255, .b = 51 },
|
{ .r = 127, .g = 119, .b = 4096 },
|
||||||
{ .r = 61, .g = 255, .b = 51 },
|
{ .r = 154, .g = 119, .b = 4096 },
|
||||||
{ .r = 65, .g = 255, .b = 51 },
|
{ .r = 184, .g = 119, .b = 4096 },
|
||||||
{ .r = 70, .g = 255, .b = 51 },
|
{ .r = 216, .g = 119, .b = 4096 },
|
||||||
{ .r = 75, .g = 255, .b = 51 },
|
{ .r = 251, .g = 119, .b = 4096 },
|
||||||
{ .r = 80, .g = 255, .b = 51 },
|
{ .r = 290, .g = 119, .b = 4096 },
|
||||||
{ .r = 85, .g = 255, .b = 51 },
|
{ .r = 331, .g = 119, .b = 4096 },
|
||||||
{ .r = 89, .g = 255, .b = 51 },
|
{ .r = 375, .g = 119, .b = 4096 },
|
||||||
{ .r = 94, .g = 255, .b = 51 },
|
{ .r = 423, .g = 119, .b = 4096 },
|
||||||
{ .r = 99, .g = 255, .b = 51 },
|
{ .r = 473, .g = 119, .b = 4096 },
|
||||||
{ .r = 104, .g = 255, .b = 51 },
|
{ .r = 527, .g = 119, .b = 4096 },
|
||||||
{ .r = 109, .g = 255, .b = 51 },
|
{ .r = 584, .g = 119, .b = 4096 },
|
||||||
{ .r = 113, .g = 255, .b = 51 },
|
{ .r = 644, .g = 119, .b = 4096 },
|
||||||
{ .r = 118, .g = 255, .b = 51 },
|
{ .r = 707, .g = 119, .b = 4096 },
|
||||||
{ .r = 123, .g = 255, .b = 51 },
|
{ .r = 773, .g = 119, .b = 4096 },
|
||||||
{ .r = 128, .g = 255, .b = 51 },
|
{ .r = 843, .g = 119, .b = 4096 },
|
||||||
{ .r = 133, .g = 255, .b = 51 },
|
{ .r = 916, .g = 119, .b = 4096 },
|
||||||
{ .r = 137, .g = 255, .b = 51 },
|
{ .r = 992, .g = 119, .b = 4096 },
|
||||||
{ .r = 142, .g = 255, .b = 51 },
|
{ .r = 1072, .g = 119, .b = 4096 },
|
||||||
{ .r = 147, .g = 255, .b = 51 },
|
{ .r = 1155, .g = 119, .b = 4096 },
|
||||||
{ .r = 152, .g = 255, .b = 51 },
|
{ .r = 1242, .g = 119, .b = 4096 },
|
||||||
{ .r = 157, .g = 255, .b = 51 },
|
{ .r = 1331, .g = 119, .b = 4096 },
|
||||||
{ .r = 161, .g = 255, .b = 51 },
|
{ .r = 1425, .g = 119, .b = 4096 },
|
||||||
{ .r = 166, .g = 255, .b = 51 },
|
{ .r = 1521, .g = 119, .b = 4096 },
|
||||||
{ .r = 171, .g = 255, .b = 51 },
|
{ .r = 1621, .g = 119, .b = 4096 },
|
||||||
{ .r = 176, .g = 255, .b = 51 },
|
{ .r = 1725, .g = 119, .b = 4096 },
|
||||||
{ .r = 181, .g = 255, .b = 51 },
|
{ .r = 1832, .g = 119, .b = 4096 },
|
||||||
{ .r = 185, .g = 255, .b = 51 },
|
{ .r = 1943, .g = 119, .b = 4096 },
|
||||||
{ .r = 190, .g = 255, .b = 51 },
|
{ .r = 2057, .g = 119, .b = 4096 },
|
||||||
{ .r = 195, .g = 255, .b = 51 },
|
{ .r = 2175, .g = 119, .b = 4096 },
|
||||||
{ .r = 200, .g = 255, .b = 51 },
|
{ .r = 2297, .g = 119, .b = 4096 },
|
||||||
{ .r = 205, .g = 255, .b = 51 },
|
{ .r = 2422, .g = 119, .b = 4096 },
|
||||||
{ .r = 209, .g = 255, .b = 51 },
|
{ .r = 2550, .g = 119, .b = 4096 },
|
||||||
{ .r = 214, .g = 255, .b = 51 },
|
{ .r = 2683, .g = 119, .b = 4096 },
|
||||||
{ .r = 219, .g = 255, .b = 51 },
|
{ .r = 2819, .g = 119, .b = 4096 },
|
||||||
{ .r = 224, .g = 255, .b = 51 },
|
{ .r = 2958, .g = 119, .b = 4096 },
|
||||||
{ .r = 229, .g = 255, .b = 51 },
|
{ .r = 3102, .g = 119, .b = 4096 },
|
||||||
{ .r = 233, .g = 255, .b = 51 },
|
{ .r = 3249, .g = 119, .b = 4096 },
|
||||||
{ .r = 238, .g = 255, .b = 51 },
|
{ .r = 3399, .g = 119, .b = 4096 },
|
||||||
{ .r = 243, .g = 255, .b = 51 },
|
{ .r = 3554, .g = 119, .b = 4096 },
|
||||||
{ .r = 248, .g = 255, .b = 51 },
|
{ .r = 3712, .g = 119, .b = 4096 },
|
||||||
{ .r = 253, .g = 255, .b = 51 },
|
{ .r = 3874, .g = 119, .b = 4096 },
|
||||||
{ .r = 255, .g = 253, .b = 51 },
|
{ .r = 4040, .g = 119, .b = 4096 },
|
||||||
{ .r = 255, .g = 248, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3984 },
|
||||||
{ .r = 255, .g = 243, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3820 },
|
||||||
{ .r = 255, .g = 238, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3659 },
|
||||||
{ .r = 255, .g = 233, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3502 },
|
||||||
{ .r = 255, .g = 229, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3349 },
|
||||||
{ .r = 255, .g = 224, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3199 },
|
||||||
{ .r = 255, .g = 219, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 3053 },
|
||||||
{ .r = 255, .g = 214, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2911 },
|
||||||
{ .r = 255, .g = 209, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2773 },
|
||||||
{ .r = 255, .g = 205, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2638 },
|
||||||
{ .r = 255, .g = 200, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2507 },
|
||||||
{ .r = 255, .g = 195, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2380 },
|
||||||
{ .r = 255, .g = 190, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2256 },
|
||||||
{ .r = 255, .g = 185, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2135 },
|
||||||
{ .r = 255, .g = 181, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 2019 },
|
||||||
{ .r = 255, .g = 176, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1906 },
|
||||||
{ .r = 255, .g = 171, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1796 },
|
||||||
{ .r = 255, .g = 166, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1690 },
|
||||||
{ .r = 255, .g = 161, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1588 },
|
||||||
{ .r = 255, .g = 157, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1489 },
|
||||||
{ .r = 255, .g = 152, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1393 },
|
||||||
{ .r = 255, .g = 147, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1301 },
|
||||||
{ .r = 255, .g = 142, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1212 },
|
||||||
{ .r = 255, .g = 137, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1127 },
|
||||||
{ .r = 255, .g = 133, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 1045 },
|
||||||
{ .r = 255, .g = 128, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 967 },
|
||||||
{ .r = 255, .g = 123, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 891 },
|
||||||
{ .r = 255, .g = 118, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 820 },
|
||||||
{ .r = 255, .g = 113, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 751 },
|
||||||
{ .r = 255, .g = 109, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 686 },
|
||||||
{ .r = 255, .g = 104, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 623 },
|
||||||
{ .r = 255, .g = 99, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 565 },
|
||||||
{ .r = 255, .g = 94, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 509 },
|
||||||
{ .r = 255, .g = 89, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 456 },
|
||||||
{ .r = 255, .g = 85, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 407 },
|
||||||
{ .r = 255, .g = 80, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 360 },
|
||||||
{ .r = 255, .g = 75, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 317 },
|
||||||
{ .r = 255, .g = 70, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 277 },
|
||||||
{ .r = 255, .g = 65, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 239 },
|
||||||
{ .r = 255, .g = 61, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 205 },
|
||||||
{ .r = 255, .g = 56, .b = 51 },
|
{ .r = 4096, .g = 119, .b = 173 },
|
||||||
|
{ .r = 4096, .g = 119, .b = 145 },
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
|
|
||||||
extern const LED_Colour_t Animation_ColourLUT[255];
|
extern const LED_Colour_t Animation_ColourLUT[256];
|
||||||
|
|
10
src/led.c
10
src/led.c
|
@ -105,15 +105,13 @@ void LED_Commit(void)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < LED_COLUMNS; i++)
|
for(int i = 0; i < LED_COLUMNS; i++)
|
||||||
{
|
{
|
||||||
// Use pixel data as a raw byte buffer to get R, G, B in order
|
// Use pixel data as a raw word buffer to get R, G, B in order
|
||||||
uint8_t colour_value = ((uint8_t*)LED_PixelData)[r * LED_COLUMNS + i];
|
uint16_t colour_value =
|
||||||
uint16_t gamma_corrected = (uint16_t)colour_value;
|
((uint16_t*)LED_PixelData)[r * LED_COLUMNS + i];
|
||||||
gamma_corrected *= gamma_corrected;
|
|
||||||
gamma_corrected >>= 16 - LED_BITS;
|
|
||||||
|
|
||||||
for(int j = 0; j < LED_BITS; j++)
|
for(int j = 0; j < LED_BITS; j++)
|
||||||
{
|
{
|
||||||
if(gamma_corrected & (1 << j))
|
if(colour_value & (1 << j))
|
||||||
{
|
{
|
||||||
LED_BackBuffer[r * (LED_BITS + 1) + j] &=
|
LED_BackBuffer[r * (LED_BITS + 1) + j] &=
|
||||||
~(1 << LED_Pins[i]);
|
~(1 << LED_Pins[i]);
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint8_t r;
|
uint16_t r;
|
||||||
uint8_t g;
|
uint16_t g;
|
||||||
uint8_t b;
|
uint16_t b;
|
||||||
} __attribute__((packed)) LED_Colour_t;
|
} __attribute__((packed, aligned(2))) LED_Colour_t;
|
||||||
|
|
||||||
// Pixel data, not displayed until LED_Commit() is called
|
// Pixel data, not displayed until LED_Commit() is called
|
||||||
extern LED_Colour_t LED_PixelData[LED_COUNT];
|
extern LED_Colour_t LED_PixelData[LED_COUNT];
|
||||||
|
|
Loading…
Reference in a new issue