AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
spi_hardware_plugin.hpp
Go to the documentation of this file.
1//================================================================================================
9//================================================================================================
10
11#ifndef SPI_HARDWARE_PLUGIN_HPP
12#define SPI_HARDWARE_PLUGIN_HPP
13
15
16#include <cstdint>
17#include <vector>
18
19namespace isobus
20{
21 //================================================================================================
25 //================================================================================================
27 {
28 public:
32 virtual void begin_transaction(){};
33
38 virtual void transmit(SPITransactionFrame *frame) = 0;
39
43 virtual bool end_transaction() = 0;
44 };
45}
46#endif // SPI_HARDWARE_PLUGIN_HPP
An abstract base class for SPI communication.
virtual void transmit(SPITransactionFrame *frame)=0
Write a frame to the SPI bus. This should only be called after begin_transaction()....
virtual void begin_transaction()
Begin a transaction on the SPI bus. This should be called before any of the read/write operations.
virtual bool end_transaction()=0
End a transaction on the SPI bus. This must be called after all write operations and before any read ...
A class containing the data for a single SPI transaction.
This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollu...
A class containing the data for a single SPI transaction. Used in combination with SPIHardwarePlugin ...