diff --git a/src/SPILock.cpp b/src/SPILock.cpp index 9bb027ae8..13fa556fc 100644 --- a/src/SPILock.cpp +++ b/src/SPILock.cpp @@ -1,57 +1,12 @@ #include "SPILock.h" -#include "PowerFSM.h" #include "configuration.h" -#include "sleep.h" #include #include concurrency::Lock *spiLock; -class SPILock : public concurrency::Lock -{ - public: - SPILock(); - ~SPILock(); - - void lock() override; - void unlock() override; - - private: - bool locked; - - int preflightSleepCb(void *unused = NULL) { return locked ? 1 : 0; } - - CallbackObserver preflightSleepObserver = - CallbackObserver(this, &SPILock::preflightSleepCb); -}; - -SPILock::SPILock() : Lock() -{ - locked = false; - preflightSleepObserver.observe(&preflightSleep); -} - -SPILock::~SPILock() -{ - preflightSleepObserver.unobserve(&preflightSleep); -} - -void SPILock::lock() -{ - powerFSM.trigger(EVENT_WAKE_TIMER); - - Lock::lock(); - locked = true; -} - -void SPILock::unlock() -{ - locked = false; - Lock::unlock(); -} - void initSPI() { assert(!spiLock); - spiLock = new SPILock(); + spiLock = new concurrency::Lock(); } \ No newline at end of file