diff --git a/src/stairs.c b/src/stairs.c
index 18adb7f86f8f3fb074bf772836ff23c6c9fdd315..68795d993ac479c7ea8754f35b6f40b2b1a4ccb0 100755
--- a/src/stairs.c
+++ b/src/stairs.c
@@ -233,7 +233,7 @@ void stairs_process(void)
         ep[5]=stairs_A_Offset+stairs_A_shift_amplitude;
         ep[6]=stairs_X_Offset+stairs_X_shift_amplitude-stairs_X_shift_body;
         ep[7]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude+(stairs_Y_spread_amplitude/2.0);
-        ep[8]=stairs_Z_Offset+stairs_Z_stair_height;//-stairs_Z_overshoot*delta;
+        ep[8]=stairs_Z_Offset+stairs_Z_stair_height;
         ep[9]=stairs_R_Offset+stairs_R_shift_amplitude;
         ep[10]=stairs_P_Offset-2.0*stairs_P_shift_amplitude;
         ep[11]=stairs_A_Offset+stairs_A_shift_amplitude;
@@ -251,7 +251,7 @@ void stairs_process(void)
         ep[5]=stairs_A_Offset+stairs_A_shift_amplitude-stairs_A_shift_amplitude*delta;
         ep[6]=stairs_X_Offset+stairs_X_shift_amplitude-stairs_X_shift_body-(stairs_X_shift_amplitude-stairs_X_shift_body)*delta;
         ep[7]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude+(stairs_Y_spread_amplitude/2.0)-(stairs_Y_spread_amplitude/2.0)*delta;
-        ep[8]=stairs_Z_Offset+stairs_Z_stair_height;//-stairs_Z_overshoot;
+        ep[8]=stairs_Z_Offset+stairs_Z_stair_height;
         ep[9]=stairs_R_Offset+stairs_R_shift_amplitude;
         ep[10]=stairs_P_Offset-2.0*stairs_P_shift_amplitude+stairs_P_shift_amplitude*delta;
         ep[11]=stairs_A_Offset+stairs_A_shift_amplitude-stairs_A_shift_amplitude*delta;
@@ -269,7 +269,7 @@ void stairs_process(void)
         ep[5]=stairs_A_Offset;
         ep[6]=stairs_X_Offset;
         ep[7]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude;
-        ep[8]=stairs_Z_Offset+stairs_Z_stair_height;//-stairs_Z_overshoot+stairs_Z_overshoot*delta;
+        ep[8]=stairs_Z_Offset+stairs_Z_stair_height;
         ep[9]=stairs_R_Offset+stairs_R_shift_amplitude-stairs_R_shift_amplitude*delta;
         ep[10]=stairs_P_Offset-stairs_P_shift_amplitude+stairs_P_shift_amplitude*delta;
         ep[11]=stairs_A_Offset;
@@ -380,14 +380,14 @@ void stairs_process(void)
         ep[0]=stairs_X_Offset-stairs_X_shift_body*delta;
         ep[1]=stairs_Y_Offset/2.0+stairs_Y_shift_amplitude-(stairs_Y_spread_amplitude/2.0)-(2*stairs_Y_shift_amplitude)*delta;
         ep[2]=stairs_Z_Offset+stairs_Z_stair_height+stairs_Z_overshoot;
-        ep[3]=stairs_R_Offset-stairs_R_shift_amplitude+stairs_R_shift_amplitude*delta;
-        ep[4]=stairs_P_Offset+stairs_P_shift_amplitude-(4.0*stairs_P_shift_amplitude)*delta;
+        ep[3]=stairs_R_Offset-stairs_R_shift_amplitude+2.0*stairs_R_shift_amplitude*delta;
+        ep[4]=stairs_P_Offset+stairs_P_shift_amplitude-(2.0*stairs_P_shift_amplitude)*delta;
         ep[5]=stairs_A_Offset+stairs_A_shift_amplitude;
         ep[6]=stairs_X_Offset+stairs_X_shift_amplitude-stairs_X_shift_body*delta;
         ep[7]=stairs_Y_Offset/2.0+stairs_Y_shift_amplitude+(stairs_Y_spread_amplitude/2.0)-(2*stairs_Y_shift_amplitude)*delta;
         ep[8]=stairs_Z_Offset+stairs_Z_overshoot;
-        ep[9]=stairs_R_Offset-stairs_R_shift_amplitude+stairs_R_shift_amplitude*delta;
-        ep[10]=stairs_P_Offset+stairs_P_shift_amplitude-(4.0*stairs_P_shift_amplitude)*delta;
+        ep[9]=stairs_R_Offset-stairs_R_shift_amplitude+2.0*stairs_R_shift_amplitude*delta;
+        ep[10]=stairs_P_Offset+stairs_P_shift_amplitude-(2.0*stairs_P_shift_amplitude)*delta;
         ep[11]=stairs_A_Offset+stairs_A_shift_amplitude;
         ram_data[DARWIN_STAIRS_CNTRL]|=SHIFT_WEIGHT_RIGHT;
       }
