From af49668bba6ffbeced7f88e257f0e68db873d1be Mon Sep 17 00:00:00 2001 From: mdkf Date: Fri, 11 Dec 2020 15:13:58 -0500 Subject: [PATCH] Update SparkFunAutoDriverSupport.cpp The acceleration and deceleration values are not calculated correctly. Per the datasheet: steps/s^2 * ((2.5e-7)^2)/(2^-40) =acc --- Libraries/Arduino/src/SparkFunAutoDriverSupport.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Libraries/Arduino/src/SparkFunAutoDriverSupport.cpp b/Libraries/Arduino/src/SparkFunAutoDriverSupport.cpp index 83d1723..1e2459b 100644 --- a/Libraries/Arduino/src/SparkFunAutoDriverSupport.cpp +++ b/Libraries/Arduino/src/SparkFunAutoDriverSupport.cpp @@ -11,7 +11,7 @@ // This is a 12-bit value, so we need to make sure the value is at or below 0xFFF. unsigned long AutoDriver::accCalc(float stepsPerSecPerSec) { - float temp = stepsPerSecPerSec * 0.137438; + float temp = stepsPerSecPerSec * 0.068719476736; if( (unsigned long) long(temp) > 0x00000FFF) return 0x00000FFF; else return (unsigned long) long(temp); } @@ -26,7 +26,7 @@ float AutoDriver::accParse(unsigned long stepsPerSecPerSec) // This is a 12-bit value, so we need to make sure the value is at or below 0xFFF. unsigned long AutoDriver::decCalc(float stepsPerSecPerSec) { - float temp = stepsPerSecPerSec * 0.137438; + float temp = stepsPerSecPerSec * 0.068719476736; if( (unsigned long) long(temp) > 0x00000FFF) return 0x00000FFF; else return (unsigned long) long(temp); }