Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 1540 → Rev 1541

/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ExternalControlRequestFrame.java
0,0 → 1,141
package dongfang.mkt.frames;
 
import java.io.IOException;
 
import dongfang.mkt.RequestFrameVisitor;
 
/*
uint8_t digital[2];
uint8_t remoteButtons;
int8_t pitch;
int8_t roll;
int8_t yaw;
uint8_t throttle;
int8_t height;
uint8_t free;
uint8_t frame;
uint8_t config;
*/
public class ExternalControlRequestFrame extends RequestFrame {
public static final int COMMAND_NONE = 0;
public static final int COMMAND_START = 6;
public static final int COMMAND_STOP = 8;
public static final int COMMAND_GYROCAL = 2;
public static final int COMMAND_ACCCAL = 4;
int[] digital = new int[2];// unsigned byte.
int remoteButtons; // unsigned byte.
int pitch; // signed byte.
int roll; // signed byte.
int yaw; // signed byte.
int throttle; // unsigned byte.
int height; // signed byte (!).
int command; // unsigned byte. Called "free" in MK code.
int frameNum; // unsigned byte.
int argument; // unsigned byte. Called "config" in MK code.
 
ExternalControlRequestFrame(int address) {
super(address);
}
 
public int[] getDigital() {
return digital;
}
 
public void setDigital(int[] digital) {
this.digital = digital;
}
 
public int getRemoteButtons() {
return remoteButtons;
}
 
public void setRemoteButtons(int remoteButtons) {
this.remoteButtons = remoteButtons;
}
 
public int getPitch() {
return pitch;
}
 
public void setPitch(int pitch) {
this.pitch = pitch;
}
 
public int getRoll() {
return roll;
}
 
public void setRoll(int roll) {
this.roll = roll;
}
 
public int getYaw() {
return yaw;
}
 
public void setYaw(int yaw) {
this.yaw = yaw;
}
 
public int getThrottle() {
return throttle;
}
 
public void setThrottle(int throttle) {
this.throttle = throttle;
}
 
public int getHeight() {
return height;
}
 
public void setHeight(int height) {
this.height = height;
}
 
public int getCommand() {
return command;
}
 
public void setCommand(int command) {
this.command = command;
}
 
public int getFrameNum() {
return frameNum;
}
 
public void setFrameNum(int frameNum) {
this.frameNum = frameNum;
}
 
public int getArgument() {
return argument;
}
 
public void setArgument(int argument) {
this.argument = argument;
}
public void start() {
command = COMMAND_START;
}
 
public void stop() {
command = COMMAND_STOP;
}
 
public void gyroCal() {
command = COMMAND_GYROCAL;
}
 
public void accCal() {
command = COMMAND_ACCCAL;
}
 
@Override
public void accept(RequestFrameVisitor o) throws IOException {
o.visit(this);
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/MotorTestRequestFrame.java
0,0 → 1,26
package dongfang.mkt.frames;
 
import java.io.IOException;
 
import dongfang.mkt.RequestFrameVisitor;
 
public class MotorTestRequestFrame extends RequestFrame {
int[] motorValues = new int[16];
 
MotorTestRequestFrame(int address) {
super(address);
}
 
@Override
public void accept(RequestFrameVisitor o) throws IOException {
o.visit(this);
}
public void setMotorValue(int index, int value) {
motorValues[index] = value;
}
public int[] getMotorValues() {
return motorValues;
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/ReadParamSetRequestFrame.java
0,0 → 1,15
package dongfang.mkt.frames;
 
import java.io.IOException;
 
import dongfang.mkt.RequestFrameVisitor;
 
public class ReadParamSetRequestFrame extends RequestFrame {
ReadParamSetRequestFrame(int address) {
super(address);
}
 
@Override
public void accept(RequestFrameVisitor o) throws IOException {
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/SetCompassHeadingRequestFrame.java
0,0 → 1,16
package dongfang.mkt.frames;
 
import java.io.IOException;
 
import dongfang.mkt.RequestFrameVisitor;
 
public class SetCompassHeadingRequestFrame extends RequestFrame {
public SetCompassHeadingRequestFrame(int address) {
super(address);
}
 
@Override
public void accept(RequestFrameVisitor o) throws IOException {
o.visit(this);
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/SetCompassHeadingResponseFrame.java
0,0 → 1,12
package dongfang.mkt.frames;
 
public class SetCompassHeadingResponseFrame extends ResponseFrame {
public SetCompassHeadingResponseFrame(int address) {
super(address);
}
 
@Override
public boolean isResponseTo(RequestFrame r) {
return r instanceof SetCompassHeadingRequestFrame;
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/VariableNumber.java
0,0 → 1,5
package dongfang.mkt.frames;
 
public class VariableNumber {
 
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/VariablesRequestFrame.java
0,0 → 1,16
package dongfang.mkt.frames;
 
import java.io.IOException;
 
import dongfang.mkt.RequestFrameVisitor;
 
public class VariablesRequestFrame extends RequestFrame {
VariablesRequestFrame(int address) {
super(address);
}
 
@Override
public void accept(RequestFrameVisitor o) throws IOException {
o.visit(this);
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/frames/VariablesResponseFrame.java
0,0 → 1,34
package dongfang.mkt.frames;
 
public class VariablesResponseFrame extends ResponseFrame {
private int[] variables;
 
public VariablesResponseFrame(int address) {
super(address);
}
 
@Override
public boolean isResponseTo(RequestFrame r) {
return r instanceof VariablesRequestFrame;
}
 
public int[] getVariables() {
return variables;
}
 
public void setVariables(int[] variables) {
this.variables = variables;
}
public String toString() {
String result = getClass().getSimpleName() + ": ";
if (variables != null) {
for (int i=0; i<variables.length; i++) {
result += i + "->" + variables[i];
if (i<variables.length-1)
result += ", ";
}
}
return result;
}
}
/dongfang_FC_rewrite_tool/src/dongfang/mkt/version/MKVersion.java
0,0 → 1,96
package dongfang.mkt.version;
 
import dongfang.mkt.frames.FrameFactory;
import dongfang.mkt.frames.FrameFactory_V0_74;
 
public class MKVersion {
public enum MK_VERSION {
V0_74KILLAGREG,
V0_78,
DONGFANG_V0_74
};
 
public enum LCDPAGES {
VERSION("Version"),
HEIGHT("Height"),
ATTITUDE("Attitude"),
CHANNELS("Channels"),
CONTROLS("Controls"),
GYROS("Gyros"),
ACC("Acc. Meter"),
POWER("Power"),
COMPASS("Compass"),
VARIABLES("Variables"),
SERVOS("Servos"),
EXTERNALCONTROL("ExtControl"),
BLCERRORS("BLC Errors"),
BLCSDETECTED("BLCs"),
GPS("GPS"),
MM3("MM3"),
MM3RANGE("MM3Range"),
SIGNAL("Signal"),
VARS1("Variables 1"),
VARS2("Variables 2"),
TIMER("Timer");
private String title;
LCDPAGES(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
}
private static LCDPAGES[] LCDPAGES_074 = {
LCDPAGES.VERSION,
LCDPAGES.HEIGHT,
LCDPAGES.ATTITUDE,
LCDPAGES.CHANNELS,
LCDPAGES.CONTROLS,
LCDPAGES.GYROS,
LCDPAGES.ACC,
LCDPAGES.POWER,
LCDPAGES.COMPASS,
LCDPAGES.VARIABLES,
LCDPAGES.SERVOS,
LCDPAGES.EXTERNALCONTROL,
LCDPAGES.BLCERRORS,
LCDPAGES.BLCSDETECTED,
LCDPAGES.GPS,
LCDPAGES.MM3,
LCDPAGES.MM3RANGE
};
private static LCDPAGES[] LCDPAGES_078 = {
LCDPAGES.VERSION,
LCDPAGES.HEIGHT,
LCDPAGES.ATTITUDE,
LCDPAGES.CHANNELS,
LCDPAGES.CONTROLS,
LCDPAGES.GYROS,
LCDPAGES.ACC,
LCDPAGES.POWER,
LCDPAGES.SIGNAL,
LCDPAGES.COMPASS,
LCDPAGES.VARS1,
LCDPAGES.VARS2,
LCDPAGES.SERVOS,
LCDPAGES.EXTERNALCONTROL,
LCDPAGES.BLCERRORS,
LCDPAGES.BLCSDETECTED,
LCDPAGES.TIMER
};
public static FrameFactory getFrameFactory(MK_VERSION version) {
return new FrameFactory_V0_74();
}
// dummy impl.
public static LCDPAGES[] getLCDPAGES() {
return LCDPAGES_074;
}
}