forked from pelud/modbus-potato
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathModbusArduinoHardwareSerial.h
More file actions
35 lines (33 loc) · 1.05 KB
/
ModbusArduinoHardwareSerial.h
File metadata and controls
35 lines (33 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef __ModbusArduinoHardwareSerial_h__
#define __ModbusArduinoHardwareSerial_h__
#include "ModbusInterface.h"
#ifdef ARDUINO
namespace ModbusPotato
{
/// <summary>
/// This class provides access to the Arduino HardwareSerial driver.
/// </summary>
class CModbusArduinoHardwareSerial : public IStream
{
public:
/// <summary>
/// Construct the interface to the HardwareSerialDriver.
/// </summary>
/// <remarks>
/// port_number corresponds to the given Serial object.
/// i.e. port 0 is Serial, port 1 is Serial1, etc.
/// </remarks>
CModbusArduinoHardwareSerial(uint8_t port_number);
virtual int read(uint8_t* buffer, size_t buffer_size);
virtual int write(uint8_t* buffer, size_t len);
virtual void txEnable(bool state);
virtual bool writeComplete();
virtual void communicationStatus(bool rx, bool tx) {}
private:
int availableForWrite();
HardwareSerial* m_serial;
uint8_t m_port_number;
};
}
#endif
#endif