Commit graph

112 commits

Author SHA1 Message Date
Martin Braun
99c2730bc9 Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width types)
- Also removes all references to boost/cstdint.hpp and replaces it with
  stdint.h (The 'correct' replacement would be <cstdint>, but not all of our
  compilers support that).
2016-11-08 08:02:22 -08:00
Philip Balister
d96950503b Fix warning in e300_remote_codec_ctrl.cpp for gcc.
The bigger question is why uhd forces the e300 code to have an
implementation of an empty function. But, suppress the warning
and let people fight about design later.

Signed-off-by: Philip Balister <philip@opensdr.com>
2016-10-18 08:28:12 -07:00
Martin Braun
041264b4c4 ad936x: Loopback check now takes peeker/poker functors instead of assuming any kind of interface 2016-08-09 10:21:53 -07:00
Jonathon Pendlum
8607cf9693 ad9361: Added option for safe SPI
- Also added check for reading chip ID
2016-08-09 10:21:53 -07:00
Martin Braun
3a835db754 Merge branch 'maint' 2016-04-20 09:45:08 -07:00
Moritz Fischer
31d5c223ed e3xx: spi: Fix issue introduced in 1b149f56
Kernels (3.15+) introduce the possibility to do DUAL and QUAD spi
operations via spidev.

Prior to this commit nothing was setting the {tx,rx}_nbits members
of the struct spi_ioc_transfer.

from include/uapi/linux/spi/spidev.h

struct spi_ioc_transfer {
	__u64	tx_buf;
	__u64	rx_buf;

	__u32	len;
	__u32	speed_hz;

	__u16	delay_usecs;
	__u8	bits_per_word;
	__u8	cs_change;
	__u8	tx_nbits;
	__u8	rx_nbits;
	__u16	pad;
};

This turns into an issue on more recent kernels,
where it turns all transactions into QUAD transactions,
while the controller actually doesn't support that mode of
operation.

Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
2016-04-19 09:26:00 -07:00
michael-west
8db87873c1 E310: Radio reset fix
- Updated images
- E310: Bumped compat number to 16 for radio reset fix
- Update fpga-src submodule pointer
2016-03-29 17:59:04 -07:00
Ashish Chaudhari
7fad896c07 usrp3: Added RX DSP support for heterodyne sampling
- rx_dsp_core: set_mux takes in a fe_connection obj
  to determine IQ mapping and sampling mode parameters
- rx_dsp_core: Support a non-zero IF for downconversion
  The current strategy applies a software DSP freq offset
  which eats into the range of the CORDIC which is OK
  because heterodyne assumes real-mode sampling
2016-03-21 17:46:23 -07:00
Martin Braun
9423073527 Merge branch 'maint' 2016-03-11 09:46:29 -08:00
Marcus Müller
59433663b1 e300: Fixed a memory leak in udev code
When querying temp mboard sensor on e300, sysfs attributes are read
through udev.
2016-03-03 11:54:54 -08:00
Ashish Chaudhari
60a716fae9 x300,e300: Fixed IQ swapping issue in RX frontend
- DB connection mapping is implemented in DDC chain. FE corrections module does not swap
2016-02-17 13:40:42 -08:00
Ashish Chaudhari
27a08ccddc prop_tree: Multiple API enhancements to uhd::property
- Added desired and coerced values and accessors to property
- Added support to register desired subscribers
- set APIs don't reallocate storage for a property value
- Renamed callback method registration APIs
- Registering 2 coercers or publishers for a property will throw
- Registering a coercer and a publisher for the same property will throw
2016-02-11 14:36:20 -08:00
Martin Braun
afa4232e4f Merge branch 'maint' 2015-12-18 12:22:05 -08:00
Moritz Fischer
789784fc7e e3xx: Added FPGA loading code for speedgrade 3 devices.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
2015-12-16 15:40:18 -08:00
Ashish Chaudhari
026ebd616d b2xx,e3xx,x300: Bumped FPGA compat numbers after incompatible maint merge
- b200: compat 14
- b200mini: compat 5
- e3xx: compat 15
- x3xx: compat 20
2015-12-15 15:21:17 -08:00
Ashish Chaudhari
f44f7f2ca7 Merge branch 'maint'
Conflicts:
	host/lib/usrp/b200/b200_impl.hpp
	host/lib/usrp/e300/e300_fpga_defs.hpp
	host/lib/usrp/x300/x300_fw_common.h
