Changeset 440

Show
Ignore:
Timestamp:
02/18/07 18:52:30 (2 years ago)
Author:
anthony_rowe
Message:

packet filter

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/projects/cmucam2/cmucam2.c

    r438 r440  
    7070  BUF_MODE, 
    7171  READ_FRAME, 
     72  PACKET_FILTER, 
    7273  CONF_HISTOGRAM, 
    7374  CMUCAM2_CMD_END               // Must be last entry so array sizes are correct 
     
    9596  /* Buffer Commands */ 
    9697  cmucam2_cmds[BUF_MODE] = "BM"; 
    97   //  BM buffer mode 
    9898  cmucam2_cmds[READ_FRAME] = "RF"; 
    99   //  RF read frame 
    10099 
    101100  /* Camera Module Commands */ 
     
    109108  //  PS packet skip 
    110109  //  RM raw mode 
    111   //  PF packet filter 
     110  cmucam2_cmds[PACKET_FILTER] = "PF"; 
    112111  //  OM output packet mask 
    113112 
     
    194193static void cmucam2_send_image_direct (bool auto_led); 
    195194 
    196  
     195bool packet_filter_flag; 
    197196 
    198197int main (void) 
     
    251250  line_mode = false; 
    252251  buf_mode = false; 
     252  packet_filter_flag = false; 
    253253  h_pkt.bins = 28; 
    254254  t_pkt.track_invert = false; 
     
    375375        break; 
    376376 
     377      case PACKET_FILTER: 
     378        if (n != 1 || arg_list[0]>1) { 
     379          error = true; 
     380          break; 
     381        } 
     382 
     383        print_ACK (); 
     384        if (arg_list[0] == 1) 
     385          packet_filter_flag= true; 
     386        else 
     387          packet_filter_flag= false; 
     388        break; 
     389 
    377390      case POLL_MODE: 
    378         if (n != 1) { 
     391        if (n != 1 || arg_list[0]>1) { 
    379392          error = true; 
    380393          break; 
     
    10361049void cmucam2_write_t_packet (cc3_track_pkt_t * pkt, cmucam2_servo_t *servo_settings) 
    10371050{ 
     1051static bool empty_cnt=0; 
     1052 
    10381053  if (pkt->centroid_x > 255) 
    10391054    pkt->centroid_x = 255; 
     
    10541069 
    10551070  if (pkt->num_pixels == 0) 
    1056     printf ("T 0 0 0 0 0 0 0 0"); 
     1071  { 
     1072    if(packet_filter_flag==0) 
     1073        printf ("T 0 0 0 0 0 0 0 0"); 
     1074    if(packet_filter_flag==1) 
     1075    { 
     1076        if(empty_cnt==0) printf ("T 0 0 0 0 0 0 0 0"); 
     1077    } 
     1078  } 
    10571079  else 
     1080  { 
     1081    empty_cnt=0; 
    10581082    printf ("T %d %d %d %d %d %d %d %d", pkt->centroid_x, pkt->centroid_y, 
    10591083            pkt->x0, pkt->y0, pkt->x1, pkt->y1, pkt->num_pixels, 
    10601084            pkt->int_density); 
     1085  } 
    10611086  if(servo_settings->x_report) printf( " %d",servo_settings->x ); 
    10621087  if(servo_settings->y_report) printf( " %d",servo_settings->y ); 
    1063   printf( "\r" ); 
    1064  
     1088  if(packet_filter_flag==0) printf( "\r" ); 
     1089  if(packet_filter_flag==1) 
     1090    { 
     1091        if(empty_cnt==0) printf ("\r"); 
     1092        if (pkt->num_pixels == 0) empty_cnt=1; 
     1093    } 
    10651094} 
    10661095