added simple example demonstrating user-defined timeout function

This commit is contained in:
Fredrik Osterlind 2011-03-14 18:33:18 +01:00
parent 59768e7bc7
commit bdc42d8e64

View File

@ -7,7 +7,18 @@
/* Started plugins are available from the GUI object */
while (true) {
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"));
@ -15,6 +26,7 @@ while (true) {
/* Toggle Log Listener filter */
plugin = mote.getSimulation().getGUI().getStartedPlugin("se.sics.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");
@ -29,6 +41,7 @@ while (true) {
/* Extract Timeline statistics */
plugin = mote.getSimulation().getGUI().getStartedPlugin("se.sics.cooja.plugins.TimeLine");
if (plugin != null) {
plugins++;
stats = plugin.extractStatistics();
if (stats.length() > 40) {
/* Stripping */
@ -43,6 +56,7 @@ while (true) {
/* Select time in Radio Logger */
plugin = mote.getSimulation().getGUI().getStartedPlugin("se.sics.cooja.plugins.RadioLogger");
if (plugin != null) {
plugins++;
log.log("RadioLogger: Showing logged radio packet at mid simulation\n");
plugin.trySelectTime(time/2);
}