Commit Graph

7144 Commits

Author SHA1 Message Date
Aki Tomita
9b78b7dbf4 docs: fixing the readthedocs builds 2023-11-10 16:01:01 -06:00
Martin Anderseck
9aba0832a7 doc: Add dual-rate documentation
This adds the documentation for the dual-rate feature.
2023-11-10 11:29:37 -06:00
mkoop
e547a6bba3 doc: x440: Highlight new X440 features and replay block behavior changes 2023-11-09 07:55:58 -06:00
Aki Tomita
0c4637aba8 Update to changelogs 2023-11-06 18:20:00 -06:00
Virendra Kakade
d6608fc4d0 fixup! examples: L band capture example using dual rate 2023-11-02 08:30:45 -05:00
michael-west
4cecc1e15a tests: Add tests for module_serial field
Added test to verify existence of the module_serial field and value to
multi_usrp_test.

Signed-off-by: michael-west <michael.west@ettus.com>
2023-11-01 20:45:06 -05:00
michael-west
aa161c5aad multi_usrp: Added module_serial to info
Added 'module_serial' field to retured value of
multi_usrp::get_usrp_rx_info() and multi_usrp::get_usrp_tx_info() API
calls that provides the module serial number.

Signed-off-by: michael-west <michael.west@ettus.com>
2023-11-01 20:45:06 -05:00
michael-west
d1797a2a49 cmake: Fix make_x410 and make_x440 targets
Only the make_x4xx target existed and did not actually run any tests.
Added correct mapping for make_x410 and make_x440 devtest targets.
Removed make_x4xx target.

Signed-off-by: michael-west <michael.west@ettus.com>
2023-11-01 20:45:06 -05:00
Aki Tomita
c2dd6c1d99 Prepare for 4.6.0.0 release
- Updated version string
- Updated CHANGELOG
- Updated Debian-related files
- Updated images package
2023-10-30 21:50:18 -05:00
Virendra Kakade
33a869892f examples: L band capture example using dual rate
This example demonstrates the simultaneous capture of the entire L-band
which extends from 1 GHz to 2.4 GHz using one channel on each of the two
radios using the dual rate feature. This is supported ionly on the X440 device.
Read the comments in the example for details.

Does the following:
- Sets up connections in rfnoc graph
- Configures radios and dual replay blocks
- Synchronously captures data and streams to replay block
- Fetches data to host and plots a windowed FFT.
- Repeat.

Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
Co-authored-by: Martin Anderseck <martin.anderseck@ni.com>
2023-10-27 15:43:18 -05:00
Martin Braun
05c1ae3025 lib: x4xx: Use auto clock ID in x400_radio_control
This updates the block registry for x400_radio_control to query the
clock information from the FPGA/MPM. This will require an up-to-date
bitfile and MPM.

If the bitfile is not up-to-date, there will be an error message asking
the user to update the bitfile. If MPM is not up to date, it will fail
to detect clock indices '4' and '5'.
2023-10-27 14:53:19 -05:00
Wade Fife
410d315899 docs: x440: Add X440_X4_200 to image flavors 2023-10-25 09:44:29 -05:00
Wade Fife
b5cfab8922 fpga: x400: Split DRAM interface into two banks
This updates the RFNoC image cores to separate the two DRAM banks on
X4xx by splitting them into "dram0" and "dram1". Previously, both DRAM
banks shared the same DRAM port, named "dram", which created some
confusion.

The Replay block has also been duplicated in the bitstreams that use
both banks, so we now have one Replay block per bank.
2023-10-24 13:03:41 -05:00
Martin Braun
f215af2ccd x4xx: Add support for auto clock ID
- Update X410 and X440 BSP YAML files to properly index clocks
- Update image core files to declare clock indices
- Update get_clocks() in MPM to return the correct values

