Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 1572 → Rev 1573

/dongfang_FC_rewrite_tool/configsets/ADXRS610/config.xml
1,10 → 1,10
<parameterset eepromVersion="3" length="79">
<parameterset eepromVersion="3" length="78" name="hundeprut">
<parameter name="bitConfig">
<bit name="CFG_SIMPLE_HEIGHT_CONTROL" value="0" />
<bit name="CFG_SIMPLE_HC_HOLD_SWITCH" value="0" />
<bit name="CFG_HEADING_HOLD" value="0" />
<bit name="CFG_COMPASS_ACTIVE" value="0" />
<bit name="CFG_COMPASS_FIX" value="0" />
<bit name="CFG_COMPASS_ACTIVE" value="1" />
<bit name="CFG_UNUSED" value="0" />
<bit name="CFG_GPS_ACTIVE" value="0" />
<bit name="CFG_AXIS_COUPLING_ACTIVE" value="0" />
<bit name="CFG_GYRO_SATURATION_PREVENTION" value="1" />
34,10 → 34,6
<parameter name="driftCompDivider" value="2" />
<parameter name="driftCompLimit" value="0" />
 
<parameter name="axisCoupling1" value="90" />
<parameter name="axisCoupling2" value="67" />
<parameter name="axisCouplingYawCorrection" value="0" />
 
<parameter name="levelCorrectionPitch" value="128" />
<parameter name="levelCorrectionRoll" value="128" />
 
44,19 → 40,27
<parameter name="gyroP" value="70" />
<parameter name="gyroI" value="40" />
<parameter name="gyroD" value="40" />
<parameter name="attitudeControl" value="0" />
<parameter name="stickP" value="8" />
<parameter name="stickD" value="2" />
<parameter name="stickYawP" value="8" />
<parameter name="stickThrottleD" value="8" />
<parameter name="minThrottle" value="4" />
<parameter name="maxThrottle" value="230" />
<parameter name="externalControl" value="0" />
<parameter name="motorSmoothing" value="0" />
<parameter name="dynamicStability" value="50" />
<parameter name="IFactor" value="32" />
<parameter name="yawIFactor" value="40" />
<parameter name="compassYawEffect" value="128" />
<parameter name="compassYawCorrection" value="1" />
<parameter name="compassFixedHeading" value="0" />
<parameter name="batteryVoltageWarning" value="100" />
<parameter name="emergencyThrottle" value="40" />
<parameter name="emergencyFlightDuration" value="30" />
67,7 → 71,7
<parameter name="heightP" value="var1" />
<parameter name="heightI" value="var2" />
<parameter name="heightD" value="100" />
<parameter name="heightSetting" value="var0" />
<parameter name="heightSetting" value="var1" />
<parameter name="heightControlMaxIntegral" value="40" />
<parameter name="heightMaxThrottleChange" value="40" />
<parameter name="heightSlewRate" value="200" />
127,10 → 131,10
<parameter name="output1Timing" value="14" />
<parameter name="outputDebugMask">
<bit name="DEBUG_MAINLOOP_TIMER" value="0" />
<bit name="DEBUG_HEIGHT_DIFF" value="1" />
<bit name="DEBUG_HEIGHT_DIFF" value="0" />
<bit name="DEBUG_HOVERTHROTTLE" value="0" />
<bit name="DEBUG_ACC0THORDER" value="0" />
<bit name="DEBUG_SIGNAL" value="0" />
<bit name="DEBUG_COMPASS" value="1" />
<bit name="DEBUG_PRESSURERANGE" value="0" />
<bit name="DEBUG_CLIP" value="0" />
<bit name="DEBUG_SENSORLIMIT" value="0" />
138,8 → 142,8
<parameter name="outputFlags">
<bit name="INVERT_OUTPUT0" value="0" />
<bit name="INVERT_OUTPUT1" value="0" />
<bit name="FLASH_OUTPUT0_BEEPING" value="0" />
<bit name="FLASH_OUTPUT1_BEEPING" value="0" />
<bit name="FLASH_OUTPUT0_BEEPING" value="1" />
<bit name="FLASH_OUTPUT1_BEEPING" value="1" />
<bit name="USE_ONBOARD_LEDS" value="1" />
<bit name="TEST_OFF" value="0" />
<bit name="TEST_ON" value="0" />
147,7 → 151,8
</parameter>
 
<parameter name="naviMode" value="var0" />
<parameter name="naviStickThreshold" value="10" />
<parameter name="naviStickThreshold" value="2" />
<parameter name="naviStickLimit" value="50" />
<parameter name="GPSMinimumSatellites" value="6" />
<parameter name="naviP" value="50" />
<parameter name="naviI" value="0" />
/dongfang_FC_rewrite_tool/configsets/ENC-03/config.xml
130,7 → 130,7
<bit name="DEBUG_HEIGHT_DIFF" value="0" />
<bit name="DEBUG_HOVERTHROTTLE" value="0" />
<bit name="DEBUG_ACC0THORDER" value="1" />
<bit name="DEBUG_SIGNAL" value="0" />
<bit name="DEBUG_COMPASS" value="0" />
<bit name="DEBUG_PRESSURERANGE" value="0" />
<bit name="DEBUG_CLIP" value="0" />
<bit name="DEBUG_SENSORLIMIT" value="0" />
145,7 → 145,7
<bit name="TEST_ON" value="0" />
<bit name="UNUSED" value="0" />
</parameter>
 