2015-12-15 15:17:36 -08:00
Ashish Chaudhari
bf634e1e90 b2xx,e3xx,x300: Bumped FPGA compat numbers after SW time-sync changes
- b200: compat 13
- b200mini: compat 4
- e3xx: compat 14
- x3xx: compat 19
2015-12-10 14:21:50 -08:00
michael-west
9f9a55e1f5 Bumped FPGA compat numbers for B200, X300, and E300. 2015-12-10 14:21:49 -08:00
michael-west
b9b8350277 B200/E300: Set time sync on clock rate change to current time of first radio 2015-12-10 14:21:49 -08:00
michael-west
c1e6da0879 B210/E300: Re-sync times after master clock rate change. 2015-12-10 14:21:49 -08:00
michael-west
c21c5ee6fe E300/X300: Add VITA time synchronization on internal signal 2015-12-10 14:21:49 -08:00
Martin Braun
9a6f82eff9 Merge branch 'maint' 2015-12-09 13:50:35 -08:00
Nicholas Corgan
21df150ec8 e300: added virtual destructor to e300_sensor_manager class 2015-12-08 14:31:02 -08:00
Ashish Chaudhari
9300357682 x3xx,e3xx: Bumped FPGA compat number after register overlap fix
- e300: compat 13
- x300: compat 18
2015-11-24 10:57:40 -08:00
Ashish Chaudhari
3758c22510 radio: Fixed overlapping register for LED and FPGPIO core 2015-11-24 10:56:54 -08:00
Martin Braun
3f1d0fb1bd cmake: Register components earlier
All device-specific CMake components are now registered in one place,
before the host/lib/ subdirs are sourced. This way, there are no
cyclic dependencies.

This solves the issue where ENABLE_X300=Off could disable USB, but
preserves the fix where ENABLE_X300=Off would still build some X300
codes.
2015-11-16 15:21:44 -08:00
Ashish Chaudhari
052efa1910 Merge branch 'maint' 2015-10-16 12:31:20 -07:00
Ashish Chaudhari
7585541968 b2xx,e3xx,x300: Bumped compat numbers after GPIO ATR refactoring
- b200: compat 12
- b200mini: compat 3
- e300: compat 12
- x300: compat 17
2015-10-16 11:22:04 -07:00
Ashish Chaudhari
b48fe5bb65 Merge branch 'ashish/gpio_atr_redux' into master-staging
Conflicts:
	host/lib/usrp/cores/CMakeLists.txt
	host/lib/usrp/x300/x300_impl.hpp
