# accelstepper setspeed

The documentation on accelstepper explains,

accelstepper document

"speed - The desired constant speed in steps per second."

yet, the parameter accepts a "FLOAT". The Arduino definition of a float, explains:

"Floating-point numbers can be as large as 3.4028235E+38 and as low as -3.4028235E+38."

So I am confused. How can I set the speed to be above 3.4 steps per second? I was sending the setspeed function integers, but it seems to top out in speed around 16,000. I'm probably using this function or library wrong since I can't seem to get a swift maximum speed out of this.

DocStein99:
"Floating-point numbers can be as large as 3.4028235E+38 and as low as -3.4028235E+38."

So I am confused. How can I set the speed to be above 3.4 steps per second?

You have not registered the importance of the "E+38" that means 3.4 to the power of 38. I suspect you won't live long enough for that many steps.

...R

Yes, i probably need to understand more math. Thanks for advice.

``````  stepper.setSpeed (3.4) ;
``````

From the AccelStepper.h itself:

``````    /// Sets the desired constant speed for use with runSpeed().
/// \param[in] speed The desired constant speed in steps per
/// second. Positive is clockwise. Speeds of more than 1000 steps per
/// second are unreliable. Very slow speeds may be set (eg 0.00027777 for
/// once per hour, approximately. Speed accuracy depends on the Arduino
/// crystal. Jitter depends on how frequently you call the runSpeed() function.
void    setSpeed(float speed);
``````

Do read the .h file and/or README for any library you use, they usually have helpful comments, and lists of known issues.