void processcamera() { //keypad= getchar1(); int ysize=0; int y=0; int xmean=0; int xmin=0; int xmax=0; int xcnt=0; int xconf=0; int i = 0; //Find packet start while(getchar1()!=0xFE && i < 25) //Wait for packet start { //count how many times we loop, time out and reinit if need be i++; } if(i >= 25) { g_speed = 3; initcamera(); return; } ysize = getchar1(); //For each line for(y=0; y<ysize; y++) { xmean = getchar1(); xmin = getchar1(); xmax = getchar1(); xcnt = getchar1(); xconf = getchar1(); if(xconf > THRESHOLD) xmeans[y] = xmean; //change from mean to center if needed else xmeans[y]=255; for(i=0; i<XRES; i++) { char printchar = ' '; if(i>=xmin&&i<=xmax) printchar = 'X'; if(i==xmean) printchar = '|'; if(xconf < THRESHOLD) printchar = ' '; printf("%c",printchar); } printf("\r"); } calcstats(ysize); }
static void dump (void) { Time conn_period = 0.0, call_period = 0.0; Time call_size = 0.0, hdr_size = 0.0, reply_size = 0.0, footer_size = 0.0; double reply_rate_avg = 0.0, reply_rate_stddev = 0.0; int i, total_replies = 0; Time delta, user, sys; u_wide total_size; calcstats(&es_lifetime); calcstats(&es_connect); calcstats(&es_response); calcstats(&es_transfer); for (i = 1; i < NELEMS (basic.num_replies); ++i) total_replies += basic.num_replies[i]; delta = test_time_stop - test_time_start; if (percentiles) { printf("\nPercentiles [ms] - lifetime connect response transfer:\n"); for (i=1;i<=100;i++) printf("%6d%% %6.0f %6.0f %6.0f %6.0f\n", i, 1e3 * es_lifetime.perc[i], 1e3 * es_connect.perc[i], 1e3 * es_response.perc[i], 1e3 * es_transfer.perc[i]); } /* One line summary output with --summary */ if (summary) { printf ("%8.1f ", 1e3 * es_connect.avg); if (es_response.num != es_connect.num) printf("******"); else printf ("%6.1f ", 1e3 * es_response.avg); if (total_replies != es_connect.num) printf("******"); else printf ("%6.1f ", 1e3 * es_transfer.avg); if (es_lifetime.num != es_connect.num) printf("******"); else printf ("%6.1f ", 1e3 * es_lifetime.avg); if (total_replies != es_connect.num) printf(" * * * * * * * *"); else { hdr_size = basic.hdr_bytes_received / total_replies; reply_size = basic.reply_bytes_received / total_replies; footer_size = basic.footer_bytes_received / total_replies; printf (" %d %d %d",(int) hdr_size, (int) reply_size, (int) footer_size); printf (" %d %d %d %d %d", basic.num_replies[1], basic.num_replies[2], basic.num_replies[3], basic.num_replies[4], basic.num_replies[5]); } printf("\n"); return; } if (verbose > 1) { printf ("\nHistogram - connection lifetime (ms):\n"); hist_print(es_lifetime.hist); printf ("\nHistogram - connect time (ms):\n"); hist_print(es_connect.hist); printf ("\nHistogram - response time (ms):\n"); hist_print(es_response.hist); printf ("\nHistogram - transfer time (ms):\n"); hist_print(es_transfer.hist); } printf ("\nTotal: connections %u requests %u replies %u " "test-duration %.3f s\n", basic.num_conns_issued, basic.num_sent, total_replies, delta); putchar ('\n'); if (basic.num_conns_issued) conn_period = delta/basic.num_conns_issued; printf ("Connection rate: %.1f conn/s (%.1f ms/conn, " "<=%u concurrent connections)\n", basic.num_conns_issued / delta, 1e3*conn_period, basic.max_conns); printf ("Connection length [replies/conn]: %.3f\n", es_lifetime.num > 0 ? total_replies/ (double) es_lifetime.num : 0.0); printf("\n num avg stddev min 10%% 25%% 50%% 75%% 90%% 95%% 99%% max"); printf("\nConnection life [ms]"); printstats(&es_lifetime); printf("\nHandshake time [ms]"); printstats(&es_connect); printf("\nResponse time [ms]"); printstats(&es_response); printf("\nTransfer time [ms]"); printstats(&es_transfer); printf("\n\n"); if (basic.num_sent > 0) call_period = delta/basic.num_sent; printf ("Request rate: %.1f req/s (%.1f ms/req)\n", basic.num_sent / delta, 1e3*call_period); if (basic.num_sent) call_size = basic.req_bytes_sent / basic.num_sent; printf ("Request size [B]: %.1f\n", call_size); putchar ('\n'); if (basic.num_reply_rates > 0) { reply_rate_avg = (basic.reply_rate_sum / basic.num_reply_rates); if (basic.num_reply_rates > 1) reply_rate_stddev = STDDEV (basic.reply_rate_sum, basic.reply_rate_sum2, basic.num_reply_rates); } printf ("Reply rate [replies/s]: min %.1f avg %.1f max %.1f stddev %.1f " "(%u samples)\n", basic.num_reply_rates > 0 ? basic.reply_rate_min : 0.0, reply_rate_avg, basic.reply_rate_max, reply_rate_stddev, basic.num_reply_rates); if (total_replies) { hdr_size = basic.hdr_bytes_received / total_replies; reply_size = basic.reply_bytes_received / total_replies; footer_size = basic.footer_bytes_received / total_replies; } printf ("Reply size [B]: header %.1f content %.1f footer %.1f " "(total %.1f)\n", hdr_size, reply_size, footer_size, hdr_size + reply_size + footer_size); printf ("Reply status: 1xx=%u 2xx=%u 3xx=%u 4xx=%u 5xx=%u\n", basic.num_replies[1], basic.num_replies[2], basic.num_replies[3], basic.num_replies[4], basic.num_replies[5]); putchar ('\n'); user = (TV_TO_SEC (test_rusage_stop.ru_utime) - TV_TO_SEC (test_rusage_start.ru_utime)); sys = (TV_TO_SEC (test_rusage_stop.ru_stime) - TV_TO_SEC (test_rusage_start.ru_stime)); printf ("CPU time [s]: user %.2f system %.2f (user %.1f%% system %.1f%% " "total %.1f%%)\n", user, sys, 100.0*user/delta, 100.0*sys/delta, 100.0*(user + sys)/delta); total_size = (basic.req_bytes_sent + basic.hdr_bytes_received + basic.reply_bytes_received); printf ("Net I/O: %.1f KB/s (%.1f*10^6 bps)\n", total_size/delta / 1024.0, 8e-6*total_size/delta); putchar ('\n'); printf ("Errors: total %u client-timo %u socket-timo %u " "connrefused %u connreset %u\n" "Errors: fd-unavail %u addrunavail %u ftab-full %u other %u\n", (basic.num_client_timeouts + basic.num_sock_timeouts + basic.num_sock_fdunavail + basic.num_sock_ftabfull + basic.num_sock_refused + basic.num_sock_reset + basic.num_sock_addrunavail + basic.num_other_errors), basic.num_client_timeouts, basic.num_sock_timeouts, basic.num_sock_refused, basic.num_sock_reset, basic.num_sock_fdunavail, basic.num_sock_addrunavail, basic.num_sock_ftabfull, basic.num_other_errors); }