aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/Transceiver.cpp
diff options
context:
space:
mode:
authorThomas Tsou <tom@tsou.cc>2013-11-08 12:50:03 -0500
committerThomas Tsou <tom@tsou.cc>2013-11-15 23:32:40 -0500
commit7553aa973f352d48abbf5f8fc67530a5a64c108d (patch)
treeb721770292751e8eef853bcccd3e78f40368208f /Transceiver52M/Transceiver.cpp
parent7e4e536b1bfc9b20df6b30d427de29e3cc5bf5cf (diff)
Transceiver52M: Set variable thread priority levels
The transceiver and underlying device drivers are threaded. use the following priority levels. 0.50 - UHD driver internal threads 0.45 - Receive device drive thread 0.44 - Transmit device drive thread 0.43 - UHD asynchronous update thread (error reporting) 0.42 - Receive burst processing thread(s) Signed-off-by: Thomas Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/Transceiver.cpp')
-rw-r--r--Transceiver52M/Transceiver.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index 2d4a3cb..6e446f3 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -800,6 +800,8 @@ void *RxUpperLoopAdapter(TransceiverChannel *chan)
delete chan;
+ trx->setPriority(0.42);
+
while (1) {
trx->driveReceiveFIFO(num);
pthread_testcancel();
@@ -809,7 +811,7 @@ void *RxUpperLoopAdapter(TransceiverChannel *chan)
void *RxLowerLoopAdapter(Transceiver *transceiver)
{
- transceiver->setPriority();
+ transceiver->setPriority(0.45);
while (1) {
transceiver->driveReceiveRadio();
@@ -820,6 +822,8 @@ void *RxLowerLoopAdapter(Transceiver *transceiver)
void *TxLowerLoopAdapter(Transceiver *transceiver)
{
+ transceiver->setPriority(0.44);
+
while (1) {
transceiver->driveTxFIFO();
pthread_testcancel();