#include <mes2.h>
#include <h8/reg3067.h>

int main(int argc, char **argv) {
	char	swt[21][5];
	char	buffer[9];
	char	st[5];
	char	gp[6];
	char	*p;
	int	rdat;
	int	ra, rb;
	int	indat[9];
	int	bfno, stno;
	int	i, flg;
	int	fd, k, n, t;

	fd = open( "com0", 0 );


	/* パスワード設定→"1234"の代わりに任意設定ＯＫ、但し半角英数字の４文字とすること。*/
	strcpy(st,"1234");

	/* 第１ヘッドデータ"gp[0]=0xaa",第２ヘッドデータ"gp[1]=0xbb"とする、任意に変更可、相手も変更要 */ 
	gp[0] = 0xaa;
	gp[1] = 0xbb;

	PADDR = 0xff;
	PBDDR = 0xef;

	cgi_value(argv[1], "id", buffer, 10);
	
	cgi_value(argv[1], "swt0", swt[0], 3);
	cgi_value(argv[1], "swt1", swt[1], 3);
	cgi_value(argv[1], "swt2", swt[2], 3);
	cgi_value(argv[1], "swt3", swt[3], 3);
	cgi_value(argv[1], "swt4", swt[4], 3);
	cgi_value(argv[1], "swt5", swt[5], 3);
	cgi_value(argv[1], "swt6", swt[6], 3);
	cgi_value(argv[1], "swt7", swt[7], 3);
	cgi_value(argv[1], "swt8", swt[8], 3);
	cgi_value(argv[1], "swt9", swt[9], 3);
	cgi_value(argv[1], "swta", swt[10], 3);
	cgi_value(argv[1], "swtb", swt[11], 3);
	cgi_value(argv[1], "swtc", swt[12], 3);
	cgi_value(argv[1], "swtd", swt[13], 3);
	cgi_value(argv[1], "swte", swt[14], 3);
	cgi_value(argv[1], "swtf", swt[15], 3);
	cgi_value(argv[1], "swtg", swt[16], 3);
	cgi_value(argv[1], "swth", swt[17], 3);
	cgi_value(argv[1], "swti", swt[18], 3);
	cgi_value(argv[1], "swtj", swt[19], 3);


	flg = 1;
	for(i=0; i<=3; i++){
		bfno = buffer[i];
		stno = st[i];
		if(bfno != stno) flg = 0;
	}	

	ra = 0x00;
	if(swt[0][0] == 'o') ra=ra+0x01;	
	if(swt[1][0] == 'o') ra=ra+0x02;
	if(swt[2][0] == 'o') ra=ra+0x04;
	if(swt[3][0] == 'o') ra=ra+0x08;
	if(swt[4][0] == 'o') ra=ra+0x10;
	if(swt[5][0] == 'o') ra=ra+0x20;
	if(swt[6][0] == 'o') ra=ra+0x40;
	if(swt[7][0] == 'o') ra=ra+0x80;
	if(flg == 1) PADR = ra;

	rb = 0x00;
	if(swt[8][0] == 'o') rb=rb+0x01;
	if(swt[9][0] == 'o') rb=rb+0x02;
	if(swt[10][0] == 'o') rb=rb+0x04;
	if(swt[11][0] == 'o') rb=rb+0x08;
	if(swt[12][0] == 'o') rb=rb+0x20;
	if(swt[13][0] == 'o') rb=rb+0x40;
	if(swt[14][0] == 'o') rb=rb+0x80;
	if(flg == 1) PBDR = rb;

	gp[2] = 0x00;
	if(swt[15][0] == 'o') gp[2]=gp[2]+0x01;
	if(swt[16][0] == 'o') gp[2]=gp[2]+0x02;
	if(swt[17][0] == 'o') gp[2]=gp[2]+0x04;
	if(swt[18][0] == 'o') gp[2]=gp[2]+0x10;
	if(swt[19][0] == 'o') gp[2]=gp[2]+0x20;

	gp[3] = gp[2];

	if(flg == 1){
		for(t=0; t<=2; t++){ 
			for(k=0; k<=3; k++){
				p = &gp[k];
				write( fd, p, 1 );
				sleep(5);
			}
			sleep(20);
		}	
	}		

	n = close( fd );

	if(flg == 1) rdat = P7DR;
	indat[0] = 0x01 & rdat;
	indat[1] = 0x02 & rdat;
	indat[2] = 0x04 & rdat;
	indat[3] = 0x08 & rdat;
	indat[4] = 0x10 & rdat;
	indat[5] = 0x20 & rdat;
	indat[6] = 0x40 & rdat;
	indat[7] = 0x80 & rdat;



	printf("<html><body>\r\n");
	printf("<form action=\"pkcont-2.elf\"><p>\r\n");
	printf("<strong>Pocket Controller 2</strong><br>\r\n");
	printf("PassWord-<input type=\"password\" name=\"id\" value=\"%s\" size=\"4\" maxlength=\"4\"><br>\r\n", buffer );

	if(indat[0] == 0x01){
		printf("In<font color=\"#ff0000\"><strong> 0</strong></font>\r\n");
	}
	else{
		printf("In<font color=\"#3300ff\"><strong> 0</strong></font>\r\n");
	}
	if(indat[1] == 0x02){
		printf("<font color=\"#ff0000\"><strong>1</strong></font>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>1</strong></font>\r\n");
	}
	if(indat[2] == 0x04){
		printf("<font color=\"#ff0000\"><strong>2</strong></font>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>2</strong></font>\r\n");
	}
	if(indat[3] == 0x08){
		printf("<font color=\"#ff0000\"><strong>3</strong></font>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>3</strong></font>\r\n");
	}
	if(indat[4] == 0x10){
		printf("<font color=\"#ff0000\"><strong>4</strong></font>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>4</strong></font>\r\n");
	}
	if(indat[5] == 0x20){
		printf("<font color=\"#ff0000\"><strong>5</strong></font>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>5</strong></font>\r\n");
	}
	if(indat[6] == 0x40){
		printf("<font color=\"#ff0000\"><strong>6</strong></font>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>6</strong></font>\r\n");
	}
	if(indat[7] == 0x80){
		printf("<font color=\"#ff0000\"><strong>7</strong></font><br>\r\n");
	}
	else{
		printf("<font color=\"#3300ff\"><strong>7</strong></font><br>\r\n");
	}

	printf("0<input type=\"checkbox\" name=\"swt0\" %s>\r\n", (swt[0][0]=='o') ? "checked" : "");
	printf("1<input type=\"checkbox\" name=\"swt1\" %s>\r\n", (swt[1][0]=='o') ? "checked" : "");
	printf("2<input type=\"checkbox\" name=\"swt2\" %s>\r\n", (swt[2][0]=='o') ? "checked" : "");
	printf("3<input type=\"checkbox\" name=\"swt3\" %s>\r\n", (swt[3][0]=='o') ? "checked" : "");
	printf("4<input type=\"checkbox\" name=\"swt4\" %s><br>\r\n", (swt[4][0]=='o') ? "checked" : "");

	printf("5<input type=\"checkbox\" name=\"swt5\" %s>\r\n", (swt[5][0]=='o') ? "checked" : "");
	printf("6<input type=\"checkbox\" name=\"swt6\" %s>\r\n", (swt[6][0]=='o') ? "checked" : "");
	printf("7<input type=\"checkbox\" name=\"swt7\" %s>\r\n", (swt[7][0]=='o') ? "checked" : "");
	printf("8<input type=\"checkbox\" name=\"swt8\" %s>\r\n", (swt[8][0]=='o') ? "checked" : "");
	printf("9<input type=\"checkbox\" name=\"swt9\" %s><br>\r\n", (swt[9][0]=='o') ? "checked" : "");

	printf("a<input type=\"checkbox\" name=\"swta\" %s>\r\n", (swt[10][0]=='o') ? "checked" : "");
	printf("b<input type=\"checkbox\" name=\"swtb\" %s>\r\n", (swt[11][0]=='o') ? "checked" : "");
	printf("c<input type=\"checkbox\" name=\"swtc\" %s>\r\n", (swt[12][0]=='o') ? "checked" : "");
	printf("d<input type=\"checkbox\" name=\"swtd\" %s>\r\n", (swt[13][0]=='o') ? "checked" : "");
	printf("e<input type=\"checkbox\" name=\"swte\" %s><br>\r\n", (swt[14][0]=='o') ? "checked" : "");

	printf("f<input type=\"checkbox\" name=\"swtf\" %s>\r\n", (swt[15][0]=='o') ? "checked" : "");
	printf("g<input type=\"checkbox\" name=\"swtg\" %s>\r\n", (swt[16][0]=='o') ? "checked" : "");
	printf("h<input type=\"checkbox\" name=\"swth\" %s>\r\n", (swt[17][0]=='o') ? "checked" : "");
	printf("i<input type=\"checkbox\" name=\"swti\" %s>\r\n", (swt[18][0]=='o') ? "checked" : "");
	printf("j<input type=\"checkbox\" name=\"swtj\" %s><br>\r\n", (swt[19][0]=='o') ? "checked" : "");


	printf("<input type=\"submit\" value=\"submit\"> <input type=\"reset\" value=\"reset\"><br>\r\n");
	
	printf("</form>\r\n");

	printf("</body></html>\r\n");

}
