hezhian hezhain / armtest

Fork of stepper by Xiaoyuan Yu

Committer:
Dennis_Yu
Date:
Wed Jul 25 08:25:10 2018 +0000
Revision:
2:e537d08c705b
Parent:
1:bbb51c42e7d2
Child:
3:fd565358f888
add enable and disable function, change structure, attach successfully

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Dennis_Yu 1:bbb51c42e7d2 1 #include "mbed.h"
Dennis_Yu 1:bbb51c42e7d2 2 #include "stepper.h"
Dennis_Yu 1:bbb51c42e7d2 3
Dennis_Yu 2:e537d08c705b 4 void stepperMotor::moveStepper()
Dennis_Yu 1:bbb51c42e7d2 5 {
Dennis_Yu 1:bbb51c42e7d2 6 if(remain == 0)
Dennis_Yu 1:bbb51c42e7d2 7 return;
Dennis_Yu 1:bbb51c42e7d2 8 if(step)
Dennis_Yu 1:bbb51c42e7d2 9 {
Dennis_Yu 1:bbb51c42e7d2 10 step = 0; //STEP 1->0
Dennis_Yu 1:bbb51c42e7d2 11 remain--;
Dennis_Yu 1:bbb51c42e7d2 12 }
Dennis_Yu 1:bbb51c42e7d2 13 else
Dennis_Yu 1:bbb51c42e7d2 14 {
Dennis_Yu 1:bbb51c42e7d2 15 step = 1; //STEP 0->1
Dennis_Yu 1:bbb51c42e7d2 16 }
Dennis_Yu 1:bbb51c42e7d2 17 }
Dennis_Yu 1:bbb51c42e7d2 18
Dennis_Yu 2:e537d08c705b 19 void stepperMotor::enable()
Dennis_Yu 2:e537d08c705b 20 {
Dennis_Yu 2:e537d08c705b 21 en = 0;
Dennis_Yu 2:e537d08c705b 22 }
Dennis_Yu 2:e537d08c705b 23
Dennis_Yu 2:e537d08c705b 24 void stepperMotor::enable(int inputRemain)
Dennis_Yu 2:e537d08c705b 25 {
Dennis_Yu 2:e537d08c705b 26 remain = inputRemain;
Dennis_Yu 2:e537d08c705b 27 enable();
Dennis_Yu 2:e537d08c705b 28 }
Dennis_Yu 2:e537d08c705b 29
Dennis_Yu 2:e537d08c705b 30 void stepperMotor::disable()
Dennis_Yu 1:bbb51c42e7d2 31 {
Dennis_Yu 2:e537d08c705b 32 remain = 0;
Dennis_Yu 2:e537d08c705b 33 en = 1;
Dennis_Yu 2:e537d08c705b 34 }
Dennis_Yu 2:e537d08c705b 35
Dennis_Yu 2:e537d08c705b 36 void stepperMotor::pause()
Dennis_Yu 2:e537d08c705b 37 {
Dennis_Yu 2:e537d08c705b 38 en = 1;
Dennis_Yu 1:bbb51c42e7d2 39 }
Dennis_Yu 2:e537d08c705b 40
Dennis_Yu 2:e537d08c705b 41 void stepperMotor::setDir(bool direction)
Dennis_Yu 2:e537d08c705b 42 {
Dennis_Yu 2:e537d08c705b 43 dir = direction;
Dennis_Yu 2:e537d08c705b 44 }
Dennis_Yu 2:e537d08c705b 45
Dennis_Yu 2:e537d08c705b 46 stepperMotor::stepperMotor(PinName stepPin, PinName dirPin, PinName enPin, float period): remain(0), step(stepPin), dir(dirPin), en(enPin)
Dennis_Yu 2:e537d08c705b 47 {
Dennis_Yu 2:e537d08c705b 48 disable();
Dennis_Yu 2:e537d08c705b 49 stepper.attach(this, &stepperMotor::moveStepper, period);
Dennis_Yu 2:e537d08c705b 50 }