ESP_IOT v2.5
IOT ESP Coding
StepperDriver.h
Go to the documentation of this file.
1#ifndef StepperDriver_h
2#define StepperDriver_h
3
4#include "../../Defines.h"
5#ifdef ATOM_STEPPER_MOTOR_MODULE
6
7//!@see https://github.com/m5stack/M5-ProductExampleCodes/tree/master/AtomBase/Atomic_StepMotor/Atomic_StepMotor
8
9// library interface description
10class StepperDriver {
11public:
12 // constructors:
13 StepperDriver(int number_of_steps, int step_division, int en_pin, int dir_pin, int step_pin);
14
15 // speed setter method:
16 void setSpeed(float rpm);
17
18 void powerEnable(bool ena);
19
20 // mover method:
21 void step(long steps_to_move);
22
23 void step(long steps_to_move, long steps_acc, long steps_dec);
24
25private:
26 void setDirection(long steps_to_move);
27
28 void move();
29
30 void dynamicMove(int s1, int s2);
31
32 void moveInterval(unsigned long target_delay);
33
34
35 int number_of_steps;
36 int step_division;
37 unsigned long step_interval;
38 unsigned long last_step_time;
39 unsigned long target_step_time1;
40 unsigned long target_step_time2;
41
42 // motor pin numbers:
43 int en_pin;
44 int dir_pin;
45 int step_pin;
46
47};
48#endif // ATOM_STEPPER_MOTOR_MODULE
49
50#endif