b15f/drv/b15f.h

51 lines
944 B
C
Raw Normal View History

2019-03-26 08:57:01 +00:00
#ifndef B15F_h
#define B15F_h
#include <iostream>
2019-03-26 10:35:20 +00:00
#include <bits/stdc++.h>
#include <string>
#include <fstream>
#include <cstdlib>
2019-03-26 12:28:29 +00:00
#include <chrono>
2019-03-26 10:35:20 +00:00
#include <cstdint>
#include <unistd.h>
2019-03-26 12:28:29 +00:00
#include <fcntl.h>
#include <termios.h>
2019-03-26 10:35:20 +00:00
#include "driverexception.h"
2019-03-26 08:57:01 +00:00
class B15F
{
private:
B15F(void); // privater Konstruktor
public:
void init(void);
2019-03-26 10:35:20 +00:00
bool testConnection(void);
2019-03-26 12:28:29 +00:00
inline void writeByte(uint8_t);
inline void writeInt(uint16_t);
inline void writeLong(uint32_t);
inline uint8_t readByte(void);
inline uint16_t readInt(void);
inline uint32_t readLong(void);
void sleep(uint16_t);
2019-03-26 10:35:20 +00:00
2019-03-26 08:57:01 +00:00
static B15F& getInstance(void);
private:
2019-03-26 12:28:29 +00:00
int usart = -1;
uint32_t baudrate = 38400;
uint16_t timeout = 1000;
2019-03-26 10:35:20 +00:00
2019-03-26 08:57:01 +00:00
static B15F* instance;
2019-03-26 10:35:20 +00:00
// CONSTANTS
2019-03-26 12:28:29 +00:00
const std::string PRE = "[B15F] ";
2019-03-26 10:35:20 +00:00
const std::string SERIAL_DEVICE = "/dev/ttyUSB0";
constexpr static uint8_t MSG_OK = 0xFF;
constexpr static uint8_t MSG_FAIL = 0xFE;
2019-03-26 08:57:01 +00:00
};
#endif // B15F_h