#pragma once #include #include #include 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); } }; }