// Turns {h, s, v} triples into a macro, so that // the LEDS_ergodox macro can take them as inputs. #define LC_HSV(h, s, v) {h, s, v} // Rearrange a human-readable LED layout into the correct Ergodox order. // LEDS_ergodox ONLY WORKS WITH MACROS. // Don't input a standalone triple {h, s, v}; // Use LC_HSV if you need a single-instance color. #define LEDS_ergodox( \ l01,l02,l03,l04,l05, \ l06,l07,l08,l09,l10, \ l11,l12,l13,l14,l15, \ l16,l17,l18,l19,l20, \ l21,l22,l23,l24, \ \ l25,l26,l27,l28,l29, \ l30,l31,l32,l33,l34, \ l35,l36,l37,l38,l39, \ l40,l41,l42,l43,l44, \ l45,l46,l47,l48 \ ) \ { \ l25,l26,l27,l28,l29, \ l30,l31,l32,l33,l34, \ l35,l36,l37,l38,l39, \ l40,l41,l42,l43,l44, \ l45,l46,l47,l48, \ \ l05,l04,l03,l02,l01, \ l10,l09,l08,l07,l06, \ l15,l14,l13,l12,l11, \ l20,l19,l18,l17,l16, \ l24,l23,l22,l21 \ }