36 lines
842 B
C++
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 |