This does not include changes to the x400_radio_control block registry.
This change by itself will thus not change behaviour.
2023-10-20 07:30:16 -05:00
Martin Braun
78c360f772 lib: rfnoc: Add support for auto-clock discovery
During creation of the RFNoC graph, the block registry is queried to
identify the clocks used for timebase and control. This adds the option
to ask the FPGA instead (via backend interface).
2023-10-19 13:36:57 -05:00
Martin Braun
26e7e7226e lib: rfnoc: Add clock info fields to client zero
- Allow client zero to read clock info fields from backend interface
2023-10-19 13:36:57 -05:00
Wade Fife
ab93cb0929 fpga: x400: Add CE clock
Adds a 266.667 MHz compute engine clock and uses it instead of the
radio clock for the DDC and DUC. Using a faster clock than the radio
allows the DDC and DUC to drain after a stall in the data flow.
2023-10-18 22:23:55 -05:00
Wade Fife
ff55d406a0 fpga: n3xx: Add CE clock
Adds a 266.667 MHz compute engine clock and uses it instead of the
radio clock for the DDC and DUC. Using a faster clock than the radio
allows the DDC and DUC to drain after a stall in the data flow.
2023-10-18 22:23:55 -05:00
Martin Braun
754813b0d6 rfnoc: image builder: Add clock index support to image builder
- Image core files can now provide timebase_clock and ctrl_clock fields
  to blocks, which will populate the backend interface accordingly.
- Clocks ports now have a direction associated (in, out).
2023-10-17 10:24:15 -05:00
Martin Braun
58c0276ff1 fpga: rfnoc: Add clock info to backend ifc
- Adds 6 bits each for an identifier for timebase and control clock
- Update all mako templates accordingly
2023-10-17 10:24:15 -05:00
Matthew Crymble
30f3dad38f utils: init device with gpsdo sources in query_gpsdo_sensors
When query_gpsdo_sensors creates a multi_usrp object with no additional device args,
it initializes the device using clock_source and time_source values of 'internal'.
Later, it sets them to 'gpsdo'.  Since the x4xx devices put the GPSDO module in
reset when not being used, it takes several minutes to re-establish a GPS lock
after selecting the 'gpsdo' clock/time sources. By creating the multi_usrp object
using clock/time source values of 'gpsdo', the GPSDO isn't disabled and re-enabled
each run and the GPSDO is able to get a lock after enough time passes.
2023-10-12 12:57:25 -07:00
Aki Tomita
1c098cbb01 deb: copyright file update to eliminate errors and warnings 2023-10-10 12:44:51 -07:00
Virendra Kakade
36f6c11ef3 mpmd: fix timekeeper misalignment
Change the syrnchronization order to be following:
- Run the MTS (multi-tile sync) procedure
- Run the timekeeper alignment to next_pps edge
- Run the post timekeeper alignment steps (none for now)

This ensures that any effects caused due to delay adjustments which are
part of the MTS procedure do not affect timekeeper alignment.
Without this change timekeepers on two X4xx devices would be mis-aligned
slightly in a multi-device scenario.

Note that setting all timekeepers to a common time_spec on the next_pps
as a part of post-initialization application code will still align them perfectly.

Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2023-10-09 11:01:28 -07:00
Virendra Kakade
effd938bc1 fixup! rfnoc: Enable SEP throttle register 2023-09-22 09:32:59 -05:00
mkoop
c13f5bd317 docs: X440: Corrected web link syntax in FBX doc. 2023-09-18 08:10:31 -05:00
mkoop
8356a11d05 docs: X440: Add FBX to daughterboard list 2023-09-18 08:10:31 -05:00
Aki Tomita
471af98f6b 4.5.0.0 Release 2023-09-11 14:12:35 -05:00
Martin Anderseck
512f6787d8 SelfCal: Lower threshold for signal recognition
Initially the threshold was suitable for the cal tone at the original
frequency of 100 MHz. Since this was changed and because it can be
configured via the cal_freq parameter anyway we need to take care to
allow lower input levels that we might have at different frequencies.
In addition we know that for the background calibration of the chip a
signal of >=-46 dBm is required, so by using -20 dBm (which corresponds
to the 14-bit dbFS value of 1465) we still have some margin to recognize
any broken components.
2023-09-06 18:39:25 -05:00
Virendra Kakade
8fb48ad48d SelfCal: improve fbx input spur performance
Modify the cal_freq used in the calibration procedure by X440 devices
which use the FBX daughterboard. The new value obeys the rules that are
specified mainly in the PG269 to help the background calibration (BG)
run under better conditions and hence improve our input spur performance.

Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
Co-authored-by: Volkan Öz <volkan.oez@ni.com>
2023-09-06 18:39:25 -05:00
Grant Meyerhoff
66b9933a86 devtest: remove API calls that now error 2023-09-06 10:09:36 -05:00
Grant Meyerhoff
5da051fffa x4xx: pass reboot mpm command to host on new clock config for x440 2023-09-06 10:09:36 -05:00
Grant Meyerhoff
43f48152a3 mpmd: allow for mpm device to tell host to reboot mpm 2023-09-06 10:09:36 -05:00
Grant Meyerhoff
78156eabfa mpm: move pop_host_tasks to PeriphManagerBase
Move pop_host_tasks function call from just x4xx to all MPM devices so it can be safely called from mpmd_mboard_impl
2023-09-06 10:09:36 -05:00
mkoop
e93c9a119e docs: x440: Fixed incorrect use of paragraph elements
Replaced newly added paragraph with subsubsection elements that resulted into
an as warning declared build error when buildin on readthedocs.
The build service still uses doxygen 1.8.13, which failed to include content
into the generated html after the warning was reported. Newer version of
doxygen also report the warning/s but continue including content.
2023-09-06 09:18:06 -05:00
Aki Tomita
2815e548db docs: update remote streaming supported version 2023-09-05 15:29:16 -05:00
Aki Tomita
9fb9d79d85 Prepare for 4.5.0.0 release
- Updated version string
- Updated CHANGELOG
- Updated Debian-related files
- Updated manifest
2023-08-31 17:04:08 -05:00
mkoop
6d3e72e220 docs: x440: Added FBX to UM daughterboards page
Added short paragraph to daughterboards page and linked in
FBX subpage from USRP X4x0 Series pages.
2023-08-31 15:31:12 -05:00
mkoop
148e29edea docs: x440: Extend X4x0 Usage Manual for x440
- Extended FPGA Image Flavors sections
- Extended MCR and Converter Rates section
- Added Page for FBX daughterboard
- Added FBX_simplified_blockdiagram.png that is referenced by
  FBX daughterboard page and represents one transceiver chain.
