Navigation Menu

Skip to content

Commit

Permalink
added new mote type method that returns the by-default used mote inte…
Browse files Browse the repository at this point in the history
…rfaces, as opposed to all compatible mote

interfaces

this allows the user to override default settings in the create-new-mote-type dialogs
  • Loading branch information
fros4943 committed Aug 14, 2013
1 parent f590403 commit 8e264ba
Show file tree
Hide file tree
Showing 13 changed files with 73 additions and 22 deletions.
Expand Up @@ -64,6 +64,9 @@ private MicaZCompileDialog(Container parent, Simulation simulation, MoteType mot
super(parent, simulation, moteType);
}

public Class<? extends MoteInterface>[] getAllMoteInterfaces() {
return ((MicaZMoteType)moteType).getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getDefaultMoteInterfaces() {
return ((MicaZMoteType)moteType).getAllMoteInterfaceClasses();
}
Expand Down
Expand Up @@ -198,6 +198,9 @@ public boolean configureAndInit(Container parentContainer, Simulation simulation
return true;
}

public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
return new Class[] {
Position.class,
Expand Down
Expand Up @@ -179,6 +179,22 @@ public Icon getMoteTypeIcon() {
return null;
}

public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return new Class[] {
Position.class,
RimeAddress.class,
IPAddress.class,
Mote2MoteRelations.class,
MoteAttributes.class,
MspClock.class,
MspMoteID.class,
Msp802154Radio.class,
UsciA1Serial.class,
Exp5438LED.class,
/*Exp5438LCD.class,*/ /* TODO */
MspDebugOutput.class
};
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
return new Class[] {
Position.class,
Expand All @@ -189,6 +205,8 @@ public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
MspClock.class,
MspMoteID.class,
Msp802154Radio.class,
CC1101Radio.class,
CC1120Radio.class,
UsciA1Serial.class,
Exp5438LED.class,
/*Exp5438LCD.class,*/ /* TODO */
Expand Down
Expand Up @@ -71,6 +71,9 @@ protected MspMote createMote(Simulation simulation) {
}

@Override
public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
@SuppressWarnings("unchecked")
Class<? extends MoteInterface>[] list = createMoteInterfaceList(
Expand Down
Expand Up @@ -71,8 +71,11 @@ private MspCompileDialog(Container parent, Simulation simulation, MspMoteType mo
addCompilationTipsTab(tabbedPane);
}

public Class<? extends MoteInterface>[] getAllMoteInterfaces() {
return ((MspMoteType)moteType).getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getDefaultMoteInterfaces() {
return ((MspMoteType)moteType).getAllMoteInterfaceClasses();
return ((MspMoteType)moteType).getDefaultMoteInterfaceClasses();
}

private void addCompilationTipsTab(JTabbedPane parent) {
Expand Down
Expand Up @@ -320,6 +320,7 @@ public boolean setConfigXML(Simulation simulation,
}

public abstract Class<? extends MoteInterface>[] getAllMoteInterfaceClasses();
public abstract Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses();
public abstract File getExpectedFirmwareFile(File source);

private static ELF loadELF(String filepath) throws IOException {
Expand Down
Expand Up @@ -69,7 +69,9 @@ protected MspMote createMote(Simulation simulation) {
return new SentillaUSBMote(this, simulation);
}

@Override
public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
@SuppressWarnings("unchecked")
Class<? extends MoteInterface>[] list = createMoteInterfaceList(
Expand Down
Expand Up @@ -202,6 +202,9 @@ public Icon getMoteTypeIcon() {
return null;
}

public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
return new Class[] {
Position.class,
Expand Down
Expand Up @@ -179,6 +179,9 @@ public Icon getMoteTypeIcon() {
return null;
}

public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
return new Class[] {
Position.class,
Expand Down
Expand Up @@ -69,7 +69,9 @@ protected MspMote createMote(Simulation simulation) {
return new WismoteMote(this, simulation);
}

@Override
public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}
public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
@SuppressWarnings("unchecked")
Class<? extends MoteInterface>[] list = createMoteInterfaceList(
Expand Down
Expand Up @@ -70,7 +70,10 @@ protected MspMote createMote(Simulation simulation) {
return new Z1Mote(this, simulation);
}

@Override
public Class<? extends MoteInterface>[] getDefaultMoteInterfaceClasses() {
return getAllMoteInterfaceClasses();
}

public Class<? extends MoteInterface>[] getAllMoteInterfaceClasses() {
@SuppressWarnings("unchecked")
Class<? extends MoteInterface>[] list = createMoteInterfaceList(
Expand Down
Expand Up @@ -372,14 +372,17 @@ public void windowClosing(WindowEvent e) {
((JCheckBox) c).setSelected(false);
}
if (moteType.getMoteInterfaceClasses() != null) {
for (Class<? extends MoteInterface> intfClass: getDefaultMoteInterfaces()) {
for (Class<? extends MoteInterface> intfClass: getAllMoteInterfaces()) {
addMoteInterface(intfClass, false);
}
for (Class<? extends MoteInterface> intf: moteType.getMoteInterfaceClasses()) {
addMoteInterface(intf, true);
}
} else {
/* Select default mote interfaces */
for (Class<? extends MoteInterface> intfClass: getAllMoteInterfaces()) {
addMoteInterface(intfClass, false);
}
for (Class<? extends MoteInterface> intfClass: getDefaultMoteInterfaces()) {
addMoteInterface(intfClass, true);
}
Expand Down Expand Up @@ -714,6 +717,7 @@ public void actionPerformed(ActionEvent e) {
};

public abstract Class<? extends MoteInterface>[] getDefaultMoteInterfaces();
public abstract Class<? extends MoteInterface>[] getAllMoteInterfaces();

/**
* @return Currently selected mote interface classes
Expand Down
Expand Up @@ -199,24 +199,27 @@ public File getExpectedFirmwareFile(File source) {
return ContikiMoteType.getExpectedFirmwareFile(source);
}

public Class<? extends MoteInterface>[] getAllMoteInterfaces() {
ProjectConfig projectConfig = moteType.getConfig();
String[] intfNames = projectConfig.getStringArrayValue(ContikiMoteType.class, "MOTE_INTERFACES");
ArrayList<Class<? extends MoteInterface>> classes = new ArrayList<Class<? extends MoteInterface>>();

/* Load mote interface classes */
for (String intfName : intfNames) {
Class<? extends MoteInterface> intfClass =
gui.tryLoadClass(this, MoteInterface.class, intfName);

if (intfClass == null) {
logger.warn("Failed to load mote interface class: " + intfName);
continue;
}

classes.add(intfClass);
}
return classes.toArray(new Class[0]);
}
public Class<? extends MoteInterface>[] getDefaultMoteInterfaces() {
ProjectConfig projectConfig = moteType.getConfig();
String[] intfNames = projectConfig.getStringArrayValue(ContikiMoteType.class, "MOTE_INTERFACES");
ArrayList<Class<? extends MoteInterface>> classes = new ArrayList<Class<? extends MoteInterface>>();

/* Load mote interface classes */
for (String intfName : intfNames) {
Class<? extends MoteInterface> intfClass =
gui.tryLoadClass(this, MoteInterface.class, intfName);

if (intfClass == null) {
logger.warn("Failed to load mote interface class: " + intfName);
continue;
}

classes.add(intfClass);
}
return classes.toArray(new Class[0]);
return getAllMoteInterfaces();
}

private void addAdvancedTab(JTabbedPane parent) {
Expand Down

0 comments on commit 8e264ba

Please sign in to comment.