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;
// 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;
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;
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),
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
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 },
{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},
};