better debugging output when compiling and cleaning for msp motes
This commit is contained in:
parent
ba12b6ec00
commit
7a54a0b8eb
1 changed files with 31 additions and 33 deletions
|
@ -26,7 +26,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: MspMoteType.java,v 1.23 2009/03/03 13:52:35 fros4943 Exp $
|
||||
* $Id: MspMoteType.java,v 1.24 2009/03/03 15:01:14 fros4943 Exp $
|
||||
*/
|
||||
|
||||
package se.sics.cooja.mspmote;
|
||||
|
@ -404,29 +404,30 @@ public abstract class MspMoteType implements MoteType {
|
|||
}
|
||||
|
||||
public void cleanTempFiles(final MessageList taskOutput, final File parentDir, boolean synch) {
|
||||
Thread t = new Thread(new Runnable() {
|
||||
Runnable clean = new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
logger.info("Cleaning temporary files in: " + parentDir.getPath());
|
||||
compileFirmware(
|
||||
"make clean TARGET=" + target,
|
||||
null,
|
||||
null,
|
||||
null /* No source file */,
|
||||
null /* No firmware output */,
|
||||
parentDir,
|
||||
null,
|
||||
null,
|
||||
taskOutput,
|
||||
true);
|
||||
} catch (Exception e2) {
|
||||
logger.info("Exception: " + e2.getMessage());
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
t.start();
|
||||
};
|
||||
|
||||
if (synch) {
|
||||
try {
|
||||
t.join();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
clean.run();
|
||||
} else {
|
||||
new Thread(clean).start();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -514,7 +515,8 @@ public abstract class MspMoteType implements MoteType {
|
|||
final String command = getCompileCommand(filenameNoExtension);
|
||||
logger.info("-- Compiling MSP430 Firmware --");
|
||||
|
||||
compileFirmware(command, sourceFile, filenameNoExtension + getTargetFileExtension(target),
|
||||
compileFirmware(command, sourceFile,
|
||||
new File(parentDirectory, filenameNoExtension + getTargetFileExtension(target)),
|
||||
parentDirectory,
|
||||
successAction, failAction,
|
||||
compilationOutput, synchronous);
|
||||
|
@ -522,7 +524,7 @@ public abstract class MspMoteType implements MoteType {
|
|||
|
||||
protected void compileFirmware(
|
||||
final String command, final File sourceFile,
|
||||
final String firmware, final File parentDirectory,
|
||||
final File firmwareFile, final File parentDirectory,
|
||||
final Action successAction, final Action failAction,
|
||||
final MessageList compilationOutput, boolean synchronous) throws Exception {
|
||||
|
||||
|
@ -543,20 +545,18 @@ public abstract class MspMoteType implements MoteType {
|
|||
final BufferedReader processError = new BufferedReader(
|
||||
new InputStreamReader(compileProcess.getErrorStream()));
|
||||
|
||||
final File ELFFile = new File(parentDirectory, firmware);
|
||||
if (firmware != null) {
|
||||
if (ELFFile.exists()) {
|
||||
ELFFile.delete();
|
||||
if (ELFFile.exists()) {
|
||||
if (compilationOutput != null) {
|
||||
compilationOutput.addMessage("Error when deleting old " + ELFFile.getName(), MessageList.ERROR);
|
||||
}
|
||||
if (failAction != null) {
|
||||
failAction.actionPerformed(null);
|
||||
}
|
||||
throw new MoteTypeCreationException("Error when deleting old "
|
||||
+ ELFFile.getName());
|
||||
if (firmwareFile != null) {
|
||||
if (firmwareFile.exists()) {
|
||||
firmwareFile.delete();
|
||||
}
|
||||
if (firmwareFile.exists()) {
|
||||
if (compilationOutput != null) {
|
||||
compilationOutput.addMessage("Error when deleting old " + firmwareFile.getName(), MessageList.ERROR);
|
||||
}
|
||||
if (failAction != null) {
|
||||
failAction.actionPerformed(null);
|
||||
}
|
||||
throw new MoteTypeCreationException("Error when deleting old " + firmwareFile.getName());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -620,13 +620,14 @@ public abstract class MspMoteType implements MoteType {
|
|||
return;
|
||||
}
|
||||
|
||||
if (firmware == null) {
|
||||
if (firmwareFile == null) {
|
||||
/* No firmware to generate: OK */
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ELFFile.exists()) {
|
||||
if (!firmwareFile.exists()) {
|
||||
if (compilationOutput != null) {
|
||||
compilationOutput.addMessage("Can't locate output file " + ELFFile, MessageList.ERROR);
|
||||
compilationOutput.addMessage("No firmware file: " + firmwareFile, MessageList.ERROR);
|
||||
}
|
||||
if (failAction != null) {
|
||||
failAction.actionPerformed(null);
|
||||
|
@ -642,7 +643,7 @@ public abstract class MspMoteType implements MoteType {
|
|||
}
|
||||
MspELFCompiler.this.lastCompileCommand = command;
|
||||
MspELFCompiler.this.sourceFile = sourceFile;
|
||||
MspELFCompiler.this.ELFFile = ELFFile;
|
||||
MspELFCompiler.this.ELFFile = firmwareFile;
|
||||
if (successAction != null) {
|
||||
successAction.actionPerformed(null);
|
||||
}
|
||||
|
@ -667,9 +668,6 @@ public abstract class MspMoteType implements MoteType {
|
|||
"Bad return value").initCause(syncException);
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
if (failAction != null) {
|
||||
failAction.actionPerformed(null);
|
||||
|
|
Loading…
Reference in a new issue