[pso] [tema2] backbuffer si testerul

foxX alex.mihaiuc at gmail.com
Sat Apr 19 15:22:38 EEST 2008


salut,

nu e specificat nicaieri in enunt cat de mare trebuie sa fie
backbufferul la uart, moment in care eu am considerat ca 1 octet e ok.
ma uit pe tester si vad o chestie pe care nu stiu cum s-o interpretez:

	for(j=0; j<loops; j++) {
		for(i=0; i<BUFFER_SIZE; i++) {
			wb[i]=rand()%256;
			rb[i]=0;
		}
		test(do_write(com1, wb, BUFFER_SIZE) == 0, "write %s", com1_path);
		test(do_read(com2, rb, BUFFER_SIZE) == 0, "read %s", com2_path);
		for(i=0; i<BUFFER_SIZE; i++) {
			if (rb[i] != wb[i])
				break;
	    	}
	    	if (i >= 16)
				test(1, "data check");
			else {
				for(i=0; i<BUFFER_SIZE; i++)
					if (rb[i] != wb[i])
						fprintf(stderr, "%d %x %x\n", i, rb[i], wb[i]);
				test(0, "data check");
			}
	}

unde BUFFER_SIZE e 256.
deci se scriu 256 octeti.
DUPA, se citesc maxim 256 octeti. e ok daca in cazul meu doar 1 ajunge
inapoi? dar 4, 8, 14 (ca pot seta triggerul pe RDAI la valorile
astea), 32, 64, 128?
cumva se doreste sa apara pe ecran (BUFFER_SIZE / 16) x "data check"?

imi imaginez ca pentru o garantie a trimiterii si receptionarii
tuturor octetilor, read ar trebui facut in paralel cu write, si
verificarile facute in-place. sau write(1 byte) alternand cu read(1
byte).

-- 
kthxbai


More information about the pso mailing list