osd-contiki/tools/cooja/config/scripts/plugins.js
Fredrik Osterlind b5c94910ac Renamed Java packages to match our contiki-os.org domain. Note that this commit does not affect external dependencies
like /tools/mspsim.

This is a very simple modification that affects a very large number of files in Contiki: Cooja,
/platform/cooja, Collect-view, Coffe-manager, and Cooja simulation files (.csc).

I've gone through Contiki to update all references I could find. Nevertheless, this commit will likely
break external dependencies, like saved Cooja simulation files.
2013-11-20 16:43:27 +01:00

67 lines
1.9 KiB
JavaScript

/*
* Example showing how to reference and interact with surrounding
* COOJA plugins from a test script.
* The code looks up three common plugins and, if found, performs some
* simple plugin-specific task.
*/
/* Started plugins are available from the GUI object */
TIMEOUT(60000);
counter=0;
plugins=0;
timeout_function = function my_fun() {
log.log("Script timed out.\n");
log.log(plugins + " plugins were referenced\n");
}
while (counter<10) {
counter++;
GENERATE_MSG(1000, "wait");
YIELD_THEN_WAIT_UNTIL(msg.equals("wait"));
/* Toggle Log Listener filter */
plugin = mote.getSimulation().getCooja().getStartedPlugin("org.contikios.cooja.plugins.LogListener");
if (plugin != null) {
plugins++;
log.log("LogListener: Setting filter: " + plugin.getFilter() + "\n");
if (plugin.getFilter() == null || !plugin.getFilter().equals("Contiki")) {
plugin.setFilter("Contiki");
} else {
plugin.setFilter("MAC");
}
}
GENERATE_MSG(1000, "wait");
YIELD_THEN_WAIT_UNTIL(msg.equals("wait"));
/* Extract PowerTracker statistics */
plugin = mote.getSimulation().getCooja().getStartedPlugin("PowerTracker");
if (plugin != null) {
plugins++;
stats = plugin.radioStatistics();
if (stats.length() > 40) {
/* Stripping */
stats = stats.substring(0, 40) + "...";
}
log.log("PowerTracker: Extracted statistics:\n" + stats + "\n");
} else {
log.log("No PowerTracker plugin\n");
}
GENERATE_MSG(1000, "wait");
YIELD_THEN_WAIT_UNTIL(msg.equals("wait"));
/* Select time in Radio Logger */
plugin = mote.getSimulation().getCooja().getStartedPlugin("org.contikios.cooja.plugins.RadioLogger");
if (plugin != null) {
plugins++;
log.log("RadioLogger: Showing logged radio packet at mid simulation\n");
plugin.trySelectTime(time/2);
}
}