![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Tobis Programm forked to not destroy your golden files
Fork of Robocode by
Diff: source/movement.cpp
- Revision:
- 20:859c7aebf8a6
- Parent:
- 19:baa8371d55b4
- Child:
- 21:cb40c0533bc2
--- 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; + } +