@@ -398,14 +398,14 @@ void stairs_process(void)
         ep[0]=stairs_X_Offset-stairs_X_shift_body;
         ep[1]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude-(stairs_Y_spread_amplitude/2.0);
         ep[2]=stairs_Z_Offset+stairs_Z_overshoot+stairs_Z_stair_height;
-        ep[3]=stairs_R_Offset+stairs_R_shift_amplitude*delta;
-        ep[4]=stairs_P_Offset-3.0*stairs_P_shift_amplitude;
+        ep[3]=stairs_R_Offset+stairs_R_shift_amplitude;
+        ep[4]=stairs_P_Offset-1.0*stairs_P_shift_amplitude;
         ep[5]=stairs_A_Offset+stairs_A_shift_amplitude;
         ep[6]=stairs_X_Offset+stairs_X_shift_amplitude-stairs_X_shift_body;
         ep[7]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude+(stairs_Y_spread_amplitude/2.0);
         ep[8]=stairs_Z_Offset+stairs_Z_overshoot-stairs_Z_overshoot*delta;
-        ep[9]=stairs_R_Offset+stairs_R_shift_amplitude*delta;
-        ep[10]=stairs_P_Offset-3.0*stairs_P_shift_amplitude;
+        ep[9]=stairs_R_Offset+stairs_R_shift_amplitude;
+        ep[10]=stairs_P_Offset-1.0*stairs_P_shift_amplitude;
         ep[11]=stairs_A_Offset+stairs_A_shift_amplitude;
         ram_data[DARWIN_STAIRS_CNTRL]|=RISE_LEFT_FOOT;
       }
@@ -416,14 +416,14 @@ void stairs_process(void)
         ep[0]=stairs_X_Offset-stairs_X_shift_body+stairs_X_shift_body*delta;
         ep[1]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude-(stairs_Y_spread_amplitude/2.0)+(stairs_Y_spread_amplitude/2.0)*delta;
         ep[2]=stairs_Z_Offset+stairs_Z_overshoot+stairs_Z_stair_height;
-        ep[3]=stairs_R_Offset+stairs_R_shift_amplitude+stairs_R_shift_amplitude*delta;
-        ep[4]=stairs_P_Offset-3.0*stairs_P_shift_amplitude+3.0*stairs_P_shift_amplitude*delta;
+        ep[3]=stairs_R_Offset+stairs_R_shift_amplitude;//+stairs_R_shift_amplitude*delta;
+        ep[4]=stairs_P_Offset-1.0*stairs_P_shift_amplitude+1.0*stairs_P_shift_amplitude*delta;
         ep[5]=stairs_A_Offset+stairs_A_shift_amplitude-stairs_A_shift_amplitude*delta;
         ep[6]=stairs_X_Offset+stairs_X_shift_amplitude-stairs_X_shift_body-(stairs_X_shift_amplitude-stairs_X_shift_body)*delta;
         ep[7]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude+(stairs_Y_spread_amplitude/2.0)-(stairs_Y_spread_amplitude/2.0)*delta;
         ep[8]=stairs_Z_Offset;
-        ep[9]=stairs_R_Offset+stairs_R_shift_amplitude+stairs_R_shift_amplitude*delta;
-        ep[10]=stairs_P_Offset-3.0*stairs_P_shift_amplitude+3.0*stairs_P_shift_amplitude*delta;
+        ep[9]=stairs_R_Offset+stairs_R_shift_amplitude;//+stairs_R_shift_amplitude*delta;
+        ep[10]=stairs_P_Offset-1.0*stairs_P_shift_amplitude+1.0*stairs_P_shift_amplitude*delta;
         ep[11]=stairs_A_Offset+stairs_A_shift_amplitude-stairs_A_shift_amplitude*delta;
         ram_data[DARWIN_STAIRS_CNTRL]|=ADVANCE_LEFT_FOOT;
       }
@@ -434,13 +434,13 @@ void stairs_process(void)
         ep[0]=stairs_X_Offset;
         ep[1]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude;
         ep[2]=stairs_Z_Offset+stairs_Z_overshoot+stairs_Z_stair_height-(stairs_Z_stair_height+stairs_Z_overshoot)*delta;
-        ep[3]=stairs_R_Offset+2.0*stairs_R_shift_amplitude-stairs_R_shift_amplitude*delta;
+        ep[3]=stairs_R_Offset+stairs_R_shift_amplitude-stairs_R_shift_amplitude*delta;
         ep[4]=stairs_P_Offset;
         ep[5]=stairs_A_Offset;
         ep[6]=stairs_X_Offset;
         ep[7]=stairs_Y_Offset/2.0-stairs_Y_shift_amplitude;
         ep[8]=stairs_Z_Offset;
-        ep[9]=stairs_R_Offset+2.0*stairs_R_shift_amplitude-stairs_R_shift_amplitude*delta;
+        ep[9]=stairs_R_Offset+stairs_R_shift_amplitude-stairs_R_shift_amplitude*delta;
         ep[10]=stairs_P_Offset;
         ep[11]=stairs_A_Offset;
         ram_data[DARWIN_STAIRS_CNTRL]|=CONTACT_LEFT_FOOT;