<?php

	$glove_addr = "127.0.0.1"; // "127.0.0.1"
 	$glove_port = 53453;

	$glove_socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);	

	glove_send('{"type":"configure","param":"left","value":"1"}');

//	glove_send('{"type":"configure","param":"save_calibration","value":"1"}');
//	glove_send('{"type":"configure","param":"ble"}');
//	glove_send('{"type":"configure","param":"right"}');

	glove_send('{"type":"scan"}');

	for($t=time(0)+10;$t>time(0);){
		$res=json_decode($txt=glove_recv(1),TRUE);
		if(!$res)continue;
		echo $txt."\n";
	}


	glove_send('{"type":"connect"}');

	$tt=time(0);
	for($t=time(0)+60;$t>time(0);){

		if($tt!=time(0)){
			glove_send('{"type":"ping"}');
			glove_send('{"type":"vibration","data":{"type":"'.($tt%6).',"code":"20"}}');
			$tt=time(0);
		}

		$res=json_decode($txt=glove_recv(1),TRUE);
		echo $txt."\n";
		if(!$res || $res['type']=='position')continue;
		echo $res['type']."\n";

	}


	glove_send('{"type":"disconnect"}');
	for($t=time(0)+3;$t>time(0);){
		$res=json_decode($txt=glove_recv(1),TRUE);
		if(!$res)continue;
		echo $txt."\n";
	}


	exit(0);

	

function glove_send($buf){
		global $glove_addr, $glove_port, $glove_socket;
		echo "send ".$buf."\n";
		socket_sendto($glove_socket, $buf, strlen($buf), 0, $glove_addr, $glove_port);
	}

function glove_recv($TMO=1){
		global $glove_addr, $glove_port, $glove_socket;		
		
		$read = array($glove_socket);
		$w=array();$e=array();
		if (socket_select($read,$w,$e, $TMO) < 1)return '';		
		@$res=socket_recvfrom($glove_socket, $buf, 60000, 0, $from, $port);
		return $buf;
	}



?>
