Antonia Baumgartner / Mbed 2 deprecated YB_copy

Dependencies:   mbed

Fork of Versuch21 by Antonia Baumgartner

Committer:
baumgant
Date:
Sun Apr 22 16:14:54 2018 +0000
Revision:
0:b886f13e4ac6
Child:
5:93d3efe46493
Roebi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
baumgant 0:b886f13e4ac6 1 #ifndef CONTROLLER_H_
baumgant 0:b886f13e4ac6 2 #define CONTROLLER_H_
baumgant 0:b886f13e4ac6 3 #include <cstdlib>
baumgant 0:b886f13e4ac6 4 #include <mbed.h>
baumgant 0:b886f13e4ac6 5 #include "EncoderCounter.h"
baumgant 0:b886f13e4ac6 6 #include "LowpassFilter.h"
baumgant 0:b886f13e4ac6 7
baumgant 0:b886f13e4ac6 8 class Controller
baumgant 0:b886f13e4ac6 9 {
baumgant 0:b886f13e4ac6 10
baumgant 0:b886f13e4ac6 11 public:
baumgant 0:b886f13e4ac6 12
baumgant 0:b886f13e4ac6 13 Controller(PwmOut& pwmLeft, PwmOut& pwmRight,
baumgant 0:b886f13e4ac6 14 EncoderCounter& counterLeft, EncoderCounter& counterRight);
baumgant 0:b886f13e4ac6 15
baumgant 0:b886f13e4ac6 16 virtual ~Controller();
baumgant 0:b886f13e4ac6 17 void setDesiredSpeedLeft(float desiredSpeedLeft);
baumgant 0:b886f13e4ac6 18 void setDesiredSpeedRight(float desiredSpeedRight);
baumgant 0:b886f13e4ac6 19 static const float COUNTS_PER_TURN;
baumgant 0:b886f13e4ac6 20 void resetCounter();
baumgant 0:b886f13e4ac6 21
baumgant 0:b886f13e4ac6 22 private:
baumgant 0:b886f13e4ac6 23
baumgant 0:b886f13e4ac6 24 static const float PERIOD;
baumgant 0:b886f13e4ac6 25
baumgant 0:b886f13e4ac6 26 static const float LOWPASS_FILTER_FREQUENCY;
baumgant 0:b886f13e4ac6 27 static const float KN;
baumgant 0:b886f13e4ac6 28 static const float KP;
baumgant 0:b886f13e4ac6 29 static const float MAX_VOLTAGE;
baumgant 0:b886f13e4ac6 30 static const float MIN_DUTY_CYCLE;
baumgant 0:b886f13e4ac6 31 static const float MAX_DUTY_CYCLE;
baumgant 0:b886f13e4ac6 32
baumgant 0:b886f13e4ac6 33 PwmOut& pwmLeft;
baumgant 0:b886f13e4ac6 34 PwmOut& pwmRight;
baumgant 0:b886f13e4ac6 35 EncoderCounter& counterLeft;
baumgant 0:b886f13e4ac6 36 EncoderCounter& counterRight;
baumgant 0:b886f13e4ac6 37 short previousValueCounterLeft;
baumgant 0:b886f13e4ac6 38 short previousValueCounterRight;
baumgant 0:b886f13e4ac6 39 LowpassFilter speedLeftFilter;
baumgant 0:b886f13e4ac6 40 LowpassFilter speedRightFilter;
baumgant 0:b886f13e4ac6 41 float desiredSpeedLeft;
baumgant 0:b886f13e4ac6 42 float desiredSpeedRight;
baumgant 0:b886f13e4ac6 43 float actualSpeedLeft;
baumgant 0:b886f13e4ac6 44 float actualSpeedRight;
baumgant 0:b886f13e4ac6 45 Ticker ticker;
baumgant 0:b886f13e4ac6 46
baumgant 0:b886f13e4ac6 47 void run();
baumgant 0:b886f13e4ac6 48
baumgant 0:b886f13e4ac6 49 };
baumgant 0:b886f13e4ac6 50
baumgant 0:b886f13e4ac6 51 #endif /* CONTROLLER_H_ */
baumgant 0:b886f13e4ac6 52
baumgant 0:b886f13e4ac6 53
baumgant 0:b886f13e4ac6 54
baumgant 0:b886f13e4ac6 55
baumgant 0:b886f13e4ac6 56
baumgant 0:b886f13e4ac6 57
baumgant 0:b886f13e4ac6 58