Changeset 437
- Timestamp:
- 02/18/07 18:12:57 (2 years ago)
- Files:
-
- trunk/lib/cc3-ilp/cc3_histogram.c (modified) (2 diffs)
- trunk/projects/cmucam2/cmucam2.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/cc3-ilp/cc3_histogram.c
r418 r437 31 31 if(pkt->hist==NULL ) return 0; 32 32 if(cc3_g_pixbuf_frame.coi!=CC3_CHANNEL_ALL) 33 pkt->channel= cc3_g_pixbuf_frame.coi;33 pkt->channel=0; //cc3_g_pixbuf_frame.coi; 34 34 for(i=0; i<pkt->bins; i++ ) 35 35 { … … 51 51 { 52 52 uint8_t i; 53 cc3_get_pixel( img, x, 0, &cp );53 cc3_get_pixel( img, x, y-pkt->scratch_y, &cp ); 54 54 i=cp.channel[pkt->channel]/pkt->bin_div; 55 55 if(i>0) i--; 56 56 if(i>=pkt->bins) i=pkt->bins-1; 57 pkt->hist[i -1]++;57 pkt->hist[i]++; 58 58 } 59 59 pkt->scratch_y=y; trunk/projects/cmucam2/cmucam2.c
r436 r437 68 68 GET_INPUT, 69 69 SET_TRACK, 70 CONF_HISTOGRAM, 70 71 CMUCAM2_CMD_END // Must be last entry so array sizes are correct 71 72 } cmucam2_command_t; … … 117 118 // SP servo parameters 118 119 cmucam2_cmds[SERVO_PARAMETERS] = "SP"; 119 cmucam2_cmds[GET_INPUT] = "GI";120 cmucam2_cmds[SET_INPUT] = "SI";121 120 122 121 … … 132 131 133 132 /* Auxiliary I/O Commands */ 133 cmucam2_cmds[GET_INPUT] = "GI"; 134 cmucam2_cmds[SET_INPUT] = "SI"; 134 135 // GB get button 135 // GI get auxiliary I/O136 136 cmucam2_cmds[LED_0] = "L0"; 137 137 // L1 LED control … … 145 145 cmucam2_cmds[GET_TRACK] = "GT"; 146 146 cmucam2_cmds[SET_TRACK] = "ST"; 147 // ST set tracking parameters148 147 149 148 /* Histogram Commands */ 150 149 cmucam2_cmds[GET_HISTOGRAM] = "GH"; 150 cmucam2_cmds[CONF_HISTOGRAM] = "HC"; 151 151 // HC histogram config 152 152 // HT histogram track … … 406 406 break; 407 407 408 409 case CONF_HISTOGRAM: 410 if (n != 1 || arg_list<1 ) { 411 error = true; 412 break; 413 } 414 h_pkt.bins = arg_list[0]; 415 print_ACK (); 416 417 break; 418 419 408 420 case TRACK_INVERT: 409 421 if (n != 1 || arg_list[0] > 1) { … … 791 803 img.pix = malloc (3 * img.width); 792 804 h_pkt->hist = malloc (h_pkt->bins * sizeof (uint32_t)); 805 if(img.pix==NULL || h_pkt->hist==NULL ) 806 { 807 printf( "INTERNAL ERROR\r" ); 808 return; 809 } 793 810 do { 794 811 cc3_pixbuf_load (); … … 800 817 while (!cc3_uart_has_data (0)) { 801 818 if (fgetc (stdin) == '\r') 819 { 802 820 free (img.pix); 803 free (h_pkt->hist); 804 return; 821 free (h_pkt->hist); 822 return; 823 } 805 824 } 806 825 if (!quiet)
