+ /**
+ * These constant arrays indicate the order in which the strips of a cube
+ * are wired. There are four different options, depending on which bottom
+ * corner of the cube the data wire comes in.
+ */
+ private final static int[][] CUBE_STRIP_ORDERINGS = new int[][] {
+ { 2, 1, 0, 3, 13, 12, 15, 14, 4, 7, 6, 5, 11, 10, 9, 8 }, // FRONT_LEFT
+ { 6, 5, 4, 7, 1, 0, 3, 2, 8, 11, 10, 9, 15, 14, 13, 12 }, // FRONT_RIGHT
+ { 14, 13, 12, 15, 9, 8, 11, 10, 0, 3, 2, 1, 7, 6, 5, 4 }, // REAR_LEFT
+ { 10, 9, 8, 11, 5, 4, 7, 6, 12, 15, 14, 13, 3, 2, 1, 0 }, // REAR_RIGHT
+ };
+
+ private final static int[][] BASS_STRIP_ORDERING = {
+ {0, FORWARD },
+ {1, FORWARD },
+ {2, FORWARD },
+ {3, FORWARD },
+ {4, FORWARD },
+ {5, FORWARD },
+ {6, FORWARD },
+ {7, FORWARD },
+ {8, FORWARD },
+ {9, FORWARD },
+ {10, FORWARD },
+ {11, FORWARD },
+ {12, FORWARD },
+ {13, FORWARD },
+ {14, FORWARD },
+ {15, FORWARD },
+ {16, FORWARD },
+ {17, FORWARD },
+ {18, FORWARD },
+ {19, FORWARD },
+ {20, FORWARD },
+ {21, FORWARD },
+ {22, FORWARD },
+ };
+
+ private final static int[][] FLOOR_STRIP_ORDERING = {
+ {0, FORWARD},
+ {1, FORWARD},
+ {2, FORWARD},
+ {3, FORWARD},
+ };
+
+ private final static int[][] SPEAKER_STRIP_ORDERING = {
+ {0, FORWARD },
+ {1, FORWARD },
+ {2, FORWARD },
+ {3, FORWARD },
+ {4, FORWARD },
+ {5, FORWARD },
+ {6, FORWARD },
+ {7, FORWARD },
+ {8, FORWARD },
+ {9, FORWARD },
+ {10, FORWARD },
+ {11, FORWARD },
+ {12, FORWARD },
+ {13, FORWARD },
+ {14, FORWARD },
+ {15, FORWARD },
+ };
+