 	for(uint8_t i=A0; i<=A7; i++)
 		r ^= analogRead(i);
 	srandom(r);
+	srand(~r);
 
 	//    rf95.setTxPower(20);
 
 	// init ping
+	genId(false);
 	ping.type = T_PING;
 	ping.count = 0;
 	ping.rssi = 0;
-	ping.initiator = 214; // FIXME CHANGE THIS TO SOMETHING UNIQUE
 	pong.replier = -1;
+
+	Serial.print(F("Hello World from "));
+	Serial.println(ping.initiator);
 
 	pong.initiator = -1;
 	pong.replier = ping.initiator;
 }
 
 static char line[128];
-static uint8_t buf[64];
+static uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
 
 void loop()
 {


	unsigned long now = millis();
	while (millis() - now < wait) {
		uint8_t len = sizeof(buf);

		if (rf95.available()) {
			rf95.recv(buf, &len);

			if (len == sizeof(pong)) {
				memcpy(&pong, buf, sizeof(pong));

				if (pong.type == T_PING) {
					// got ping
					sprintf(line, "Recv PING(%d,%d,%d)", pong.count, pong.rssi, pong.initiator);
					Serial.println(line);

// It is designed to work with the other example rf95_client
// Tested with Anarduino MiniWirelessLoRa

#include <EEPROM.h>
#include <SPI.h>
#include <RH_RF95.h>

