/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; |
} |
} |