TDP3 Go-Yeti / Mbed 2 deprecated DontKillMbed

Dependencies:   mbed

Revision:
1:94577052d858
Parent:
0:e679a1bb6eca
Child:
2:8435af9e917a
--- a/main.cpp	Thu Feb 18 16:58:28 2016 +0000
+++ b/main.cpp	Thu Feb 25 10:27:59 2016 +0000
@@ -1,49 +1,50 @@
 #include "mbed.h"
 
 //Pull everything up
-DigitalIn pull1(PTA1);
-DigitalIn pull2(PTA2);
-DigitalIn pull4(PTA12);
-DigitalIn pull5(PTA4);
-DigitalIn pull6(PTA5);
-DigitalIn pull7(PTC8);
+DigitalOut pull1(PTA1);
+DigitalOut pull2(PTA2);
+//DigitalOut pull4(PTA12);
+//DigitalOut pull5(PTA4);
+DigitalOut pull6(PTA5);
+DigitalOut pull7(PTC8);
 
-DigitalIn pull9(PTA13);
-DigitalIn pull10(PTD5);
-DigitalIn pull11(PTD0);
-DigitalIn pull12(PTD2);
-DigitalIn pull13(PTD3);
-DigitalIn pull14(PTD1);
-DigitalIn pull15(PTE0);
-DigitalIn pull16(PTE1);
+DigitalOut pull9(PTA13);
+DigitalOut pull10(PTD5);
+DigitalOut pull11(PTD0);
+DigitalOut pull12(PTD2);
+DigitalOut pull13(PTD3);
+DigitalOut pull14(PTD1);
+DigitalOut pull15(PTE0);
+DigitalOut pull16(PTE1);
 
-DigitalIn pull17(PTC7);
-DigitalIn pull18(PTC0);
-DigitalIn pull19(PTC3);
-DigitalIn pull20(PTC4);
+//DigitalOut pull17(PTC7);
+//DigitalOut pull18(PTC0);
+DigitalOut pull19(PTC3);
+DigitalOut pull20(PTC4);
 
-DigitalIn pull21(PTC12);
-DigitalIn pull22(PTC13);
-DigitalIn pull23(PTC16);
-DigitalIn pull24(PTC17);
-DigitalIn pull25(PTA16);
-DigitalIn pull26(PTA17);
-DigitalIn pull27(PTE31);
-DigitalIn pull28(PTD6);
-DigitalIn pull29(PTD7);
+DigitalOut pull21(PTC12);
+DigitalOut pull22(PTC13);
+DigitalOut pull23(PTC16);
+DigitalOut pull24(PTC17);
+DigitalOut pull25(PTA16);
+DigitalOut pull26(PTA17);
+DigitalOut pull27(PTE31);
+DigitalOut pull28(PTD6);
+DigitalOut pull29(PTD7);
+
+DigitalOut pull30(PTE30);
 
-DigitalIn pull30(PTE30);
-
-DigitalIn pull34(PTE21);
-DigitalIn pull35(PTE20);
+//DigitalOut pull38(PTE3);
+DigitalOut pull39(PTE2);
+//DigitalOut pull50(PTB11);
+//DigitalOut pull51(PTB10);
+//DigitalOut pull52(PTB9);
+//DigitalOut pull53(PTB8);
 
-DigitalIn pull38(PTE3);
-DigitalIn pull39(PTE2);
-
-DigitalIn pull47(PTB1);
-DigitalIn pull48(PTB0);
-DigitalIn pull49(PTA20);
-
+//DigitalOut pull34(PTE21);
+//DigitalOut pull35(PTE20);
+//DigitalOut pull47(PTB1);
+//DigitalOut pull48(PTB0);
 
 
 //motor driver outputs
@@ -59,60 +60,92 @@
 //constant 3.3 volts for sensors
 DigitalOut constant1(PTE5);
 DigitalOut constant2(PTE4);
+DigitalOut constant3(PTE3);
+DigitalOut constant4(PTC0);
+DigitalOut constant5(PTC7);
 
 //line following inputs
-DigitalIn leftmost(PTE23); 
+AnalogIn leftmost(PTB0); 
 AnalogIn left(PTC2);
-AnalogIn middle(PTB2); 
-AnalogIn right(PTB3);
-DigitalIn rightmost(PTE22);
+AnalogIn middle(PTB3); 
+AnalogIn right(PTB2);
+AnalogIn rightmost(PTB1);
+
+DigitalIn back(PTB11);
+DigitalIn front(PTB10);
 
 //debugging led outputs