<parameter name="naviMode" value="var0" />
<parameter name="naviStickThreshold" value="10" />
<parameter name="GPSMinimumSatellites" value="6" />
152,7 → 152,7
<parameter name="naviP" value="50" />
<parameter name="naviI" value="0" />
<parameter name="naviD" value="50" />
 
<parameter name="userparam0" value="0" />
<parameter name="userparam1" value="0" />
<parameter name="userparam2" value="0" />
/dongfang_FC_rewrite_tool/configsets/templates/v3.xml
1,4 → 1,4
<parametertemplate eepromVersion="3" length="73">
<parametertemplate eepromVersion="3" length="78">
<section name="config" title="Configuration">
<parameter name="bitConfig" type="bitset">
<bit name="CFG_SIMPLE_HEIGHT_CONTROL" />
5,7 → 5,7
<bit name="CFG_SIMPLE_HC_HOLD_SWITCH" />
<bit name="CFG_HEADING_HOLD" />
<bit name="CFG_COMPASS_ACTIVE" />
<bit name="CFG_COMPASS_FIX" />
<bit name="CFG_UNUSED" />
<bit name="CFG_GPS_ACTIVE" />
<bit name="CFG_AXIS_COUPLING_ACTIVE" />
<bit name="CFG_GYRO_SATURATION_PREVENTION" />
37,10 → 37,6
<parameter name="driftCompDivider" />
<parameter name="driftCompLimit" />
 
<parameter name="axisCoupling1" />
<parameter name="axisCoupling2" />
<parameter name="axisCouplingYawCorrection" />
 
<parameter name="levelCorrectionPitch" type="dynamic"/>
<parameter name="levelCorrectionRoll" type="dynamic"/>
</section>
66,7 → 62,10
<parameter name="dynamicStability" type="dynamic" />
<parameter name="IFactor" />
<parameter name="yawIFactor" />
<parameter name="compassYawEffect" type="dynamic" />
 
<parameter name="compassYawCorrection" />
<parameter name="compassFixedHeading" type="dynamic"/>
 
<parameter name="batteryVoltageWarning" />
<parameter name="emergencyThrottle" />
<parameter name="emergencyFlightDuration" />
167,6 → 166,7
<section name="navigation" title="Navigation">
<parameter name="naviMode" type="dynamic"/>
<parameter name="naviStickThreshold" />
<parameter name="naviStickLimit" />
<parameter name="GPSMinimumSatellites" />
<parameter name="naviP" />
<parameter name="naviI" />
/dongfang_FC_rewrite_tool/src/dongfang/mkt/serial/FrameQueue.java
File deleted
/dongfang_FC_rewrite_tool/src/dongfang/mkt/serial/MKInputStream.java
File deleted
\ No newline at end of file
/dongfang_FC_rewrite_tool/src/dongfang/mkt/serial/MKOutputStream.java
File deleted
\ No newline at end of file
/dongfang_FC_rewrite_tool/src/dongfang/mkt/comm/MKInputStream.java
378,9 → 378,8
result = f;
break;
default:
int b;
int count = 0;
while((b=read()) != '\r') {
while(read() != '\r') {
count++;
}
System.err.println("Unknown frame " + (char)iid + " received from " + address);
/dongfang_FC_rewrite_tool/src/dongfang/mkt/comm/MKOutputStream.java
200,8 → 200,9
writeByte('s');
base64OutputStream.writeByte(f.getConfigurationSetNumber());
base64OutputStream.writeByte(f.getConfigurationVersionNumber());
// base64OutputStream.writeByte(f.getDataLength());
base64OutputStream.writeByte(f.getDataLength() + 12);
base64OutputStream.writeBytes(f.getData());
base64OutputStream.writeChars(f.getName());
}
public void visit(SetCompassHeadingRequestFrame f) throws IOException {
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/UniversalWriteParamSetRequestFrame.java
6,13 → 6,15
 
 
public class UniversalWriteParamSetRequestFrame extends RequestFrame {
private char[] name;
private int[] data;
private int configurationSetNumber;
private int configurationVersionNumber;
public UniversalWriteParamSetRequestFrame(int configurationVersionNumber, int[] data) {
public UniversalWriteParamSetRequestFrame(int configurationVersionNumber, char[] name, int[] data) {
super(FC_ADDRESS);
this.configurationVersionNumber = configurationVersionNumber;
this.name = name;
this.data = data;
}
36,8 → 38,12
public int getDataLength() {
return data.length;
}
 
public int[] getData() {
return data;
}
 
public char[] getName() {
return name;
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/main/UniversalConfigurator.java
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]);
}