summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Caruso <emanuele.caruso@gmail.com>2011-05-01 05:13:04 +0200
committerEmanuele Caruso <emanuele.caruso@gmail.com>2011-05-01 05:13:04 +0200
commit3470a47a33571bfd3d1181a11e4ddf6712aec90e (patch)
tree88495d37d115b7d8272e46c233d3e253a2ea8899
parentd22c0fbf361885a38f83814bc5ee34488edeb00c (diff)
Added configuration value for absolute delay microseconds, default to 1. This seems to work better than STEP_DELAY_RATIO and is enabled by default
-rw-r--r--Tonokip_Firmware/Tonokip_Firmware.pde12
-rw-r--r--Tonokip_Firmware/configuration.h8
2 files changed, 18 insertions, 2 deletions
diff --git a/Tonokip_Firmware/Tonokip_Firmware.pde b/Tonokip_Firmware/Tonokip_Firmware.pde
index 607dc76..802f8a5 100644
--- a/Tonokip_Firmware/Tonokip_Firmware.pde
+++ b/Tonokip_Firmware/Tonokip_Firmware.pde
@@ -914,6 +914,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin
#ifdef STEP_DELAY_RATIO
if(timediff >= interval) delayMicroseconds(long_step_delay_ratio * interval / 10000);
#endif
+ #ifdef STEP_DELAY_MICROS
+ if(timediff >= interval) delayMicroseconds(STEP_DELAY_MICROS);
+ #endif
}
} else if (steep_x) {
timediff=micros() * 100 - previous_micros_x;
@@ -930,6 +933,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin
#ifdef STEP_DELAY_RATIO
if(timediff >= interval) delayMicroseconds(long_step_delay_ratio * interval / 10000);
#endif
+ #ifdef STEP_DELAY_MICROS
+ if(timediff >= interval) delayMicroseconds(STEP_DELAY_MICROS);
+ #endif
}
}
}
@@ -946,6 +952,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin
#ifdef STEP_DELAY_RATIO
if(timediff >= z_interval) delayMicroseconds(long_step_delay_ratio * z_interval / 10000);
#endif
+ #ifdef STEP_DELAY_MICROS
+ if(timediff >= z_interval) delayMicroseconds(STEP_DELAY_MICROS);
+ #endif
}
}
@@ -966,6 +975,9 @@ void linear_move(unsigned long x_steps_remaining, unsigned long y_steps_remainin
#ifdef STEP_DELAY_RATIO
if(timediff >= e_interval) delayMicroseconds(long_step_delay_ratio * e_interval / 10000);
#endif
+ #ifdef STEP_DELAY_MICROS
+ if(timediff >= e_interval) delayMicroseconds(STEP_DELAY_MICROS);
+ #endif
}
}
diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h
index 019a9fd..d4e5231 100644
--- a/Tonokip_Firmware/configuration.h
+++ b/Tonokip_Firmware/configuration.h
@@ -8,8 +8,12 @@
//Comment out to disable SD support
#define SDSUPPORT 1
-//Step delay over interval ratio. If you are experiencing missing steps, try to uncomment the following line, but be aware this
-//may probably prevent the motors to reach the nominal speed
+//Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this
+//may probably prevent the motors from reaching the nominal speed. If you enable this, make sure STEP_DELAY_RATIO is disabled.
+#define STEP_DELAY_MICROS 1;
+
+//Step delay over interval ratio. If you are still experiencing missing steps, try to uncomment the following line, but be aware this
+//may probably prevent the motors from reaching the nominal speed. If you enable this, make sure STEP_DELAY_MICROS is disabled.
//#define STEP_DELAY_RATIO 0.05
//Acceleration settings