-DigitalOut ledleftmost(PTE29);
-DigitalOut ledright(PTB10);
-DigitalOut ledmiddle(PTB11);
-DigitalOut ledleft(PTB8);
-DigitalOut ledrightmost(PTB9);
+DigitalOut ledleftmost(PTE20);
+DigitalOut ledright(PTE23);
+DigitalOut ledmiddle(PTE22);
+DigitalOut ledleft(PTE29);
+DigitalOut ledrightmost(PTE21);
+
+DigitalOut ledback(PTB8);
+DigitalOut ledfront(PTB9);
+
+//ball firing
+PwmOut motors(PTA12);
+DigitalOut solenoid(PTA4);
 
 int main() {
     
-    pull1.mode(PullUp);
-    pull2.mode(PullUp);
+    
+    
+    pull1=0;
+    pull2=0;
     //pull3.mode(PullUp);
-    pull4.mode(PullUp);
-    pull5.mode(PullUp);
-    pull6.mode(PullUp);
-    pull7.mode(PullUp);
+    //pull4=0;
+    //pull5=0;
+    pull6=0;
+    pull7=0;
     //pull8.mode(PullUp);
-    pull9.mode(PullUp);
-    pull10.mode(PullUp);
-    pull11.mode(PullUp);
-    pull12.mode(PullUp);
-    pull13.mode(PullUp);
-    pull14.mode(PullUp);
-    pull15.mode(PullUp);
-    pull16.mode(PullUp);
-    pull17.mode(PullUp);
-    pull18.mode(PullUp);
-    pull19.mode(PullUp);
-    pull20.mode(PullUp);
-    pull21.mode(PullUp);
-    pull22.mode(PullUp);
-    pull23.mode(PullUp);
-    pull24.mode(PullUp);
-    pull25.mode(PullUp);
-    pull26.mode(PullUp);
-    pull27.mode(PullUp);
-    pull28.mode(PullUp);
-    pull29.mode(PullUp);
-    pull30.mode(PullUp);
-    pull34.mode(PullUp);
-    pull35.mode(PullUp);
-    pull38.mode(PullUp);
-    pull39.mode(PullUp);
-    pull47.mode(PullUp);
-    pull48.mode(PullUp);
-    pull49.mode(PullUp);
+    pull9=0;
+    pull10=0;
+    pull11=0;
+    pull12=0;
+    pull13=0;
+    pull14=0;
+    pull15=0;
+    pull16=0;
+    //pull17=0;
+    //pull18=0;
+    pull19=0;
+    pull20=0;
+    pull21=0;
+    pull22=0;
+    pull23=0;
+    pull24=0;
+    pull25=0;
+    pull26=0;
+    pull27=0;
+    pull28=0;
+    pull29=0;
+    pull30=0;
+    //pull34=0;
+    //pull35=0;
+    //pull38=0;
+    pull39=0;
+    //pull47=0;
+    //pull48=0;
+    //pull49=0;
+    //pull50=0;
+    //pull51=0;
+    //pull52=0;
+    //pull53=0;
+    
+
+   
+    
+    motors.period(3.0);
+    motors.write(0);
+    solenoid=0;
+    
+    constant1=1;
+    constant2=1;
+    constant3=1;
+    constant4=1;
+    constant5=1;
     
     indicator=1;
     wait(0.3);
@@ -135,41 +168,100 @@
     ENA=0;
     ENB=0;
     
+    int counter=0;
+    
     while(1) {
        
+        counter=counter+1;
        
-       //ENA=0.5;
-        //ENB=0.5;
-        
-        if(middle>0.45){
-            ledmiddle=1;    
+        if(middle<0.4 & left<0.4 & right<0.4 & leftmost<0.4 & rightmost<0.24){   
+            //skip the loop 
+            ledmiddle=0;  
+            ledleft=0;
+            ledright=0;
+            ledleftmost=0;  
+            ledrightmost=0; 
         }else{
-            ledmiddle=0;    
-        } 
-        
-        if(left>0.4){  
-            ledleft=1; 
-        }else{
-            ledleft=0;  
-        }
+         
+            if(front==1){
+                ledfront=1;
+            }else{
+                ledfront=0;    
+            }
+         
+            if(back==1){
+                ledback=1;
+            }else{
+                ledback=0;    
+            }
+            
+            if(back==1 and counter>70){
+                counter=0;
+                ENB=0; 
+                ENA=0;
+                if(front==0){
+                    //shoot balls
+                    motors=0.08;
+                    wait_ms(550);
+                    solenoid=1;
+                    wait_ms(45);
+                    solenoid=0;                    
+                }
+                wait(3);   
+                motors=0;             
+            }
+            
+            
+         
+            if(middle>0.4){
+                ledmiddle=1; 
+                ENA=0.5;
+                ENB=0.5;   
+            }else{
+                ledmiddle=0; 
+                ENA=0.4;
+                ENB=0.4;   
+            } 
+            
+            if(left>0.4){  
+                ledleft=1;
+                indicator=1;
+                ENA=0.28; 
+            }else{
+                ledleft=0;  
+            }
         
-        if(right>0.4){  
-            ledright=1; 
-        }else{
-            ledright=0;  
-        }
+            if(right>0.4){  
+                ledright=1; 
+                ENB=0.28;
+            }else{
+                ledright=0;  
+            }
+            
+            if(leftmost>0.4){   
+                ledleftmost=1;
+                ENA=0;
+            }else{
+                ledleftmost=0;   
+            }
         
-        if(leftmost==1){   
-            ledleftmost=1;
-        }else{
-            ledleftmost=0;   
+            if(rightmost>0.24){   
+                ledrightmost=1;
+                ENB=0;
+            }else{
+                ledrightmost=0;   
+            }   
+            
+            
+            if((left>0.4 or leftmost>0.4)and(right>0.4 or rightmost>0.24)){
+                ENB=0.4; 
+                ENA=0;
+                wait(0.5);      
+            }
+            
         }
-        
-        if(rightmost==1){   
-            ledrightmost=1;
-        }else{
-            ledrightmost=0;   
-        }
+           
+        wait(0.1);
        
        
     }