1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
diff --git a/mbts/TransceiverRAD1/bladeRFDevice.cpp b/mbts/TransceiverRAD1/bladeRFDevice.cpp
index a2a3346..cfdb977 100644
--- a/mbts/TransceiverRAD1/bladeRFDevice.cpp
+++ b/mbts/TransceiverRAD1/bladeRFDevice.cpp
@@ -35,7 +35,6 @@
#include <Logger.h>
-
#define MIN_OVERSAMPLING 4
#define HEALTH_BAD 10
@@ -128,7 +127,36 @@ bool bladeRFDevice::open(const std::string &args, bool)
<< "." << ver.patch << " (" << ver.describe << ")";
uint32_t val = 0;
- bladerf_config_gpio_read(bdev, &val);
+
+ status = bladerf_sync_config(bdev,
+ BLADERF_MODULE_RX,
+ BLADERF_FORMAT_SC16_Q11,
+ DEFAULT_STREAM_RX_BUFFERS,
+ DEFAULT_STREAM_SAMPLES,
+ DEFAULT_STREAM_RX_XFERS,
+ DEFAULT_STREAM_TIMEOUT
+ );
+
+ if (status < 0) {
+ LOG(CRIT) << "Failed to intialize RX sync handle: " << bladerf_strerror(status);
+ checkHealth(mRxHealth, false);
+ }
+
+ status = bladerf_sync_config(bdev,
+ BLADERF_MODULE_TX,
+ BLADERF_FORMAT_SC16_Q11,
+ DEFAULT_STREAM_TX_BUFFERS,
+ DEFAULT_STREAM_SAMPLES,
+ DEFAULT_STREAM_TX_XFERS,
+ DEFAULT_STREAM_TIMEOUT
+ );
+
+ if (status < 0) {
+ LOG(CRIT) << "Failed to intialize TX sync handle: " << bladerf_strerror(status);
+ checkHealth(mTxHealth, false);
+ }
+
+ bladerf_config_gpio_read(bdev, &val);
val |= 0x10000; //enable timestamps, clears and resets everything on write
bladerf_config_gpio_write(bdev, val);
bladerf_config_gpio_read(bdev, &val);
@@ -185,34 +213,6 @@ bool bladeRFDevice::open(const std::string &args, bool)
else
LOG(INFO) << "Actual bandwidth " << bw;
- status = bladerf_sync_config(bdev,
- BLADERF_MODULE_RX,
- BLADERF_FORMAT_SC16_Q11,
- DEFAULT_STREAM_RX_BUFFERS,
- DEFAULT_STREAM_SAMPLES,
- DEFAULT_STREAM_RX_XFERS,
- DEFAULT_STREAM_TIMEOUT
- );
-
- if (status < 0) {
- LOG(CRIT) << "Failed to intialize RX sync handle: " << bladerf_strerror(status);
- checkHealth(mRxHealth, false);
- }
-
- status = bladerf_sync_config(bdev,
- BLADERF_MODULE_TX,
- BLADERF_FORMAT_SC16_Q11,
- DEFAULT_STREAM_TX_BUFFERS,
- DEFAULT_STREAM_SAMPLES,
- DEFAULT_STREAM_TX_XFERS,
- DEFAULT_STREAM_TIMEOUT
- );
-
- if (status < 0) {
- LOG(CRIT) << "Failed to intialize TX sync handle: " << bladerf_strerror(status);
- checkHealth(mTxHealth, false);
- }
-
mRxGain1 = BLADERF_RXVGA1_GAIN_MAX;
mDcCorrect = true;
mRxMaxOffset = RX_OFFSET_ERROR * RX_AVERAGE_DAMPING;
|