21,7 → 21,6 |
import dongfang.mkt.comm.FrameQueue; |
import dongfang.mkt.comm.MKConnection; |
import dongfang.mkt.comm.serial.RXTXSerialPort; |
import dongfang.mkt.comm.tcp.MKTCPConnection; |
import dongfang.mkt.configuration.ConfigSet; |
import dongfang.mkt.frames.UniversalReadParamSetRequestFrame; |
import dongfang.mkt.frames.UniversalReadParamSetResponseFrame; |
38,8 → 37,7 |
frame.setConfigurationSetNumber(parameterSetNumber); |
|
q.sendRequest(frame); |
UniversalWriteParamSetResponseFrame r = (UniversalWriteParamSetResponseFrame) q |
.getResponseFor(frame, 5000); |
UniversalWriteParamSetResponseFrame r = (UniversalWriteParamSetResponseFrame) q.getResponseFor(frame, 5000); |
if (r == null) { |
System.err.println("ERROR. Timeout waiting for response."); |
} else if (!r.wasAccepted()) { |
62,11 → 60,12 |
configure(portIdentifier, frame, parameterSetNumber); |
} |
|
private static ConfigSet readConfiguration(String portIdentifier, int parameterSetNumber) throws IOException { |
private static ConfigSet readConfiguration(String portIdentifier, String s_parameterSetNumber) throws IOException { |
MKConnection port = new RXTXSerialPort(); |
port.init(portIdentifier); |
FrameQueue q = new FrameQueue(port); |
ConfigSet cs = null; |
int parameterSetNumber = Integer.parseInt(s_parameterSetNumber); |
|
UniversalReadParamSetRequestFrame frame = new UniversalReadParamSetRequestFrame(); |
frame.setConfigurationSetNumber(parameterSetNumber); |
112,8 → 111,7 |
*/ |
|
private static void readConfiguration(String portIdentifier, String s_parameterSetNumber, String fileName) throws IOException { |
int parameterSetNumber = Integer.parseInt(s_parameterSetNumber); |
ConfigSet cs = readConfiguration(portIdentifier, parameterSetNumber); |
ConfigSet cs = readConfiguration(portIdentifier, s_parameterSetNumber); |
if (cs != null) { |
FileWriter fw = new FileWriter(fileName); |
fw.write(cs.toXML()); |
179,6 → 177,14 |
"/parameterset/parameter", doc, XPathConstants.NODESET); |
int[] parameters = new int[parameterNodes.getLength()]; |
|
NodeList allChildNodes = (NodeList) xpath.evaluate( |
"/parameterset/*", doc, XPathConstants.NODESET); |
|
if (parameterNodes.getLength() != allChildNodes.getLength()) { |
System.err.println("There seems to be a child element of parameterset whose name is not \"parameter\"."); |
// System.exit(-1); |
} |
|
if (s_length >=0 && s_length != parameterNodes.getLength()) { |
System.err.println("The number of parameters ("+parameterNodes.getLength()+") does not match the number in the length attribute of the parameterset element ("+s_length+")."); |
// System.exit(-1); |
216,8 → 222,7 |
parameters[i] = value; |
} |
input.close(); |
return new UniversalWriteParamSetRequestFrame(eepromVersion, |
parameters); |
return new UniversalWriteParamSetRequestFrame(eepromVersion, "01234567890ab".toCharArray(), parameters); |
} catch (ParserConfigurationException ex) { |
// Should never happen. |
throw new RuntimeException(ex); |
248,7 → 253,7 |
String portIdentifier = null; |
|
if ("r".equals(args[0])) { |
readConfiguration(portIdentifier, Integer.parseInt(args[1])); |
readConfiguration(portIdentifier, args[1]); |
} else { |
writeConfiguration(portIdentifier, args[1], args[2]); |
} |