SegLCDLib
Loading...
Searching...
No Matches
SegTransport.h
Go to the documentation of this file.
1#ifndef SEGTRANSPORT_H
2#define SEGTRANSPORT_H
3
4#include <stdint.h>
5#include <stddef.h>
6
7#ifdef ARDUINO
8#include <Arduino.h>
9#endif
10
15
16};
17
24 public:
25 virtual ~SegTransport3Wire() = default;
26
32 virtual void init_cs(uint8_t chipselect) = 0;
33
40 virtual void set_cs(uint8_t chipselect, bool state) = 0;
41
48 virtual void write(uint16_t data, uint8_t bitCount) = 0;
49};
50
55 public:
56 virtual ~SegTransportI2C() = default;
57
64 virtual void write(uint8_t address, uint8_t data) = 0;
65
73 virtual void write(uint8_t address, uint8_t *data, size_t length) = 0;
74};
75
76#endif
Abstract 3-wire serial transport.
Definition SegTransport.h:23
virtual void set_cs(uint8_t chipselect, bool state)=0
Drive chip-select line.
virtual void init_cs(uint8_t chipselect)=0
Initialize chip-select pin as output.
virtual void write(uint16_t data, uint8_t bitCount)=0
Write bits to the 3-wire bus, MSB first.
virtual ~SegTransport3Wire()=default
Abstract I2C transport.
Definition SegTransport.h:54
virtual ~SegTransportI2C()=default
virtual void write(uint8_t address, uint8_t data)=0
Write one byte to an I2C device.
virtual void write(uint8_t address, uint8_t *data, size_t length)=0
Write multiple bytes to an I2C device.
Abstract base class for low-level bus transports.
Definition SegTransport.h:14