Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Robocode by
Diff: source/movement.cpp
- Revision:
- 20:859c7aebf8a6
- Parent:
- 19:baa8371d55b4
- Child:
- 21:cb40c0533bc2
diff -r baa8371d55b4 -r 859c7aebf8a6 source/movement.cpp
--- a/source/movement.cpp Thu Mar 02 08:48:50 2017 +0000
+++ b/source/movement.cpp Thu Mar 02 16:20:41 2017 +0000
@@ -9,13 +9,14 @@
static double time_counter = 0.0f;
static double timer0 = 0.0f;
+static float PID_correction_value = 1.0f;
-static float correction_value = 1.01f;
static float power_value_slow = 0.6f;
static float power_value_medium = 0.7f;
static float power_value_fast = 0.8f;
static float ludicrous_value = 1.0f;
+
//motor stuff
DigitalOut enableMotorDriver(PB_2);
PwmOut pwmL(PA_8);
@@ -31,42 +32,42 @@
enableMotorDriver = 0;
}
-void move_forward_slow()
+void move_forward_slow(float correction_value)
{
pwmL = power_value_slow;
pwmR = 1-power_value_slow*correction_value;
enableMotorDriver = 1;
}
-void move_forward_medium()
+void move_forward_medium(float correction_value)
{
pwmL = power_value_medium;
pwmR = 1-power_value_medium*correction_value;
enableMotorDriver = 1;
}
-void move_forward_fast()
+void move_forward_fast(float correction_value)
{
pwmL = power_value_fast;
pwmR = 1-power_value_fast*correction_value;
enableMotorDriver = 1;
}
-void move_backward_slow()
+void move_backward_slow(float correction_value)
{
pwmL = 1-power_value_slow*correction_value;
pwmR = power_value_slow;
enableMotorDriver = 1;
}
-void move_backward_medium()
+void move_backward_medium(float correction_value)
{
pwmL = 1-power_value_slow*correction_value;
pwmR = power_value_slow;
enableMotorDriver = 1;
}
-void move_backward_fast()
+void move_backward_fast(float correction_value)
{
pwmL = 1-power_value_slow*correction_value;
pwmR = power_value_slow;
@@ -78,4 +79,35 @@
enableMotorDriver = 1;
}
+void sync_movement(bool speed, bool direction)
+// PID correction Value calcualtion
+
+
+
+
+
+
+
+// Call movement:
+// direction 0 = backward, direction 1 = forward
+// speed 0 = slow, speed 1 = medium
+{
+ if(direction && speed) {
+ move_forward_medium(PID_correction_value);
+ }
+ if(direction && !speed) {
+ move_forward_slow(PID_correction_value);
+ }
+ if(!direction && speed) {
+ move_backward_medium(PID_correction_value);
+ }
+ if(!direction && !speed {
+ move_backward_slow(PID_correction_value);
+ }
+}
+
+void termiante_sync_movement(){
+ PID_correction_value = 1.0f;
+ }
+
