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