quentin godbert
/
t2-stm32-lift
interrupt géré compil ok sans isr
Fork of T2_STM32 by
lift.h@5:d6484db1ec5c, 2018-02-05 (annotated)
- Committer:
- Tioneb
- Date:
- Mon Feb 05 08:10:13 2018 +0000
- Revision:
- 5:d6484db1ec5c
- Child:
- 6:6291f032e996
T2_Lift
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Tioneb | 5:d6484db1ec5c | 1 | //Ne pas oublier la détection de surintensité |
Tioneb | 5:d6484db1ec5c | 2 | |
Tioneb | 5:d6484db1ec5c | 3 | #define PeakCurrent 510 // Valeur à vérifier |
Tioneb | 5:d6484db1ec5c | 4 | |
Tioneb | 5:d6484db1ec5c | 5 | class Lift { |
Tioneb | 5:d6484db1ec5c | 6 | |
Tioneb | 5:d6484db1ec5c | 7 | public: |
Tioneb | 5:d6484db1ec5c | 8 | Lift(int, int, int); |
Tioneb | 5:d6484db1ec5c | 9 | ~Lift(void); |
Tioneb | 5:d6484db1ec5c | 10 | |
Tioneb | 5:d6484db1ec5c | 11 | void Starting(); |
Tioneb | 5:d6484db1ec5c | 12 | void Stopping(); |
Tioneb | 5:d6484db1ec5c | 13 | void GoUp(); |
Tioneb | 5:d6484db1ec5c | 14 | void GoDown(); |
Tioneb | 5:d6484db1ec5c | 15 | |
Tioneb | 5:d6484db1ec5c | 16 | private: |
Tioneb | 5:d6484db1ec5c | 17 | bool InMotion; |
Tioneb | 5:d6484db1ec5c | 18 | char sTargetPos, |
Tioneb | 5:d6484db1ec5c | 19 | PreviousPos, |
Tioneb | 5:d6484db1ec5c | 20 | CurrentPos; |
Tioneb | 5:d6484db1ec5c | 21 | int StepPin, |
Tioneb | 5:d6484db1ec5c | 22 | spinDown, |
Tioneb | 5:d6484db1ec5c | 23 | sMiddleSensor, |
Tioneb | 5:d6484db1ec5c | 24 | CurrentSensor, |
Tioneb | 5:d6484db1ec5c | 25 | tempStepPin, |
Tioneb | 5:d6484db1ec5c | 26 | tempDirPin; |
Tioneb | 5:d6484db1ec5c | 27 | }; |
Tioneb | 5:d6484db1ec5c | 28 | |
Tioneb | 5:d6484db1ec5c | 29 | |
Tioneb | 5:d6484db1ec5c | 30 | Lift::Lift( LIFTSTEPPIN, LIFT_DIRPIN, LIFT_CURRENTSENSOR){ |
Tioneb | 5:d6484db1ec5c | 31 | DigitalOut Step(LIFTSTEPPIN); |
Tioneb | 5:d6484db1ec5c | 32 | DigitalOut Dir(LIFTDIRPIN); |
Tioneb | 5:d6484db1ec5c | 33 | } |
Tioneb | 5:d6484db1ec5c | 34 | |
Tioneb | 5:d6484db1ec5c | 35 | |
Tioneb | 5:d6484db1ec5c | 36 | void Lift::Starting(){ |
Tioneb | 5:d6484db1ec5c | 37 | int i; |
Tioneb | 5:d6484db1ec5c | 38 | for(i=0; i<128; i++){ |
Tioneb | 5:d6484db1ec5c | 39 | SendPWM_Carre(i, StepPin); |
Tioneb | 5:d6484db1ec5c | 40 | delay(10); |
Tioneb | 5:d6484db1ec5c | 41 | } |
Tioneb | 5:d6484db1ec5c | 42 | } |
Tioneb | 5:d6484db1ec5c | 43 | |
Tioneb | 5:d6484db1ec5c | 44 | void Lift::Stopping(){ |
Tioneb | 5:d6484db1ec5c | 45 | int i; |
Tioneb | 5:d6484db1ec5c | 46 | for(i=128; i>0; i--){ |
Tioneb | 5:d6484db1ec5c | 47 | SendPWM_Carre(i, StepPin); |
Tioneb | 5:d6484db1ec5c | 48 | delay(10); |
Tioneb | 5:d6484db1ec5c | 49 | } |
Tioneb | 5:d6484db1ec5c | 50 | } |
Tioneb | 5:d6484db1ec5c | 51 | |
Tioneb | 5:d6484db1ec5c | 52 | void Lift::GoUp(){ |
Tioneb | 5:d6484db1ec5c | 53 | DirPin = 0; |
Tioneb | 5:d6484db1ec5c | 54 | Starting(); |
Tioneb | 5:d6484db1ec5c | 55 | Started(); |
Tioneb | 5:d6484db1ec5c | 56 | } |
Tioneb | 5:d6484db1ec5c | 57 | |
Tioneb | 5:d6484db1ec5c | 58 | void Lift::GoDown(){ |
Tioneb | 5:d6484db1ec5c | 59 | DirPin = 1; |
Tioneb | 5:d6484db1ec5c | 60 | Starting(); |
Tioneb | 5:d6484db1ec5c | 61 | } |
Tioneb | 5:d6484db1ec5c | 62 | |
Tioneb | 5:d6484db1ec5c | 63 | #endif |