mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-04-18 17:35:05 +00:00
25 lines
484 B
C++
25 lines
484 B
C++
#pragma once
|
|
|
|
#include <tactility/drivers/spi_controller.h>
|
|
#include <tactility/device.h>
|
|
|
|
#include <Tactility/Lock.h>
|
|
|
|
namespace tt {
|
|
|
|
class SpiDeviceLock : public Lock {
|
|
::Device* device;
|
|
public:
|
|
explicit SpiDeviceLock(::Device* device) : device(device) { }
|
|
|
|
bool lock(TickType_t timeout) const override {
|
|
return spi_controller_try_lock(device, timeout) == ERROR_NONE;
|
|
}
|
|
|
|
void unlock() const override {
|
|
spi_controller_unlock(device);
|
|
}
|
|
};
|
|
|
|
}
|