Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
stepper.cpp@2:d9745be6c253, 2022-08-04 (annotated)
- Committer:
- fionalin
- Date:
- Thu Aug 04 15:14:29 2022 -0400
- Revision:
- 2:d9745be6c253
- Parent:
- 1:40e5ac1119a6
hehe forgot to commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fionalin | 2:d9745be6c253 | 1 | #include <cstdio> |
fionalin | 0:4e3ad938564e | 2 | #include <mbed.h> |
fionalin | 0:4e3ad938564e | 3 | #include "stepper.h" |
fionalin | 0:4e3ad938564e | 4 | #include <chrono> |
fionalin | 0:4e3ad938564e | 5 | //#include <thread> |
fionalin | 0:4e3ad938564e | 6 | |
fionalin | 1:40e5ac1119a6 | 7 | StepperMotor::StepperMotor(PinName enable_pin, |
fionalin | 1:40e5ac1119a6 | 8 | PinName step_pin, |
fionalin | 1:40e5ac1119a6 | 9 | PinName dir_pin, |
fionalin | 1:40e5ac1119a6 | 10 | PinName ms1_pin, |
fionalin | 1:40e5ac1119a6 | 11 | PinName ms2_pin, |
fionalin | 2:d9745be6c253 | 12 | PinName ms3_pin, |
fionalin | 2:d9745be6c253 | 13 | PinName sleep_pin) |
fionalin | 2:d9745be6c253 | 14 | : enable(enable_pin), step(step_pin), dir(dir_pin), ms1(ms1_pin), |
fionalin | 2:d9745be6c253 | 15 | ms2(ms2_pin), ms3(ms3_pin), sleep(sleep_pin), count(0) { |
fionalin | 2:d9745be6c253 | 16 | enable = 0; |
fionalin | 2:d9745be6c253 | 17 | sleep = 1; |
fionalin | 2:d9745be6c253 | 18 | step = 0; |
fionalin | 2:d9745be6c253 | 19 | } |
fionalin | 2:d9745be6c253 | 20 | |
fionalin | 0:4e3ad938564e | 21 | void StepperMotor::step_positive() { |
fionalin | 1:40e5ac1119a6 | 22 | dir = 0; |
fionalin | 0:4e3ad938564e | 23 | step = 1; |
fionalin | 2:d9745be6c253 | 24 | |
fionalin | 2:d9745be6c253 | 25 | wait_us(40000); |
fionalin | 2:d9745be6c253 | 26 | if (step == 1) { |
fionalin | 2:d9745be6c253 | 27 | printf("step rise\n"); |
fionalin | 2:d9745be6c253 | 28 | }; |
fionalin | 2:d9745be6c253 | 29 | if (step == 0){ |
fionalin | 2:d9745be6c253 | 30 | printf("step fall, also something is wrong\n"); |
fionalin | 2:d9745be6c253 | 31 | }; |
fionalin | 2:d9745be6c253 | 32 | |
fionalin | 0:4e3ad938564e | 33 | step = 0; |
fionalin | 2:d9745be6c253 | 34 | |
fionalin | 2:d9745be6c253 | 35 | wait_us(40000); |
fionalin | 2:d9745be6c253 | 36 | printf("one step taken\n"); |
fionalin | 0:4e3ad938564e | 37 | } |
fionalin | 0:4e3ad938564e | 38 | |
fionalin | 0:4e3ad938564e | 39 | void StepperMotor::step_negative() { |
fionalin | 1:40e5ac1119a6 | 40 | dir = 1; |
fionalin | 0:4e3ad938564e | 41 | step = 1; |
fionalin | 1:40e5ac1119a6 | 42 | wait_us(40); |
fionalin | 0:4e3ad938564e | 43 | step = 0; |
fionalin | 1:40e5ac1119a6 | 44 | wait_us(40); |
fionalin | 0:4e3ad938564e | 45 | } |
fionalin | 0:4e3ad938564e | 46 | |
fionalin | 0:4e3ad938564e | 47 | int32_t StepperMotor::get_steps() { |
fionalin | 0:4e3ad938564e | 48 | return count; |
fionalin | 0:4e3ad938564e | 49 | } |
fionalin | 0:4e3ad938564e | 50 | |
fionalin | 0:4e3ad938564e | 51 | void StepperMotor::reset_step_count() { |
fionalin | 0:4e3ad938564e | 52 | count = 0; |
fionalin | 0:4e3ad938564e | 53 | } |