Romain Ame / Mbed 2 deprecated Timer71pt

Dependencies:   RoboClaw mbed

Fork of Timer by ARES

Files at this revision

API Documentation at this revision

Comitter:
IceTeam
Date:
Fri May 06 11:25:05 2016 +0000
Parent:
87:60d81ecab4f5
Child:
89:46730de0d013
Commit message:
Programme super ? 51points !;

Changed in this revision

deplacement.cpp Show annotated file Show diff for this revision Revisions of this file
entete.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/deplacement.cpp	Fri May 06 10:05:45 2016 +0200
+++ b/deplacement.cpp	Fri May 06 11:25:05 2016 +0000
@@ -33,13 +33,15 @@
 void GotoThet (float timer, int signe) {
     Timer t;
     
-    if (signe < 0) {
-        roboclaw.SpeedAccelM1(accel_dista, vitesse_dista);
-        roboclaw.SpeedAccelM2(-accel_dista, -vitesse_dista);
+    if (signe == GAUCHE) {
+        //roboclaw.SpeedAccelM1(accel_angle, vitesse_angle);
+        //roboclaw.SpeedAccelM2(accel_angle, -vitesse_angle);
+        roboclaw.SpeedM1(vitesse_angle);
+        roboclaw.SpeedM2(-vitesse_angle);
     }
-    else {
-        roboclaw.SpeedAccelM1(-accel_dista, -vitesse_dista);
-        roboclaw.SpeedAccelM2(accel_dista, vitesse_dista);
+    if (signe == DROITE) {
+        roboclaw.SpeedAccelM1(accel_angle, -vitesse_angle);
+        roboclaw.SpeedAccelM2(accel_angle, vitesse_angle);
     }
     
     t.reset();
@@ -70,4 +72,34 @@
     t.reset();
     
     wait(waiting_time);
+}
+
+void GotoArr(float timer) {
+    Timer t;
+    
+    roboclaw.SpeedAccelM1(accel_dista, -vitesse_dista);
+    roboclaw.SpeedAccelM2(accel_dista, -vitesse_dista);
+    
+    t.reset();
+    t.start();
+    
+    while (t.read() < timer) {
+        if (Ravance != 1) {
+            roboclaw.ForwardM1(0);
+            roboclaw.ForwardM2(0);
+            t.stop();
+            while (Ravance != 1);
+            roboclaw.SpeedAccelM1(accel_dista, vitesse_dista);
+            roboclaw.SpeedAccelM2(accel_dista, vitesse_dista);
+            t.start();
+        }
+    }
+    
+    roboclaw.ForwardM1(0);
+    roboclaw.ForwardM2(0);
+    
+    t.stop();
+    t.reset();
+    
+    wait(waiting_time);
 }
\ No newline at end of file
--- a/entete.h	Fri May 06 10:05:45 2016 +0200
+++ b/entete.h	Fri May 06 11:25:05 2016 +0000
@@ -29,6 +29,7 @@
 //vFonctions deplacement.cpp
 void GotoThet (float timer, int signe);
 void GotoDist (float timer);
+void GotoArr(float timer);
 
 // Fonctions test.cpp
 void wait_start();
@@ -40,14 +41,13 @@
 void depart(void);
 void changeCamp(void);
 
-#define ADR 0x80
-#define accel_angle 12000
-#define vitesse_angle 10000
-#define deccel_angle 12000
+#define accel_angle 1
+#define vitesse_angle 400
+#define deccel_angle 400
 
-#define accel_dista 4096
-#define vitesse_dista 4096
-#define deccel_dista 4096
+#define accel_dista 2000
+#define vitesse_dista 2000
+#define deccel_dista 2000
 
 #define waiting_time 1
 #define R_SEUIL_SHARP 1
--- a/main.cpp	Fri May 06 10:05:45 2016 +0200
+++ b/main.cpp	Fri May 06 11:25:05 2016 +0000
@@ -18,7 +18,7 @@
 int RvalRcapt3 = 0;
 int Ravance = 1;
 DigitalIn start(PB_7);
-AX12 umbrella(PA_9, PA_10, 1, 250000);
+AX12 umbrella(PA_9, PA_10, 2, 250000);
 
 /* Debut du programme */
 int main(void)
@@ -30,16 +30,25 @@
     umbrella.setMode(0);
     umbrella.setMaxTorque(200);
     umbrella.setGoal(150);
-
+    wait(1);
+    umbrella.setGoal(200);
+    wait(1);
+    umbrella.setGoal(160);
+    
     depart();
     if (SCouleur == VERT) {
-        end.attach(&endFonc, 10);
-        GotoDist(5.5);
+        end.attach(&endFonc, 90);
+        GotoDist(8);
+        GotoArr(8.2);
     }
     else if (SCouleur == VIOLET) {  
-        end.attach(&endFonc, 10);
+        end.attach(&endFonc, 30);
+        //GotoDist(8.2);
+        //GotoArr(8.2);
+        GotoDist(2);
+        GotoThet(1, GAUCHE);
     }
-    else {
+    else if (SCouleur == NOIR) {
         TestDist3(2,2);
         TestThet3(1,1);
     }
@@ -75,6 +84,9 @@
 }
 
 void endFonc () {
-    umbrella.setGoal(150);
-    while (1);
+    roboclaw.ForwardM1(0);
+    roboclaw.ForwardM2(0);
+    wait(1);
+    umbrella.setGoal(300);
+    while(1);
 }