/dongfang_FC_rewrite_tool/src/dongfang/mkt/comm/MKOutputStream.java |
---|
3,7 → 3,6 |
import java.io.IOException; |
import java.io.OutputStream; |
import dongfang.mkt.RequestFrameVisitor; |
import dongfang.mkt.frames.AllDisplaysRequestFrame; |
import dongfang.mkt.frames.AnalogDebugLabelRequestFrame; |
import dongfang.mkt.frames.AttitudeDataRequestFrame; |
16,6 → 15,7 |
import dongfang.mkt.frames.OSDDataRequestFrame; |
import dongfang.mkt.frames.ReadExternalControlRequestFrame; |
import dongfang.mkt.frames.RequestFrame; |
import dongfang.mkt.frames.RequestFrameVisitor; |
import dongfang.mkt.frames.ResetRequestFrame; |
import dongfang.mkt.frames.SetCompassHeadingRequestFrame; |
import dongfang.mkt.frames.SingleDisplayRequestFrame; |
200,6 → 200,7 |
writeByte('s'); |
base64OutputStream.writeByte(f.getConfigurationSetNumber()); |
base64OutputStream.writeByte(f.getConfigurationVersionNumber()); |
// base64OutputStream.writeByte(f.getDataLength()); |
base64OutputStream.writeBytes(f.getData()); |
} |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/AllDisplaysRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class AllDisplaysRequestFrame extends RequestFrame { |
public enum PAGEORDER { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/AnalogDebugLabelRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class AnalogDebugLabelRequestFrame extends RequestFrame { |
int channel; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/AttitudeDataRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class AttitudeDataRequestFrame extends RequestFrame { |
private int autoSendInterval; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ChangeParameterSetRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class ChangeParameterSetRequestFrame extends RequestFrame { |
int parameterSetNumber; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/CompassHeadingRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class CompassHeadingRequestFrame extends RequestFrame { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/DebugRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class DebugRequestFrame extends RequestFrame { |
private int autoSendInterval; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ExternalControlRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
/* |
uint8_t digital[2]; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/LoopbackTestRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class LoopbackTestRequestFrame extends RequestFrame { |
int _byte; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/MotorTestRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class MotorTestRequestFrame extends RequestFrame { |
int[] motorValues = new int[16]; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/OSDDataRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class OSDDataRequestFrame extends RequestFrame { |
private int autoSendInterval; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/OSDDataResponseFrame.java |
---|
242,6 → 242,7 |
result.append("targetPosition: " + this.targetPosition + " (" + this.currentToTarget + ")" + "\n"); |
result.append("homePosition: " + this.homePosition + " (" + this.currentToHome + ")" + "\n"); |
result.append("heightByPressure: " + this.heightByPressure + "\n"); |
result.append("heightByPressureReal: " + this.heightByPressure / 1.26 + "\n"); |
result.append("verticalVelocityByPressure: " + this.verticalVelocityByPressure + "\n"); |
result.append("verticalVelocityByGPS: " + this.verticalVelocityByGPS + "\n"); |
result.append("direction of flight: " + this.directionOfFlight + "\n"); |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ReadExternalControlRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class ReadExternalControlRequestFrame extends RequestFrame { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ReadParamSetRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class ReadParamSetRequestFrame extends RequestFrame { |
ReadParamSetRequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/RequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public abstract class RequestFrame extends Frame { |
protected RequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ResetRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class ResetRequestFrame extends RequestFrame { |
ResetRequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/SetCompassHeadingRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class SetCompassHeadingRequestFrame extends RequestFrame { |
public SetCompassHeadingRequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/SingleDisplayRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class SingleDisplayRequestFrame extends RequestFrame { |
private boolean allLinesInOneFrame; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/UniversalReadParamSetRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class UniversalReadParamSetRequestFrame extends RequestFrame { |
private int configurationSetNumber; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/UniversalWriteParamSetRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class UniversalWriteParamSetRequestFrame extends RequestFrame { |
private int[] data; |
32,6 → 31,10 |
return configurationVersionNumber; |
} |
public int getDataLength() { |
return data.length; |
} |
public int[] getData() { |
return data; |
} |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/VariablesRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class VariablesRequestFrame extends RequestFrame { |
VariablesRequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/VersionRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class VersionRequestFrame extends RequestFrame { |
public VersionRequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/WriteParamSetRequestFrame.java |
---|
2,7 → 2,6 |
import java.io.IOException; |
import dongfang.mkt.RequestFrameVisitor; |
public class WriteParamSetRequestFrame extends RequestFrame { |
WriteParamSetRequestFrame(int address) { |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/main/MKDebugLogger.java |
---|
84,6 → 84,7 |
public void log(DebugResponseFrame f, long timestamp) |
throws IOException { |
if (f==null) return; |
w.write(" <dataset timestamp=\"" + timestamp + "\">\n"); |
for (int i = 0; i < 32; i++) { |
w.write(" <data offset=\"" + i + "\" label=\"" + labels[i] |
202,8 → 203,8 |
public static void main(String[] args) throws IOException { |
MKDebugLogger test = new MKDebugLogger(); |
MKConnection port = new MKTCPConnection(); //RXTXSerialPort(); |
port.init("8080"); |
MKConnection port = new RXTXSerialPort(); |
port.init(null); |
FrameQueue q = new FrameQueue(port); |
String encoding = "iso-8859-1"; |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/main/OSDLogger.java |
---|
17,8 → 17,6 |
import dongfang.mkt.comm.serial.RXTXSerialPort; |
import dongfang.mkt.frames.OSDDataRequestFrame; |
import dongfang.mkt.frames.OSDDataResponseFrame; |
import dongfang.mkt.frames.OSDDataResponseFrame.GPSDistanceAndBearing; |
import dongfang.mkt.frames.OSDDataResponseFrame.GPSPosition; |
public class OSDLogger { |
private static final PrintStream STDERR = System.out; |
70,7 → 68,6 |
w.write(" <waypoints index=\"" + f.getWaypointIndex() + "\" count=\"" + f.getWaypointCount() + "\"/>\n"); |
w.write(" <height barometric=\"" + f.getHeightByPressure() + "\" barometricVerticalVelocity=\"" + f.getVerticalVelocityByPressure() + "\" gpsVerticalVelocity=\"" + f.getVerticalVelocityByGPS() + "\"/>\n"); |
w.write(" <height barometric=\"" + f.getHeightByPressure() + "\"/>\n"); |
w.write(" <status rcQuality=\"" + f.getRcQuality() + "\" fcflags=\"" + f.getFcFlags() + "\" fcflags2=\"" + f.getFcFlags2() + "\" ncflags=\"" + f.getNcFlags() + "\" errorCode=\"" + f.getErrorCode() + "\" numberOfSatellites=\"" + f.getNumberOfSatellites() + "\"/>\n"); |
w.write(" <flight time=\"" + f.getFlightTime() + "\" batteryVoltage=\"" + f.getBatteryVoltage() + "\" throttle=\"" + f.getThrottle() + "\" current=\"" + f.getCurrent() + "\" capacityUsed=\"" + f.getCapacityUsed() + "\"/>\n"); |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/main/UniversalConfigurator.java |
---|
63,7 → 63,7 |
} |
private static ConfigSet readConfiguration(String portIdentifier, int parameterSetNumber) throws IOException { |
MKConnection port = new MKTCPConnection(); //new RXTXSerialPort();// |
MKConnection port = new RXTXSerialPort(); |
port.init(portIdentifier); |
FrameQueue q = new FrameQueue(port); |
ConfigSet cs = null; |
245,7 → 245,7 |
if ("w".equals(args[0]) && (args.length!=3 && args.length!=4)) help(); |
if ("r".equals(args[0]) && (args.length!=3 && args.length!=4)) help(); |
String portIdentifier = "8080"; |
String portIdentifier = null; |
if ("r".equals(args[0])) { |
readConfiguration(portIdentifier, Integer.parseInt(args[1])); |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/serial/FrameQueue.java |
---|
12,7 → 12,6 |
* Thread safe! |
* |
* @author dongfang |
*/ |
public class FrameQueue { |
private final MKInputStream input; |
private final MKOutputStream output; |
86,3 → 85,4 |
} |
} |
} |
*/ |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/serial/MKInputStream.java |
---|
4,6 → 4,8 |
import java.io.InputStream; |
import java.io.OutputStream; |
import dongfang.mkt.datatype.GPSBearingAndRange; |
import dongfang.mkt.datatype.GPSPosition; |
import dongfang.mkt.frames.AllDisplaysResponseFrame; |
import dongfang.mkt.frames.AnalogDebugLabelResponseFrame; |
import dongfang.mkt.frames.AttitudeDataResponseFrame; |
13,8 → 15,6 |
import dongfang.mkt.frames.DebugResponseFrame; |
import dongfang.mkt.frames.MotorTestResponseFrame; |
import dongfang.mkt.frames.OSDDataResponseFrame; |
import dongfang.mkt.frames.OSDDataResponseFrame.GPSDistanceAndBearing; |
import dongfang.mkt.frames.OSDDataResponseFrame.GPSPosition; |
import dongfang.mkt.frames.ReadExternalControlResponseFrame; |
import dongfang.mkt.frames.ResponseFrame; |
import dongfang.mkt.frames.SetCompassHeadingResponseFrame; |
23,6 → 23,7 |
import dongfang.mkt.frames.VariablesResponseFrame; |
import dongfang.mkt.frames.VersionResponseFrame; |
/* |
public class MKInputStream extends InputStream { |
int readByteCnt; |
class MKDataInputStream { |
260,7 → 261,7 |
pos.setStatus(base64InputStream.readByte()); |
f.setTargetPosition(pos); |
GPSDistanceAndBearing rnb = new GPSDistanceAndBearing(); |
GPSBearingAndRange rnb = new GPSBearingAndRange(); |
rnb.setDistance(base64InputStream.readWord()); |
rnb.setBearing(base64InputStream.readSignedWord()); |
f.setCurrentToTarget(rnb); |
272,7 → 273,7 |
pos.setStatus(base64InputStream.readByte()); |
f.setHomePosition(pos); |
rnb = new GPSDistanceAndBearing(); |
rnb = new GPSBearingAndRange(); |
rnb.setDistance(base64InputStream.readWord()); |
rnb.setBearing(base64InputStream.readSignedWord()); |
f.setCurrentToHome(rnb); |
320,7 → 321,7 |
result = f; |
break; |
} |
/* |
/ * |
* We have a collision with the 'x' token: Also used for VariablesRequest. |
case 'x': { |
LoopbackTestResponseFrame f = new LoopbackTestResponseFrame(address); |
330,7 → 331,7 |
result = f; |
break; |
} |
*/ |
* / |
case 'V': { |
VersionResponseFrame f = new VersionResponseFrame(address); |
f.setSWMajor(base64InputStream.readByte()); |
353,13 → 354,13 |
case 'w': { |
SetCompassHeadingResponseFrame f = new SetCompassHeadingResponseFrame(address); |
// do stuff. |
/* |
/ * |
ToMk3Mag.Attitude[0] = (int16_t)((10 * angle[PITCH]) / GYRO_DEG_FACTOR_PITCHROLL); // approx. 0.1 deg |
ToMk3Mag.Attitude[1] = (int16_t)((10 * angle[ROLL]) / GYRO_DEG_FACTOR_PITCHROLL); // approx. 0.1 deg |
ToMk3Mag.UserParam[0] = dynamicParams.UserParams[0]; |
ToMk3Mag.UserParam[1] = dynamicParams.UserParams[1]; |
ToMk3Mag.CalState = compassCalState; |
*/ |
* / |
// Waste 8 bytes to make CRC match. |
base64InputStream.readBytes(8); |
result = f; |
399,3 → 400,4 |
return result; |
} |
} |
*/ |
/dongfang_FC_rewrite_tool/src/dongfang/mkt/serial/MKOutputStream.java |
---|
3,7 → 3,6 |
import java.io.IOException; |
import java.io.OutputStream; |
import dongfang.mkt.RequestFrameVisitor; |
import dongfang.mkt.frames.AllDisplaysRequestFrame; |
import dongfang.mkt.frames.AnalogDebugLabelRequestFrame; |
import dongfang.mkt.frames.AttitudeDataRequestFrame; |
16,6 → 15,7 |
import dongfang.mkt.frames.OSDDataRequestFrame; |
import dongfang.mkt.frames.ReadExternalControlRequestFrame; |
import dongfang.mkt.frames.RequestFrame; |
import dongfang.mkt.frames.RequestFrameVisitor; |
import dongfang.mkt.frames.ResetRequestFrame; |
import dongfang.mkt.frames.SetCompassHeadingRequestFrame; |
import dongfang.mkt.frames.SingleDisplayRequestFrame; |
24,6 → 24,7 |
import dongfang.mkt.frames.VariablesRequestFrame; |
import dongfang.mkt.frames.VersionRequestFrame; |
/* |
public class MKOutputStream extends OutputStream implements RequestFrameVisitor { |
public class MKDataOutputStream { |
int[] inbuf = new int[3]; |
109,13 → 110,13 |
write('\r'); |
} |
/* |
/ * |
public void visit(RequestFrame f) { |
throw new RuntimeException("Unbound RequestFrame type: " |
+ f.getClass().getSimpleName() |
+ ". Don't know how to output."); |
} |
*/ |
* / |
public void visit(AnalogDebugLabelRequestFrame f) throws IOException { |
writeByte('a'); |
216,3 → 217,4 |
base64OutputStream.writeByte(f.getAutoSendInterval()); |
} |
} |
*/ |