Commit Graph

23 Commits

Author SHA1 Message Date
Kurtis Heimerl
97046bbdd3 uhd: rework handling of timestamp errors
On a lapses of time monotonicity (and possibly other errors),
stop and restart the receive streaming with a buffer flush
in between. This is a cleaner replacement to the previous
clock reset with that didn't attempt to stop steaming.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2647 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:28 +00:00
Kurtis Heimerl
aa1261f246 uhd: fix timestamp conversion bug on 32-bit architectures
Type size_t was used in the UHD time_spec_t to integer
conversion, which would overflow at roughly 4 and a half
hours causing the sample buffer to error on timestamp
validity. Builds where size_t takes on 64-bits were not
affected by this bug.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2646 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:26 +00:00
Kurtis Heimerl
1509d50221 uhd: reset sample clock when time goes non-monotonic
With UHD b4fc0d61bb6cbd1a5614745bab9aeb0abc22cb6f

Sample clock will reset to zero after an overrun. Earlier
versions may hang the FPGA, which is non-recoverable,
requiring a manual image reload or reboot.

If reset to zero, attempt to kick the sample clock to the
last properly received timestamp value. At this point,
there will be a timing continuity jump, which will drop
connections, but transmit and receive chains should be
aligned allowing for re-establishment.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2645 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:23 +00:00
Kurtis Heimerl
d6d9baaf99 uhd: inline thread priority setting
Push the ability to set thread priority out to the 52M
Transceiver interface, because that's where the thread
control exists.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2644 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:21 +00:00
Kurtis Heimerl
526bf03351 uhd: move static functions into the uhd_device class
Simplifies things slightly, and this is supposed to be
C++ after all.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2643 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:18 +00:00
Kurtis Heimerl
6a2a8334e8 uhd: allow the non-uhd to still compile unchanged
The missing methods are not implemented and simply return. They
didn't exist in the first place.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2642 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:15 +00:00
Kurtis Heimerl
d0eafbc259 uhd: move non-52MHz transceiver to common radio device interface
Use the same header files for the device and start moving
toward a commmon transceiver without so much redundant code.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2641 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:13 +00:00
Kurtis Heimerl
b38839accc uhd: set and shadow settings through interface
Shadow all gains and frequencies, which minimizes device access.
This allows the transceiver to variably control the device
settings.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2640 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:10 +00:00
Kurtis Heimerl
39c6af3709 uhd: set receive gain during initialization
This shouldn't matter much, but the gain settings through the
interface are short circuited right now, which makes this a
problem.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2639 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:07 +00:00
Kurtis Heimerl
2ca69b6ec9 uhd: set hardware side delay offset for e100
The value is used to align transmit and receive time slots within
a sample. This oscilloscope measured value is close, but may
need minor tweaking.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2638 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:05 +00:00
Kurtis Heimerl
6b7f097a3c uhd: log useful information on monotonic errors
Track the current errant and previous timestamp values.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2637 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:02 +00:00
Kurtis Heimerl
66a5f7c299 uhd: only the E100 supports FPGA timestamps and adjustable clock rate
Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2636 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:17:00 +00:00
Kurtis Heimerl
776fe14462 uhd: flush initial receive samples
Occasionally, the E100 will have errant timestamps at start
related to previous sessions. Early packets will be thrown
out anyways, so do this explicitly so the timestamps don't
royally fuck up the sample timing.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2635 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:16:57 +00:00
Kurtis Heimerl
fb986154e8 uhd: add 52 MHz transceiver support
These are mostly identical changes as added to the non-52MHz
implementation with the exception of sample rate.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2634 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:16:54 +00:00
Kurtis Heimerl
d8544d921c uhd: remove extra type conversion
Type conversion, if necessary, should happen inside the device.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2633 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:16:51 +00:00
Kurtis Heimerl
e11112bb80 Transceiver52M: add WBX, DBSRX, and single board support
Remove all RFX specific parts and control daughterboard
functionality using the base API. The tuning is now set
to a non-inverted image so remove the I/Q swap as well.

Daughterboard configuration is set through an enum
variable. Currently, there is no auto-configuration and
the default is Tx/RX on sides A/B respectively. For
transceiver boards the receive antenna is set to RX2.

enum dboardConfigType {
  TXA_RXB,
  TXB_RXA,
  TXA_RXA,
  TXB_RXB
};

const dboardConfigType dboardConfig = TXA_RXB;

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2632 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:16:48 +00:00
Kurtis Heimerl
a778734039 transceiver: fix initialization segfault in radio interface
'loadTest' variable was never initialized sometimes causing
segmentation fault on transceiver startup.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2631 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26 03:16:45 +00:00
Kurtis Heimerl
5ec08819c4 Reverting r2342
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2424 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-02 00:06:34 +00:00
Harvind Samra
14860a6d58 Updates to working with a single RFX...builds but not working yet.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2342 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-14 02:32:19 +00:00
David Burgess
1231145a74 Removed a Makefile that should not have benn checked in.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2313 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-12 08:15:48 +00:00
David Burgess
adf5ef3645 Changes to auto-foo files that should probably be removed anyway.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2312 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-12 08:14:47 +00:00
David Burgess
6f3d8f57f6 Remove Makefile.in from SVN. Doesn't belong here.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2309 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-12 07:47:02 +00:00
David Burgess
a92b0e1bba Adding in the missing Transceiver52M directory
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2307 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-12 07:44:40 +00:00