 } beacon_t;
 
 static beacon_t beacon;
-static buffer_t buffers[9];
+static buffer_t buffers[NUM_SLOTS];
 
 static void fill_buffer(uint8_t to, uint8_t flags, uint8_t len, uint8_t *data)
 {

static int do_beacon(int argc, char *argv[])
{
    print("%s 00 %lu %d %d %d\n", argv[0], beacon.time, beacon.frame, beacon.slot_offs, beacon.slot_size);
}

static const cmd_t commands[] = {

        default:
            // copy data into buffer and indicate reception
            buffer_t *buf = &buffers[node];  // TODO BSI check node in range
            if (buf->len == 0) {
                // only indicate when buffer status changes (empty->full)
                print("!r %02X\n", node);
            }
            memcpy(&buf->data, rcv, len);
            buf->len = len;

            break;
        }
    }
