egprs: Enable 8-PSK length vectors on the Tx interface
Allow EGPRS 8-PSK length bit vectors of length 444 (148 * 3) to pass in through the Tx socket interface. Length is the sole factor in determining whether to modulate a bit vector using GMSK or 8-PSK. Tested with 8-PSK training sequences with random payload originating from osmo-bts. Output verified with Agilent E4406A. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
This commit is contained in:
parent
a84e162672
commit
e88710881b
|
@ -877,12 +877,20 @@ void Transceiver::driveControl(size_t chan)
|
|||
|
||||
bool Transceiver::driveTxPriorityQueue(size_t chan)
|
||||
{
|
||||
char buffer[gSlotLen+50];
|
||||
int burstLen;
|
||||
char buffer[EDGE_BURST_NBITS + 50];
|
||||
|
||||
// check data socket
|
||||
size_t msgLen = mDataSockets[chan]->read(buffer, sizeof(buffer));
|
||||
|
||||
if (msgLen!=gSlotLen+1+4+1) {
|
||||
if (msgLen == gSlotLen + 1 + 4 + 1) {
|
||||
burstLen = gSlotLen;
|
||||
} else if (msgLen == EDGE_BURST_NBITS + 1 + 4 + 1) {
|
||||
if (mSPSTx != 4)
|
||||
return false;
|
||||
|
||||
burstLen = EDGE_BURST_NBITS;
|
||||
} else {
|
||||
LOG(ERR) << "badly formatted packet on GSM->TRX interface";
|
||||
return false;
|
||||
}
|
||||
|
@ -895,7 +903,7 @@ bool Transceiver::driveTxPriorityQueue(size_t chan)
|
|||
LOG(DEBUG) << "rcvd. burst at: " << GSM::Time(frameNum,timeSlot);
|
||||
|
||||
int RSSI = (int) buffer[5];
|
||||
static BitVector newBurst(gSlotLen);
|
||||
static BitVector newBurst(burstLen);
|
||||
BitVector::iterator itr = newBurst.begin();
|
||||
char *bufferItr = buffer+6;
|
||||
while (itr < newBurst.end())
|
||||
|
|
Loading…
Reference in New Issue