     uint8_t slot_size;
 } beacon_t;
 
+// whether radio initialisation was successful
+static boolean radio_ok = false;
 // our node id
 static uint8_t node_id;
 // the current time offset between our clock and the master (milliseconds)


        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;
        }
    }


static int do_id(int argc, char *argv[])
{
    uint8_t node = id_read();
    if (argc == 2) {
        node = atoi(argv[1]);
        if (!node_valid(node)) {
            return ERR_PARAM;
        }
        id_write(node);
        radio_init(node);
        node_id = node;
    }
    print("00 %02X\n", node_id);
    return 0;
