Files
Pendelzug/lib/locomotive/locomotive.h

36 lines
842 B
C++

#ifndef Locomotive_h
#define Locomotive_h
#include "Arduino.h"
#include "Imotor.h"
class Locomotive
{
public:
Locomotive(int accelerate, int decelerate, byte minSpeed, byte maxSpeed, IMotor& motor);
Locomotive(int accelerate, byte speed, int decelerate, byte minSpeed, byte maxSpeed, IMotor& motor);
void Accelerate();
void Accelerate(byte Speed);
void Accelerate(byte Speed, float bremsweg);
void Break();
void setSpeed(byte Speed);
void loop();
byte currentSpeed();
void setDirection(MotorDirection dir);
byte getDefaultSpeed();
private:
int _accelerate;
int _decelerate;
float _currentAcc;
byte _minSpeed;
byte _maxSpeed;
byte _targetSpeed;
const unsigned int _delay=300;
unsigned long _millisStart;
float _currentSpeed;
IMotor& _motor;
};
#endif