From 15d743efaf8d3ec8dacd37fbac434c1e719c0b30 Mon Sep 17 00:00:00 2001 From: Thomas Tsou Date: Sat, 25 Jan 2014 02:34:03 -0500 Subject: Transceiver52M: Disable filler table retransmissions by default Burst selection at a particular time works in the following order of priority. 1. Slot is disabled with channel combination set to NONE (default) 1. Burst exists in priority queue for the current time. 2. Filler table entry is used This patch sets default behaviour to force all filler table entries to zero and disallows filler table changes. This effectively means that only bursts received from upper layers will be transmitted and nothing will be automatically transmitted in the absence or delay of incoming burts at a particular time. New Command line option "Enable C0 filler table" allows reverting to previous idle burst generation and retransmission behaviour on TRX0. Retransmission cannot be enabled on non-C0 channels. Signed-off-by: Thomas Tsou --- Transceiver52M/Transceiver.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Transceiver52M/Transceiver.h') diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index e6b9e12..df029a6 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -54,7 +54,7 @@ struct TransceiverState { ~TransceiverState(); /* Initialize a multiframe slot in the filler table */ - void init(size_t slot, signalVector *burst); + void init(size_t slot, signalVector *burst, bool fill); int chanType[8]; @@ -64,6 +64,7 @@ struct TransceiverState { /* The filler table */ signalVector *fillerTable[102][8]; int fillerModulus[8]; + bool mRetrans; /* Most recent channel estimate of all timeslots */ signalVector *chanResponse[8]; @@ -122,6 +123,9 @@ private: void addRadioVector(size_t chan, BitVector &bits, int RSSI, GSM::Time &wTime); + /** Update filler table */ + void updateFillerTable(size_t chan, radioVector *burst); + /** Push modulated burst into transmit FIFO corresponding to a particular timestamp */ void pushRadioVector(GSM::Time &nowTime); @@ -187,7 +191,7 @@ public: /** start the Transceiver */ void start(); - bool init(); + bool init(bool filler); /** attach the radioInterface receive FIFO */ bool receiveFIFO(VectorFIFO *wFIFO, size_t chan) -- cgit v1.2.3