2015-10-15 16:24:18 -07:00
Moritz Fischer
3e973aec5b e3xx: sysfs: Drop reference when we're done.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
2015-10-14 11:06:06 -07:00
Ashish Chaudhari
09a69b22ae fixup! x300: Added DMA FIFO support to X300 2015-09-30 13:23:15 -07:00
Ashish Chaudhari
e4c9656ac2 usrp3: Added new GPIO ATR 3000 core
- Refactored GPIO ATR definitions
- Added new 3000 core with a more efficient API
- Added a separate db_gpio_atr core to control the ATR bus
- Ported b2xx, e3xx and x3xx to the new core
- Minor cleanup
2015-09-29 15:53:43 -07:00
Ashish Chaudhari
fbbc824920 b2xx,e3xx,x300: Bumped compat numbers for 3.9.1 UHD release
- b200: compat 11
- b200mini: compat 2
- e300: compat 11
- x300: compat 15
2015-09-08 09:24:15 -07:00
Ashish Chaudhari
156b75cd70 b2xx,e3xx,x300: Bumped compat numbers for 3.9.1 UHD release
- b200: compat 11
- b200mini: compat 2
- e300: compat 11
- x300: compat 15
2015-09-03 17:41:49 -07:00
Nicholas Corgan
0ce526f302 Fixed minor warnings
* Unreferenced exceptions in try-catch statements
* Incorrect function documentation
* Unlabelled unused variables
2015-09-01 13:23:19 -07:00
michael-west
92539438c2 B2XX: Added B200mini support 2015-08-17 18:10:09 -07:00
Ashish Chaudhari
e4a9526a1a b200,e300,x300: Updated compat number for release 3.9.0
- b200: compat 10
- e300: compat 10
- x300: compat 14
2015-08-14 12:18:09 -07:00
michael-west
f4f3ce2550 UHD: Remove initialization of time to GPS time. 2015-08-12 17:23:40 -07:00
Nicholas Corgan
0dbaf46b5c cmake: added variable to LIBUHD_REGISTER_COMPONENT macro to make required, set LibUHD to required
* If required component's dependencies aren't met, CMake will throw an error unless user specifically disables it
2015-08-11 10:51:23 -07:00
Tom Tsou
46342c082d e300: Fix internal GPIO register setting
Resolves issue #890

    "E300: Does not transmit on master"

Fixes GPIO register mismatch introduced by c2827e9a0b.

    "x300, e300: Moved common register names to radio namespace"

With register correction, transmit and LED behaviour performs as
expected.

Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2015-08-10 17:39:10 -07:00
Nicholas Corgan
377850c969 e300: added -DE300_FORCE_NETWORK flag to CMake configuration
* Fixes building E300 support in native mode on any Linux system with libudev headers
* Added E300_NATIVE check to e300_common.cpp
* Improved network mode documentation
2015-08-10 11:01:43 -07:00
Martin Braun
c2827e9a0b x300, e300: Moved common register names to radio namespace
This preps the code for merging common registers altogether.
2015-08-07 10:35:06 -07:00
Martin Braun
3a7420fc4f e300: Made network mode not crash when attempting to user filter API 2015-08-06 18:30:11 -07:00
Martin Braun
c2cf9c30f6 e300: Fix lacking subscriber call to update LO freq and bandsels 2015-08-06 18:07:24 -07:00
Martin Braun
b6d594ebc7 fixup! e300 + cmake merge conflict resolution 2015-07-29 21:24:28 -07:00
Moritz Fischer
1cac345b5c gps: gpsd: Adding gpsd_iface to interface with gpsd.
The gpsd_iface class might be useful for more than just e3x0,
it therefore belongs into lib/usrp instead of lib/usrp/e300.

A new UHD component is being registered, to cope with the additional
dependency. If libgps is not found, UHD and E300 will be compiled
without GPS support.

This has several consequences:
- The E310 GPSDO should now work transparently over network
- Users can use the GPS through gpsd for other applications
  *while* running UHD applications
- We now have a dependency on libgps

We need currently at least version 3.11 (while running 3.14),
on the device. Older versions do work if 3.10 runs on both
sides e.g

Reviewed-by: Martin Braun <martin.braun@ettus.com>
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
2015-07-29 18:13:45 -07:00
Martin Braun
948d3e7094 cores: Moved subtree populate code to DSP cores (X3x0, E310) 2015-07-29 16:50:34 -07:00
Martin Braun
863648f52e cores: Moved subtree populate code to frontend cores 2015-07-29 16:50:34 -07:00
Martin Braun
9ee68e5323 e300: Perif setup vs. prop tree separation refactoring 2015-07-29 16:50:34 -07:00
Martin Braun
9813505968 ad9361/b200/e300: Refactored AD936x + perifs management
- Created AD936x manager class
- Moved functionality from B2x0 and E310 into manager
- Separated property tree + perifs initialization in both device classes
2015-07-29 16:50:34 -07:00