 
 void loop(void) 
 {
+  static char text[32] = "Spoorlaan 5d   PIZZA   ";
+  static char buf[32];
+  static boolean avail = false;
   
+  // prepare text
+  if (avail) {
+    avail = false;
+    memset(buf, 0, sizeof(buf));
+    if (rf.read(&buf, sizeof(buf))) {
+      uint8_t len = buf[0];
+	    if (len > 31) {
+	      len = 31;
+	    }
+      strncpy(text, buf + 1, len);
+      text[len] = '\0';
+      Serial.println(text);
+    }
+  }
+
+  // display text
   int i;
-  int j;
-  
-#if 1
-    alarm_cycle();
-    delay(40);
-#else
-  static const char text[] = "  56 cpm  ";
-
-  lc.setIntensity(0, 4);
   for (i = 0; text[i] != 0; i++) {
     draw_char(text[i]);
     
     int j;
     for (j = 0; j < GLYPH_WIDTH; j++) {
+      if (rf.available()) {
+        // stop drawing current text, and prepare to receive a new one
+        avail = true;
+        return;
+      }
+      
       scroll();
       update_display();
-      delay(40);
+      delay(25);
     }
   }
-#endif
 }

    static int phase = 0;
    static const uint8_t radio[8] = {0x3C, 0x5A, 0x99, 0x99, 0xFF, 0xE7, 0x42, 0x3C};
    static const uint8_t mask[8] =  {0x7C, 0xFE, 0x92, 0xFE, 0x7C, 0x38, 0x7C, 0x7C};
    static const uint8_t skull[8] = {0x7C, 0xFE, 0xFE, 0x92, 0x92, 0x6C, 0x38, 0x38};
    
    phase = (phase + 1) % 64;
    if (phase < 32) {

#include <SPI.h>

#include <RF24.h>
#include <nRF24L01.h>
#include <RF24_config.h>

//We always have to include the library
#include "LedControl.h"

#include "font.h"

static LedControl lc = LedControl(/*data*/ 2, /*clk*/ 4, /*cs*/ 3, /*#devices*/ 2);
static long int address = 0x66996699L;  // So that's 0x0066996699

static RF24 rf(/*ce*/ 9, /*cs*/ 10);

#define GLYPH_WIDTH     6
#define GLYPH_HEIGHT    8
