Fiona Lin / Mbed OS cap_sense
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?

UserRevisionLine numberNew 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 }