aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/radioClock.cpp
diff options
context:
space:
mode:
authorTom Tsou <tom@tsou.cc>2014-11-25 16:06:32 -0800
committerTom Tsou <tom@tsou.cc>2014-12-15 16:20:15 -0700
commiteb54bddf47e087cf340c8a65b36a03cebd4f174b (patch)
treed9c41dfef5c514a143c521f7cd138af950a34122 /Transceiver52M/radioClock.cpp
parenta4d1a4124421473f5f92255e2f3bc44bfa3937ea (diff)
Transceiver52M: Implement POWEROFF command
Add stop and restart capability through the POWEROFF and POWERON commands. Calling stop causes receive streaming to cease, and I/O threads to shutdown leaving only the control handling thread running. Upon receiving a POWERON command, I/O threads and device streaming are restarted. Proper shutdown of the transceiver is now initiated by the destructor, which calls the stop command internally to wind down and deallocate threads. Signed-off-by: Tom Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/radioClock.cpp')
-rw-r--r--Transceiver52M/radioClock.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/Transceiver52M/radioClock.cpp b/Transceiver52M/radioClock.cpp
index 710018a..505bb01 100644
--- a/Transceiver52M/radioClock.cpp
+++ b/Transceiver52M/radioClock.cpp
@@ -23,32 +23,27 @@
void RadioClock::set(const GSM::Time& wTime)
{
- mLock.lock();
+ ScopedLock lock(mLock);
mClock = wTime;
updateSignal.signal();
- mLock.unlock();
}
void RadioClock::incTN()
{
- mLock.lock();
+ ScopedLock lock(mLock);
mClock.incTN();
updateSignal.signal();
- mLock.unlock();
}
GSM::Time RadioClock::get()
{
- mLock.lock();
+ ScopedLock lock(mLock);
GSM::Time retVal = mClock;
- mLock.unlock();
-
return retVal;
}
void RadioClock::wait()
{
- mLock.lock();
+ ScopedLock lock(mLock);
updateSignal.wait(mLock,1);
- mLock.unlock();
}