- Added known issue regarding need for restarting MPM when mcr is
  changed and potential of dynamic QSFP28 configurations may getting
  lost.
2023-08-31 15:31:12 -05:00
michael-west
f2b5e9cd1e MPM: Normalize name for gps_locked sensor
Change all references to "gps_lock" to "gps_locked" for consistency
across the code base.  Fixes incorrect use of "gps_lock" for the sensor
name on X4xx.

Signed-off-by: michael-west <michael.west@ettus.com>
2023-08-31 15:19:12 -05:00
Javier Valenzuela
4eaf31efd5 fixup! docs: Improve documentation on timekeepers 2023-08-29 14:45:02 -05:00
Martin Braun
5a6e18d175 docs: Improve documentation on timekeepers
- Add section on X4x0 devices, explaining that X440 has 2 timekeepers
- Expand docs on mb_controller::timekeeper
- Provide more context on multi_usrp time-related calls
2023-08-29 14:45:02 -05:00
Martin Braun
006213b101 lib: rfnoc: Fix linter issue regarding virtual dtor 2023-08-29 14:45:02 -05:00
Martin Braun
2220c32c40 docs: Add page on timed commands 2023-08-29 14:45:02 -05:00
Grant Meyerhoff
174685d08c docs: add updated msgpack rpc package
There is an updated msgpack rpc python package that builds off the previous one for users requiring tornado version >= 6
2023-08-29 09:24:12 -05:00
Aki Tomita
261f6ec1df tests: fix when the rx cmd's stream_now is set 2023-08-24 19:59:44 -05:00
Grant Meyerhoff
51e6ebeae6 docs: add python package requirement for usrpctl MPM reset 2023-08-24 19:59:13 -05:00
Grant Meyerhoff
3f2d681de0 docs: fix typo and consistency in usrpctl docs 2023-08-16 14:50:11 -05:00
Lars Amsel
561d622a16 host: doc: Add documentation for tertiary, quaternary QSFP adapter 2023-08-16 14:45:50 -05:00
Martin Braun
ebd5dd03cf Apply clang-formatting to all C/C++ files
- Used clang-format version 14
- Ran ./tools/clang-formatter.sh apply
2023-08-07 15:35:56 -05:00
Martin Braun
030678a7f6 Modify files for treatment with clang-format
Some files in the source tree need some treatment before clang-format
can automatically be applied to all files.

This commit adds some 'clang-format off' statements and some manual
pre-formatting in order to not cause havoc when clang-format is applied
to the entire source tree.
2023-08-07 15:35:56 -05:00