Files
Pendelzug/lib/locomotive/locomotive.h
Andi 349d1d644e Pendelzug Erstversion
new file:   .gitignore
new file:   .vscode/extensions.json
new file:   ErsterTest.code-workspace
new file:   include/README
new file:   lib/AnalogFiveButtons/AnalogFiveButtons.cpp
new file:   lib/AnalogFiveButtons/AnalogFiveButtons.h
new file:   lib/Imotor/Imotor.cpp
new file:   lib/Imotor/Imotor.h
new file:   lib/L298n/L298n.cpp
new file:   lib/L298n/L298n.h
new file:   lib/README
new file:   lib/fahrt/fahrt.cpp
new file:   lib/fahrt/fahrt.h
new file:   lib/gleis/gleis.cpp
new file:   lib/gleis/gleis.h
new file:   lib/gleisabschnitt/gleisabschnitt.cpp
new file:   lib/gleisabschnitt/gleisabschnitt.h
new file:   lib/locomotive/locomotive.cpp
new file:   lib/locomotive/locomotive.h
new file:   lib/motor/dfquad.h
new file:   lib/motor/motor.cpp
new file:   lib/motor/motor.h
new file:   lib/weiche/weiche.cpp
new file:   lib/weiche/weiche.h
new file:   platformio.ini
new file:   src/main.cpp
new file:   test/README
2023-05-14 21:22:04 +02:00

36 lines
839 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;
int _currentAcc;
byte _minSpeed;
byte _maxSpeed;
byte _targetSpeed;
const unsigned int _delay=300;
unsigned long _millisStart;
byte _currentSpeed;
IMotor& _motor;
};
#endif