add support for signals
split main into more files
This commit is contained in:
32
signal.h
Normal file
32
signal.h
Normal file
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
#include "item.h"
|
||||
#include <stdint.h>
|
||||
|
||||
class Signal: public Item
|
||||
{
|
||||
public:
|
||||
static constexpr uint8_t GO = 0;
|
||||
static constexpr uint8_t STOP = 1;
|
||||
static constexpr uint8_t SLOW = 2;
|
||||
static constexpr uint8_t EXPECT_GO = 0;
|
||||
static constexpr uint8_t EXPECT_STOP = 1 << 3;
|
||||
static constexpr uint8_t RIGHT = 2 << 3;
|
||||
static constexpr uint8_t TYPE_NORMAL = 0;
|
||||
static constexpr uint8_t TYPE_RELAY = 1;
|
||||
static constexpr uint8_t TYPE_HAS_SLOW = 1 << 1;
|
||||
static constexpr uint8_t TYPE_HAS_EXPECT = 1 << 2;
|
||||
|
||||
private:
|
||||
uint8_t _state = GO;
|
||||
uint8_t _subaddress;
|
||||
uint8_t _type;
|
||||
|
||||
public:
|
||||
Signal(uint8_t address, uint8_t subaddress, uint8_t type = TYPE_NORMAL | TYPE_HAS_SLOW);
|
||||
void setState(uint8_t state);
|
||||
uint8_t getState();
|
||||
uint8_t getSubaddress();
|
||||
uint16_t getPacket();
|
||||
void sendData();
|
||||
uint8_t getType();
|
||||
};
|
Reference in New Issue
Block a user