Documentation on mapping functionality
authorMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Thu, 22 Aug 2013 08:19:39 +0000 (01:19 -0700)
committerMark Slee <mcslee@Mark-Slees-MacBook-Pro.local>
Thu, 22 Aug 2013 08:19:39 +0000 (01:19 -0700)
_Mappings.pde
_PandaDriver.pde

index 91bd543ee0123f9b873750f29776d79ab2ec7730..01aaa2a3927590166e971ae71a97e6012d10978b 100644 (file)
@@ -22,8 +22,10 @@ public Model buildModel() {
   final Cube.Wiring WRL = Cube.Wiring.REAR_LEFT;
   final Cube.Wiring WRR = Cube.Wiring.REAR_RIGHT;
   
+  // Utility value if you need the height of a cube shorthand
   final float CH = Cube.EDGE_HEIGHT;
   
+  // Positions for the bass box
   final float BBY = BassBox.EDGE_HEIGHT + BoothFloor.PLEXI_WIDTH;
   final float BBX = 56;
   final float BBZ = 2;
@@ -78,10 +80,15 @@ public Model buildModel() {
 
   // The speakers!
   List<Speaker> speakers = Arrays.asList(new Speaker[] {
+    // each speaker parameter is x, y, z, rotation, the left speaker comes first
     new Speaker(-12, 6, 0, 15),
     new Speaker(TRAILER_WIDTH - Speaker.EDGE_WIDTH + 8, 6, 3, -15)
   });
 
+  //////////////////////////////////////////////////////////////////////
+  //      BENEATH HERE SHOULD NOT REQUIRE ANY MODIFICATION!!!!        //
+  //////////////////////////////////////////////////////////////////////
+
   // These guts just convert the shorthand mappings into usable objects
   ArrayList<Tower> towerList = new ArrayList<Tower>();
   ArrayList<Cube> tower;
@@ -106,6 +113,10 @@ public Model buildModel() {
   return new Model(towerList, cubes, bassBox, speakers);
 }
 
+/**
+ * This function maps the panda boards. We have an array of them, each has
+ * an IP address and a list of channels.
+ */
 public PandaMapping[] buildPandaList() {
   final int LEFT_SPEAKER = 0;
   final int RIGHT_SPEAKER = 1;
@@ -119,7 +130,7 @@ public PandaMapping[] buildPandaList() {
         new ChannelMapping(),
         new ChannelMapping(),
         new ChannelMapping(),
-        new ChannelMapping(),        
+        new ChannelMapping(),
         new ChannelMapping(ChannelMapping.MODE_BASS),
         new ChannelMapping(ChannelMapping.MODE_STRUTS_AND_FLOOR),
         new ChannelMapping(ChannelMapping.MODE_SPEAKER, LEFT_SPEAKER),
index d6cd995b69080193e90e0f401f04f0ca1b6cefb5..d2998a729cdcc22342a5e02899d886cbc4e1d691 100644 (file)
@@ -53,6 +53,40 @@ public static class PandaDriver {
   private final static int FORWARD = -1;
   private final static int BACKWARD = -2;
 
+  ////////////////////////////////////////////////////////////////
+  //
+  // READ THIS RIGHT NOW BEFORE YOU MODIFY THE BELOW!!!!!!!!!!!!!
+  // READ THIS RIGHT NOW BEFORE YOU MODIFY THE BELOW!!!!!!!!!!!!!
+  // READ THIS RIGHT NOW BEFORE YOU MODIFY THE BELOW!!!!!!!!!!!!!
+  //
+  // The mappings below indicate the physical order of strips
+  // connected to a pandaboard channel. The strip numbers are a
+  // reflection of how the model is built.
+  //
+  // For ANYTHING in the model which is a rectangular prism,
+  // which means Cubes, the BassBox, and each Speaker, the
+  // strips are numbered incrementally by face. The first
+  // face is always the FRONT, which you are looking at.
+  // The next face is the RIGHT, then the BACK, then the LEFT.
+  //
+  // For every face, the strips are ordered numerically moving
+  // clockwise from the the TOP LEFT.
+  //
+  // So, for a cube:
+  //
+  //  Strip 0: front face, top strip, left to right
+  //  Strip 1: front face, right strip, top to bottom
+  //  Strip 2: front face, bottom strip, right to left
+  //  Strip 3: front face, left strip, bottom to top
+  //
+  //  Strip 4: right face, top strip, left to right
+  //  ... and so on
+  //  Strip 14: left face, bottom strip, right to left
+  //  Strip 15: left face, left strip, bottom to top
+  //
+  ////////////////////////////////////////////////////////////////
+  
+
   /**
    * These constant arrays indicate the order in which the strips of a cube
    * are wired. There are four different options, depending on which bottom
@@ -67,8 +101,8 @@ public static class PandaDriver {
   
   private final static int[][] BASS_STRIP_ORDERING = {
     // front face, counterclockwise from bottom front left
-    {2, BACKWARD }, 
-    {1, BACKWARD },
+    {2, BACKWARD /* if this strip has extra pixels, you can add them here */ /*, 4 */ }, 
+    {1, BACKWARD /* if this strip is short some pixels, substract them here */ /*, -3 */ },
     {0, BACKWARD },
     {3, BACKWARD },
     
@@ -98,7 +132,7 @@ public static class PandaDriver {
     {3, FORWARD},
     {2, BACKWARD},
     {1, FORWARD},
-    {0, BACKWARD, /* dummy pixels at the end of string, remove when strip is fixed  */ 4},
+    {0, BACKWARD},
     {7, FORWARD},    
   };