working marklin digital support

This commit is contained in:
IMback
2018-10-23 14:42:03 +02:00
parent 6a679f71ad
commit 18dc36e928
3 changed files with 178 additions and 91 deletions

16
train.h
View File

@ -23,11 +23,11 @@ private:
static const unsigned char _pinHighB = PD2;
static const unsigned char _pinLowB = PD3;
static const uint8_t SEND_COUNT = 4;
static const uint8_t SEND_COUNT = 2;
uint8_t _protocol = M_DIGITAL;
uint16_t lastdatapacket = 0;
uint16_t lastDataPacket = 0;
inline static void off();
void sendBit(const bool bit);
@ -37,16 +37,20 @@ public:
static void setOutput(const uint8_t state);
Train(const uint8_t address);
Train(const uint8_t address, uint8_t protocol = M_DIGITAL);
Train();
void resendSpeed();
void resendData();
void reverse();
void stop();
bool isActive();
uint8_t getAddress();
uint8_t getSpeed();
uint16_t getLastPacket();
uint8_t getProtocol();
@ -56,7 +60,7 @@ public:
void setAddress(const uint8_t address);
void sendFunction(const uint16_t function);
void sendFunction(const uint8_t function, bool enable = true);
void sendRaw(const uint16_t data);