Commit ca0ff4b5 authored by Cedric Roux's avatar Cedric Roux

Merge remote-tracking branch 'origin/lmssdr-fix-w13' into develop_integration_w13

parents a77082c1 fa0b8668
...@@ -45,6 +45,14 @@ lms_device_t* lms_device; ...@@ -45,6 +45,14 @@ lms_device_t* lms_device;
lms_stream_t rx_stream; lms_stream_t rx_stream;
lms_stream_t tx_stream; lms_stream_t tx_stream;
/* We have a strange behavior when we just start reading
* from the device (inconsistent values of the timestamp).
* A quick solution is to discard the very first read packet
* after a "start".
* The following global variable "first_rx" serves that purpose.
*/
static int first_rx = 0;
#define RXDCLENGTH 4096 #define RXDCLENGTH 4096
#define NUMBUFF 32 #define NUMBUFF 32
...@@ -94,6 +102,10 @@ int trx_lms_read(openair0_device *device, openair0_timestamp *ptimestamp, void * ...@@ -94,6 +102,10 @@ int trx_lms_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
meta.flushPartialPacket = false; meta.flushPartialPacket = false;
int ret; int ret;
if (first_rx == 1) {
first_rx = 0;
ret = LMS_RecvStream(&rx_stream,buff[0],nsamps,&meta,50);
}
ret = LMS_RecvStream(&rx_stream,buff[0],nsamps,&meta,50); ret = LMS_RecvStream(&rx_stream,buff[0],nsamps,&meta,50);
*ptimestamp = meta.timestamp; *ptimestamp = meta.timestamp;
return ret; return ret;
...@@ -223,6 +235,8 @@ int trx_lms_start(openair0_device *device){ ...@@ -223,6 +235,8 @@ int trx_lms_start(openair0_device *device){
} }
first_rx = 1;
rx_stream.channel = 0; rx_stream.channel = 0;
rx_stream.fifoSize = 256*1024; rx_stream.fifoSize = 256*1024;
rx_stream.throughputVsLatency = 0.1; rx_stream.throughputVsLatency = 0.1;
...@@ -355,7 +369,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg){ ...@@ -355,7 +369,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg){
break; break;
case 15360000: case 15360000:
openair0_cfg[0].samples_per_packet = 2048; openair0_cfg[0].samples_per_packet = 2048;
openair0_cfg[0].tx_sample_advance = 450; openair0_cfg[0].tx_sample_advance = 50; /* TODO: to be refined */
openair0_cfg[0].tx_bw = 15.36e6; openair0_cfg[0].tx_bw = 15.36e6;
openair0_cfg[0].rx_bw = 15.36e6; openair0_cfg[0].rx_bw = 15.36e6;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment