53,8 → 53,11 |
System.out.println("Writing motor mixer from file: " + fileName); |
InputStream inputStream = new FileInputStream(fileName); |
MotorMixer mm = new MotorMixer(); |
mm.parseXMLMotorMixer(inputStream); |
WriteMotorMixerRequestFrame frame = new WriteMotorMixerRequestFrame(1, mm.toBinary()); |
mm.parseXML(inputStream); |
char[] name = new char[12]; |
mm.getName().getChars(0, mm.getName().length(), name, 0); |
WriteMotorMixerRequestFrame frame = new WriteMotorMixerRequestFrame(1, name, mm.toBinary()); |
|
configure(portIdentifier, frame); |
} |
|
70,9 → 73,17 |
if (r == null) { |
System.err.println("ERROR. Timeout waiting for response."); |
} else { |
int[][] matrix = r.getMatrix(); |
mm.setMatrix(matrix); |
System.out.println(mm.toXML()); |
mm.setMatrix(r.getMatrix()); |
char[] name = r.getName(); |
int firstNulPos = name.length; |
for (int i=0; i<name.length; i++) { |
if (name[i] == 0) { |
firstNulPos = i; |
break; |
} |
} |
String s_name = new String(name, 0, firstNulPos); |
mm.setName(s_name); |
} |
q.kill(); |
return mm; |
81,27 → 92,30 |
private static void readMotorMixer(String portIdentifier, String fileName) throws IOException { |
MotorMixer mm = readMotorMixer(portIdentifier); |
if (mm != null) { |
FileWriter fw = new FileWriter(fileName); |
fw.write(mm.toXML()); |
fw.close(); |
if (fileName != null) { |
FileWriter fw = new FileWriter(fileName); |
fw.write(mm.toXML()); |
fw.close(); |
} |
System.out.println(mm.toXML()); |
} |
} |
|
static void help() { |
System.err.println("Usage: MotorMixerConfigurator r [filename to write to]"); |
System.err.println("Usage: MotorMixerConfigurator r <filename to write to>"); |
System.err.println("Usage: MotorMixerConfigurator w [filename to read from]"); |
System.exit(-1); |
} |
|
public static void main(String[] args) throws IOException { |
if (args.length < 1) help(); |
if (!"r".equals(args[0]) && !"w".equals(args[0])) help(); |
if ("w".equals(args[0]) && (args.length!=2)) help(); |
if ("r".equals(args[0]) && (args.length!=2)) help(); |
if ("w".equals(args[0]) && args.length < 2) help(); |
|
String portIdentifier = null; |
|
if ("r".equals(args[0])) { |
readMotorMixer(portIdentifier, args[1]); |
readMotorMixer(portIdentifier, args.length < 2 ? null : args[1]); |
} else { |
writeConfiguration(portIdentifier, args[1]); |
} |