+ public PandaDriver(String ip, int[] pointList) {
+ this(ip);
+ for (int i = 0; i < pointList.length && i < points.length; ++i) {
+ this.points[i] = pointList[i];
+ }
+ }
+
+ public PandaDriver(String ip, Model model, PandaMapping pm) {
+ this(ip);
+ buildPointList(model, pm);
+ }
+
+ public void toggle() {
+ enabled = !enabled;
+ println("PandaBoard/" + ip + ": " + (enabled ? "ON" : "OFF"));
+ }
+
+ private void buildPointList(Model model, PandaMapping pm) {
+ final int[][] stripOrderings = 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
+ };
+
+ int pi = 0;
+ for (int[] channel : pm.channelList) {