Clark Lin / Mbed 2 deprecated BX-car_s

Dependencies:   mbed-rtos mbed

Fork of BX-car_s by Tony Lin

Revision:
22:1464a3f0a290
Parent:
21:5f7efc1ca8ad
Child:
23:d6d4e8adf7fe
diff -r 5f7efc1ca8ad -r 1464a3f0a290 camera_api.cpp
--- a/camera_api.cpp	Mon Jun 30 08:19:43 2014 +0000
+++ b/camera_api.cpp	Tue Jul 01 13:09:06 2014 +0000
@@ -12,7 +12,7 @@
     si=new DigitalOut(PTD7);
     padding = p;
 }
-int BX_camera::black_center(void)
+/*int BX_camera::black_center(void)
 {
     int black_L_right = 96   , black_R_left = 32;
     
@@ -31,68 +31,30 @@
     }
     
     return (black_R_left + black_L_right) / 2;
+}*/
+int BX_camera::black_centerR(void)//64~0 right eye
+{   
+    int black_R_left = 0;
+    for(int i = 64; i >=6; i--){
+        if(sign_line_imageR[i] == 'O' && sign_line_imageR[i-1] == ' ' && sign_line_imageR[i-2] == ' '){
+            return i;
+        }
+    } 
+    return black_R_left;
 }
- 
-int BX_camera::black_centerR(void)
+int BX_camera::black_centerL(void)
 {
- 
-    int l_care=10;
-    int r_care=118;
-    int b_start=0;
-    int b_end=0;
-    bool l_f1=false;
-    bool l_f2=false;
-    bool find=false;
-    int b_thr_up=32;
-    int b_thr_dn=5;
-    int b_w=0;
-    
-     for(int i=r_care;i>l_care;i--){
-         
-         
-          if(l_f1==false&&sign_line_imageR[i]==' '){
-               
-              b_start=i;
-              l_f1=true;
-          }
-          if(l_f1==true && sign_line_imageR[i]=='O'){
-              b_end=i-1;
-              l_f2=true;   
-           }
-         
-           if(l_f1==true && l_f2== true){
-               b_w=b_start-b_end;
-               if( b_thr_up>b_w&&b_w> b_thr_dn){
-                   
-                   find=true;     
-                   break;
-                }
-                else{
-                   l_f1=false;
-                   l_f2=false;
-                   
-                } 
-                
-                   
-            }
-               
-               
+     int black_L_right = 128;
+     for(int i = 64; i <123 ; i++){
+        if(sign_line_imageR[i] == 'O' && sign_line_imageR[i+1] == ' ' && sign_line_imageR[i+2] == ' '){
+            return i;
+        }
     }
-         
-         
-         
-     
- 
-  if(find)
-     return (b_start+b_end)/2;
-  else
-     return -1;  
-}   
- 
- 
- 
- 
- 
+    return black_L_right;
+}
+//turn right    122~64(120)      0
+//turn left     128       64~6(8)     
+//straight      122~64    64~6     186~70 
 void BX_camera::read(void)
 {