距離を測る(複数版)

送信機

var radio_id = 7;  
var radio_group = 5;
var dist_time = 1;

function loop() {
    dist_send(radio_id, radio_group);
}

function dist_send(id, group){
	for(p = 0; p < 32; p++){ // power
		radioInit(0xDEAD, id, group, p);
		radioSend(0xFFFF, "power:"+p+",time:"+dist_time);
		sleep(10);
	}
	dist_time++;
}

function sleep(count){
	for(var i = 0; i < count*10; i++){
	}
}

while(true){
	loop();
}


受信機

var radio_id = 3;  
var radio_group = 5;
var dist_lastTime = 0;
var dist_lastPower = 0;
var nodes_num = 10;
nodes = new Array(nodes_num);
nodes_init(nodes, nodes_num);

serialInit(9600);
radioInit(0xDEAD, radio_id, radio_group, 31);

function loop(){
	
}

function onRadioReceive(seq,id,pan,data,rss) {
	power = data.split(",")[0].split(":")[1];
	time = data.split(",")[1].split(":")[1];
  	if(nodes[id].lastTime < time){ // 新しいデータの時
  		nodes[id].power = power;
  		serialSend("id"+id+" power"+power+" time"+time+"\r\n");
  	}
  	nodes[id].lastTime = time;
}

function nodes_init(nodes, node_num){
	for(i = 1; i < node_num+2; i++){
		nodes[i] = new Object();
		nodes[i].lastTime = 0;
		nodes[i].power = 0;
	}
}

function sleep(count){
	for(var i = 0; i < count*10; i++){
	}
}

while(true){
	loop();
}