Tony Lin
/
BX-car
hello
Fork of BX-car by
Diff: camera_api.cpp
- Revision:
- 2:c51647d3c14d
- Parent:
- 1:82bc25a7b68b
- Child:
- 3:c5f2281b3ed2
--- a/camera_api.cpp Tue Jun 03 15:53:55 2014 +0000 +++ b/camera_api.cpp Wed Jun 04 12:56:52 2014 +0000 @@ -4,33 +4,32 @@ #define clk 2 //ms - BX_camera::BX_camera(char cam){ - + BX_camera::BX_camera(void){ - cam_clk= new DigitalOut(PTE1) ; - - si = new DigitalOut(PTD7); - - line_Cam = new FastAnalogIn(PTD5); + line_CamR = new FastAnalogIn(PTD5); + line_CamL= new FastAnalogIn(PTD6,0); + cam_clk=new DigitalOut(PTE1); + si=new DigitalOut(PTD7); - - - + } -void BX_camera::read(void){ - + void BX_camera::read(void){ - w_f_v=0x0000; - b_f_v=0xffff; + w_f_vL=0x0000; + b_f_vL=0xffff; + + w_f_vR=0x0000; + b_f_vR=0xffff; + *si=1; - *cam_clk=1; + *cam_clk=1; wait_us(30); // tune here *si=0; @@ -38,24 +37,31 @@ - line_Cam->enable(); + line_CamR->enable(); + line_CamL->enable(); - //input 128 + //input 128 //both for(int i=0;i<128;i++){ - *cam_clk=1; - wait_us(5); + *cam_clk=1; + wait_us(5); - line_image[i]=line_Cam->read_u16(); - + line_imageR[i]=line_CamR->read_u16(); + line_imageL[i]=line_CamL->read_u16(); // big small - if(line_image[i] > w_f_v) - w_f_v=line_image[i]; - else if(line_image[i] < b_f_v ) - b_f_v = line_image[i]; + if(line_imageR[i] > w_f_vR) + w_f_vR=line_imageR[i]; + else if(line_imageR[i] < b_f_vR ) + b_f_vR = line_imageR[i]; + + + if(line_imageL[i] > w_f_vL) + w_f_vL=line_imageL[i]; + else if(line_imageL[i] < b_f_vL ) + b_f_vL = line_imageL[i]; @@ -67,22 +73,35 @@ } - line_Cam->disable(); + line_CamR->enable(); + line_CamL->enable(); - - //filter + //filter L R //may change for(int i=0;i<128;i++){ - if( (line_image[i]-b_f_v) < (w_f_v - line_image[i] ) ) - sign_line_image[i]=' '; + if( (line_imageR[i]-b_f_vR) < (w_f_vR - line_imageR[i] ) ) + sign_line_imageR[i]=' '; + else + sign_line_imageR[i]='O'; + + + if( (line_imageL[i]-b_f_vL) < (w_f_vL - line_imageL[i] ) ) + sign_line_imageL[i]=' '; else - sign_line_image[i]='O'; + sign_line_imageL[i]='O'; + - if(i==0) - sign_line_image[i]='X'; + + + + if(i==0){ + sign_line_imageR[i]='X'; + sign_line_imageL[i]='X'; + } + }