264,6 → 264,8 |
case 'M': { |
WriteMotorMixerResponseFrame f = new WriteMotorMixerResponseFrame(address); |
f.setWasAccepted(base64InputStream.readByte() != 0); |
result = f; |
break; |
} |
case 'N': { |
int numMotors = 12; |
271,18 → 273,21 |
f.setConfigurationVersion(base64InputStream.readByte()); |
int length = base64InputStream.readByte(); |
f.setDataLength(length); |
int testLength = 0; |
int testLength = 12; // the name is first! |
char[] name = base64InputStream.readChars(12); |
f.setName(name); |
int[][] matrix = new int[numMotors][]; |
for(int i=0; i<numMotors; i++) { |
int[] row = new int[4]; |
for(int j=0; j<4; j++) { |
matrix[i][j] = base64InputStream.readByte(); |
int[] row = new int[5]; |
matrix[i] = row; |
for(int j=0; j<5; j++) { |
row[j] = base64InputStream.readSignedByte(); |
testLength++; |
} |
} |
|
if (length != testLength) |
throw new IOException("Length of motor mixer data was not as expected."); |
throw new IOException("Length of motor mixer data was not as expected (" + testLength + " vs. " + length + ")."); |
/* |
int[] opposite = new int[numMotors]; |
for(int i=0; i<numMotors; i++) { |
289,10 → 294,9 |
opposite[i] = base64InputStream.readByte(); |
} |
*/ |
|
f.setMatrix(matrix); |
|
result = f; |
break; |
} |
case 'O': { |
OSDDataResponseFrame f = new OSDDataResponseFrame(address); |