aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/Transceiver.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-07-22 18:10:52 +0200
committerpespin <pespin@sysmocom.de>2019-07-23 09:06:01 +0000
commit720b912ba9c8e51a40451e9cc44b3cc0bac698c2 (patch)
treea74e170f2862f33096b1587db2dbee91a7227d72 /Transceiver52M/Transceiver.h
parentc3325b9aeb446f2cc888523d8c9f5f4ff3a39242 (diff)
Transceiver: Clean up code passing parameters to threads
TransceiverChannel naming was misleading there. It's simply a data type used to pass 2 parameters through the void* of the thread entry function, so let's clearly specify is a storage for thread params. Furthermore, we don't need a full C++ class for that, let's simply use a struct. Change-Id: I6e3898a8a66520cc5b2a7df9b9ae01b0b272387f
Diffstat (limited to 'Transceiver52M/Transceiver.h')
-rw-r--r--Transceiver52M/Transceiver.h40
1 files changed, 13 insertions, 27 deletions
diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h
index 8da52d1..18dc5f2 100644
--- a/Transceiver52M/Transceiver.h
+++ b/Transceiver52M/Transceiver.h
@@ -39,19 +39,9 @@ extern "C" {
class Transceiver;
/** Channel descriptor for transceiver object and channel number pair */
-struct TransceiverChannel {
- TransceiverChannel(Transceiver *trx, int num)
- {
- this->trx = trx;
- this->num = num;
- }
-
- ~TransceiverChannel()
- {
- }
-
- Transceiver *trx;
- size_t num;
+struct TrxChanThParams {
+ Transceiver *trx;
+ size_t num;
};
/** Internal transceiver state variables */
@@ -248,15 +238,11 @@ protected:
*/
bool driveTxPriorityQueue(size_t chan);
- friend void *RxUpperLoopAdapter(TransceiverChannel *);
-
- friend void *TxUpperLoopAdapter(TransceiverChannel *);
-
- friend void *RxLowerLoopAdapter(Transceiver *);
-
- friend void *TxLowerLoopAdapter(Transceiver *);
-
- friend void *ControlServiceLoopAdapter(TransceiverChannel *);
+ friend void *RxUpperLoopAdapter(TrxChanThParams *params);
+ friend void *TxUpperLoopAdapter(TrxChanThParams *params);
+ friend void *RxLowerLoopAdapter(Transceiver *transceiver);
+ friend void *TxLowerLoopAdapter(Transceiver *transceiver);
+ friend void *ControlServiceLoopAdapter(TrxChanThParams *params);
void reset();
@@ -267,14 +253,14 @@ protected:
void logRxBurst(size_t chan, const struct trx_ul_burst_ind *bi);
};
-void *RxUpperLoopAdapter(TransceiverChannel *);
+void *RxUpperLoopAdapter(TrxChanThParams *params);
/** Main drive threads */
-void *RxLowerLoopAdapter(Transceiver *);
-void *TxLowerLoopAdapter(Transceiver *);
+void *RxLowerLoopAdapter(Transceiver *transceiver);
+void *TxLowerLoopAdapter(Transceiver *transceiver);
/** control message handler thread loop */
-void *ControlServiceLoopAdapter(TransceiverChannel *);
+void *ControlServiceLoopAdapter(TrxChanThParams *params);
/** transmit queueing thread loop */
-void *TxUpperLoopAdapter(TransceiverChannel *);
+void *TxUpperLoopAdapter(TrxChanThParams *params);