package de.lazyzero.kkMulticopterFlashTool.utils.avra; import java.io.File; import java.io.IOException; import java.util.Vector; import org.apache.commons.io.FileUtils; import de.lazyzero.kkMulticopterFlashTool.KKMulticopterFlashTool; public class SimonKAvraCommandLine extends AvraCommandLine { private File targetFile; /** * @test -e $*.asm || ln -s tgy.asm $*.asm * @echo "$(ASM) -fI -o $@ -D $*_esc -e $*.eeprom -d $*.obj $*.asm" * @set -o pipefail; $(ASM) -fI -o $@ -D $*_esc -e $*.eeprom -d $*.obj $*.asm 2>&1 | grep -v 'PRAGMA directives currently ignored' * @test -L $*.asm && rm -f $*.asm || true */ public SimonKAvraCommandLine(String target, File workingDir) { super(target, workingDir); createWorkingCopy(); } private void createWorkingCopy() { File source = new File(getWorkingDir().getPath(), "tgy.asm"); KKMulticopterFlashTool.getInstance().println("source: " + source.getAbsolutePath()); this.targetFile = new File(getWorkingDir().getPath(), getTarget()+".asm"); try { FileUtils.copyFile(source, this.targetFile); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void clean() throws IOException { FileUtils.deleteQuietly(this.targetFile); FileUtils.deleteQuietly(new File(getWorkingDir().getPath(), getTarget()+".cof")); } @Override public Vector<String> getCommandLine() { Vector <String> cmd = new Vector <String>(); cmd.add(super.getAvra()); cmd.add("-fI"); cmd.add("-o"); cmd.add(getTarget()); cmd.add("-D"); cmd.add(getTarget() + "_esc"); cmd.add("-e"); cmd.add(getTarget() + ".eeprom"); cmd.add("-d"); cmd.add(getTarget() + ".obj"); cmd.add(getTarget() + ".asm"); return cmd; } @Override public File getHexFile() throws IOException { return new File(getWorkingDir().getPath(), getTarget()+".hex"); } }