Arduino PulseWire Transceiver Library
Loading...
Searching...
No Matches
TxDriver.h
1#pragma once
2#include <stddef.h>
3#include <stdint.h>
4namespace pulsewire {
5
9enum class FramingMode {
10 FixedSize, // Send when buffer is full
11 WriteBytes, // Send immediately with writeBytes
12 Flush // Send all buffered data on flush
13};
14
18class TxDriver {
19 public:
20 virtual void setFrameSize(uint16_t size) = 0;
21 virtual void setFramingMode(FramingMode mode) = 0;
22 virtual int write(uint8_t byte) = 0;
23 virtual size_t write(const uint8_t* data, size_t len) = 0;
24 virtual bool begin(uint16_t bitFrequencyHz) = 0;
25 virtual void flush() {};
26 virtual void end() {};
27};
28
29} // namespace pulsewire
Abstract base class for IR transmitters.
Definition TxDriver.h:18
Small, header-only vector replacement for non-STL environments.
Definition Vector.h:29