remote control pwnage
authorRoland Hieber <rohieb@rohieb.name>
Tue, 1 Nov 2011 16:40:33 +0000 (17:40 +0100)
committerRoland Hieber <rohieb@rohieb.name>
Tue, 1 Nov 2011 16:40:33 +0000 (17:40 +0100)
exercise_remotecontrol/rime/Makefile
exercise_remotecontrol/rime/led_remote_control.c [new file with mode: 0644]
exercise_remotecontrol/rime/led_remote_control_rime.c [deleted file]
exercise_remotecontrol/rime/pwnage.c [new file with mode: 0644]

index c568329..f853b6c 100644 (file)
@@ -1,5 +1,5 @@
 include ../../Makefile.properties
 include ../../Makefile.properties
-CONTIKI_PROJECT=led_remote_control_rime
+CONTIKI_PROJECT=led_remote_control pwnage
 
 all: $(CONTIKI_PROJECT)
 
 
 all: $(CONTIKI_PROJECT)
 
diff --git a/exercise_remotecontrol/rime/led_remote_control.c b/exercise_remotecontrol/rime/led_remote_control.c
new file mode 100644 (file)
index 0000000..b3b9899
--- /dev/null
@@ -0,0 +1,51 @@
+#include <contiki.h>
+#include <leds.h>
+#include <stdio.h>
+#include <button-sensor.h>
+#include <net/rime.h>
+
+PROCESS(led_remote_control_rime, "binary LED counter via button over Rime");
+AUTOSTART_PROCESSES(&led_remote_control_rime);
+
+void recv(struct broadcast_conn *ptr, const rimeaddr_t * sender) {
+  char * val = (char *) packetbuf_dataptr();
+  printf("node %d: recv from %d: %d\n", rimeaddr_node_addr, *sender, *val);
+  // FIXME
+  if(*val % 2) {
+    leds_toggle(LEDS_GREEN);
+  }
+  leds_toggle(LEDS_YELLOW);
+  printf("toggled LEDs\n");
+}
+
+static struct broadcast_conn bc;
+static const struct broadcast_callbacks bccb = { recv };
+
+PROCESS_THREAD(led_remote_control_rime, ev, data) {
+  PROCESS_EXITHANDLER(broadcast_close(&bc));
+
+  PROCESS_BEGIN();
+
+  leds_init();
+  leds_off(LEDS_ALL);
+
+  SENSORS_ACTIVATE(button_sensor);
+
+  broadcast_open(&bc, 129, &bccb);
+
+  static struct etimer timer;
+  static char i;
+  for(i = 0; 1; i++) {
+    PROCESS_WAIT_EVENT_UNTIL(ev == sensors_event && data == &button_sensor);
+
+    // debounce for 250 ms
+    etimer_set(&timer, CLOCK_SECOND * 0.25);
+    PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));
+
+    packetbuf_copyfrom(&i, sizeof(i));
+    broadcast_send(&bc);
+    printf("node %d: broadcast sent: %d\n", rimeaddr_node_addr, i);
+  }
+
+  PROCESS_END();
+}
diff --git a/exercise_remotecontrol/rime/led_remote_control_rime.c b/exercise_remotecontrol/rime/led_remote_control_rime.c
deleted file mode 100644 (file)
index b3b9899..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <contiki.h>
-#include <leds.h>
-#include <stdio.h>
-#include <button-sensor.h>
-#include <net/rime.h>
-
-PROCESS(led_remote_control_rime, "binary LED counter via button over Rime");
-AUTOSTART_PROCESSES(&led_remote_control_rime);
-
-void recv(struct broadcast_conn *ptr, const rimeaddr_t * sender) {
-  char * val = (char *) packetbuf_dataptr();
-  printf("node %d: recv from %d: %d\n", rimeaddr_node_addr, *sender, *val);
-  // FIXME
-  if(*val % 2) {
-    leds_toggle(LEDS_GREEN);
-  }
-  leds_toggle(LEDS_YELLOW);
-  printf("toggled LEDs\n");
-}
-
-static struct broadcast_conn bc;
-static const struct broadcast_callbacks bccb = { recv };
-
-PROCESS_THREAD(led_remote_control_rime, ev, data) {
-  PROCESS_EXITHANDLER(broadcast_close(&bc));
-
-  PROCESS_BEGIN();
-
-  leds_init();
-  leds_off(LEDS_ALL);
-
-  SENSORS_ACTIVATE(button_sensor);
-
-  broadcast_open(&bc, 129, &bccb);
-
-  static struct etimer timer;
-  static char i;
-  for(i = 0; 1; i++) {
-    PROCESS_WAIT_EVENT_UNTIL(ev == sensors_event && data == &button_sensor);
-
-    // debounce for 250 ms
-    etimer_set(&timer, CLOCK_SECOND * 0.25);
-    PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));
-
-    packetbuf_copyfrom(&i, sizeof(i));
-    broadcast_send(&bc);
-    printf("node %d: broadcast sent: %d\n", rimeaddr_node_addr, i);
-  }
-
-  PROCESS_END();
-}
diff --git a/exercise_remotecontrol/rime/pwnage.c b/exercise_remotecontrol/rime/pwnage.c
new file mode 100644 (file)
index 0000000..c46777a
--- /dev/null
@@ -0,0 +1,46 @@
+#include <contiki.h>
+#include <leds.h>
+#include <stdio.h>
+#include <button-sensor.h>
+#include <net/rime.h>
+
+PROCESS(pwnage, "total pwnage!");
+AUTOSTART_PROCESSES(&pwnage);
+
+void recv(struct broadcast_conn *ptr, const rimeaddr_t * sender) {
+  char * val = (char *) packetbuf_dataptr();
+  printf("node %d: recv from %d: %s\n", rimeaddr_node_addr, *sender, val);
+}
+
+static struct broadcast_conn bc;
+static const struct broadcast_callbacks bccb = { recv };
+
+PROCESS_THREAD(pwnage, ev, data) {
+  PROCESS_EXITHANDLER(broadcast_close(&bc));
+
+  PROCESS_BEGIN();
+
+  leds_init();
+  leds_off(LEDS_ALL);
+
+  SENSORS_ACTIVATE(button_sensor);
+
+  broadcast_open(&bc, 129, &bccb);
+
+  static struct etimer timer;
+  static char i;
+  for(i = 0; 1; i++) {
+    PROCESS_WAIT_EVENT_UNTIL(ev == sensors_event && data == &button_sensor);
+
+    // debounce for 250 ms
+    etimer_set(&timer, CLOCK_SECOND * 0.25);
+    PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));
+
+    char foo[] = "Spam, Spam, Wonderful Spam!";
+    packetbuf_copyfrom(foo, sizeof(foo));
+    broadcast_send(&bc);
+    printf("node %d: broadcast sent\n", rimeaddr_node_addr, i);
+  }
+
+  PROCESS_END();
+}
This page took 0.030008 seconds and 4 git commands to generate.