#include namespace sta { SpiDevice::SpiDevice(SpiInterface * intf) : intf_{intf} {} void SpiDevice::beginTransmission() { // Acquire SPI access and activate device intf_->acquire(); select(); } void SpiDevice::endTransmission() { // Deactivate device and release SPI access deselect(); intf_->release(); } // Forward I/O operations to SPI interface void SpiDevice::transfer(uint8_t data) { intf_->transfer(data); } void SpiDevice::transfer(const uint8_t * data, size_t size) { intf_->transfer(data, size); } void SpiDevice::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) { intf_->transfer(txBuffer, rxBuffer, size); } void SpiDevice::transfer16(uint16_t data) { intf_->transfer16(data); } void SpiDevice::fill(uint8_t value, size_t count) { intf_->fill(value, count); } void SpiDevice::fill32(uint32_t value, size_t count) { intf_->fill32(value, count); } void SpiDevice::receive(uint8_t * buffer, size_t size) { intf_->receive(buffer, size); } } // namespace sta