Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
74bda9d
Moved docs generation page to the top index tree.
Arnius Apr 22, 2026
456ab2b
DOCS: changed doxygen documentation mainpage and reconfigured cmake p…
Arnius Apr 22, 2026
e718874
Ported SDRdevice API quivalents and examples to doxygen.
Arnius Apr 22, 2026
a97c669
Ported LMS API (legacy) pages to doxygen.
Arnius Apr 22, 2026
fae825d
Fix
Arnius Apr 22, 2026
39c5258
DOCS Formated sdrdevice quivalents table.
Arnius Apr 23, 2026
364fe33
DOCS: Fixed broken SDRDevice API member links.
Arnius Apr 23, 2026
3d864b3
DOCS: Added missing referneces to SDRDevice equivalents.
Arnius Apr 23, 2026
7c6a848
DOCS: formating
Arnius Apr 23, 2026
7fb0a2a
Ported dev_tools/asan to doxygen.
Arnius Apr 23, 2026
f223f37
DOCS: ported deb packages page to doxygen
Arnius Apr 23, 2026
77fd9c2
DOCS: ported ubsan page to doxygen
Arnius Apr 23, 2026
49a87e0
DOCS: ported valgrind page to doxygen
Arnius Apr 23, 2026
ea1574c
DOCS: ported GUI tool to doxygen.
Arnius Apr 23, 2026
3b34a41
Moved gui tool images to global doxygen image folder
Arnius Apr 23, 2026
970d775
DOCS: Ported radioconda index and env setup pages to doxygen.
Arnius Apr 23, 2026
2e1b101
DOCS: Ported limesuiteng conda recipe to doxygen.
Arnius Apr 23, 2026
8665ac4
DOCS: Ported gnuradio plugin conda recipe page to doxygen.
Arnius Apr 23, 2026
c4b8703
DOCS: Ported conda metapkg recipe page to doxygen.
Arnius Apr 24, 2026
fff048a
DOCS: added missing index files
Arnius Apr 24, 2026
171684b
DOCS: renamed doxygen folder to limesuiteng_api to reflect the actual…
Arnius Apr 24, 2026
7a9e20d
DOCS: Moved images from developer/limesuiteng_api to developer/ branch.
Arnius Apr 24, 2026
2a59237
DOCS: Updated doxygen image path.
Arnius Apr 24, 2026
39c71e3
DOCS: Merged SDRDevice API pages into LimeSuiteNG API reference page.
Arnius Apr 24, 2026
02762f4
DOCS; updated limesuiteng_api index files.
Arnius Apr 24, 2026
3b9b18c
DOCS: updates to developer/ and developer/limesuiteng_api index files.
Arnius Apr 24, 2026
b56734f
DOCS: added index files for developer/distribution page.
Arnius Apr 24, 2026
d2a948f
DOCS: Moved radioconda to distribution page
Arnius Apr 24, 2026
7f34a2a
DOCS: updated index tree with distribution page.
Arnius Apr 24, 2026
9970fbc
DOCS: index tree fixes.
Arnius Apr 24, 2026
f6c470f
DOCS: moved gui tool page to a standalone page and updated the tools …
Arnius Apr 24, 2026
60d082c
DOCS: Text formating fixes.
Arnius Apr 24, 2026
02bf84a
DOCS: Fixed sphinx index files.
Arnius Apr 24, 2026
2d0a65a
DOCS: Updated sphinx documentation build scripts.
Arnius Apr 24, 2026
2d6911f
DOCS: removed hard-coded sphinx manual pages for developer guide page.
Arnius Apr 24, 2026
430ce5c
DOCS: Sphinx configuration update.
Arnius Apr 24, 2026
fda3028
DOCS: Sphinx build fixes.
Arnius Apr 24, 2026
3f42e47
DOCS: More sphinx build fixes.
Arnius Apr 24, 2026
3d534ba
DOCS: fixes.
Arnius Apr 27, 2026
2b61f7b
DOCS: Fixed missing links in developer/tools index.
Arnius Apr 27, 2026
2bd77ae
DOCS: Removed end devices nodes from communication flowchart.
Arnius Apr 28, 2026
3c9cb29
DOCS: removed all communication flowchart connections.
Arnius Apr 28, 2026
dedfcfb
DOCS: Updated communications flowchart node interconnections.
Arnius Apr 28, 2026
900d8cc
DOCS: added developer/Introduction page index page.
Arnius Apr 28, 2026
e288baf
DOCS: Provided a summary for control communications flowchart.
Arnius Apr 28, 2026
c150a6c
DOCS: Fixes to index files and control communication flowchart summary.
Arnius Apr 28, 2026
70acc9d
DOCS: typo fix.
Arnius Apr 28, 2026
792dabe
DOCS: Updated the description of control communciation flowchart.
Arnius Apr 29, 2026
955dc24
Fix
Arnius Apr 29, 2026
d605f13
DOCS: Added class diagram for SDR devices
Arnius Apr 29, 2026
0e5827d
Diagram fix
Arnius Apr 29, 2026
803dd47
DOCS: Added a page that describes the device class diagram.
Arnius Apr 29, 2026
cc59150
DOCS: Added device class page to sphinx index.
Arnius Apr 29, 2026
a09ddad
Typo fixes.
Arnius Apr 29, 2026
97506d9
DOCS: Added initial page for Device registry class diagram.
Arnius Apr 29, 2026
3813178
DOCS: Added device registry class diagram
Arnius Apr 29, 2026
2d01b1d
DOCS: Added warnings about currently missing conda packages on all pl…
Arnius Apr 29, 2026
095a11d
DOCS: Typo fix.
Arnius Apr 30, 2026
fa4de32
DOCS: Added description for device registry class daigram.
Arnius Apr 30, 2026
a626531
DOCS: Added intial page for streaming class diagram.
Arnius Apr 30, 2026
92e6107
DOCS: index fixes.
Arnius Apr 30, 2026
1106c0c
DOCS: Added streaming diagram description.
Arnius Apr 30, 2026
e6af324
DOCS: Simplified Device Registry class diagram description.
Arnius Apr 30, 2026
1085dab
DOCS: Updated streaming class diagram
Arnius Apr 30, 2026
208afce
removed old device class diagram
Arnius Apr 30, 2026
468c26e
DOCS: simplified device class diagram description.
Arnius Apr 30, 2026
0a72920
Fixes.
Arnius Apr 30, 2026
c035707
DOCS: Updated communication control diagram summary.
Arnius May 4, 2026
defda15
DOCS: Updated the index of developer/introduction.
Arnius May 4, 2026
97558e9
Typo fix.
Arnius May 4, 2026
45d4925
DOCS: Simplified the streaming class diagram summary.
Arnius May 4, 2026
80f13a3
Fixes.
Arnius May 4, 2026
d3d940d
DOCS: Cleaned up device class diagram summary.
Arnius May 4, 2026
959de5c
Typo fix.
Arnius May 4, 2026
27e8f87
DOCS: Updated diagrams summary in developer/ index page.
Arnius May 4, 2026
14d669b
DOCS: Added missing link to windows radioconda env set up.
Arnius May 4, 2026
7bdb2db
DOCS: Added CSR interface to API list.
Arnius May 4, 2026
4c678c4
DOCS: included CSR interface provided register R/W functions to API l…
Arnius May 4, 2026
e269e59
DOCS: Fixed parameter description for ICSR::ioWrite64 function.
Arnius May 4, 2026
501634c
DOCS: Added a brief example section about CSR interface access.
Arnius May 4, 2026
4232a5e
DOCS: Added limeCSR utility description
Arnius May 4, 2026
a2a95bf
DOCS: Added description of limePPSDO utility.
Arnius May 4, 2026
7363b32
DOCS: format fixes
Arnius May 4, 2026
26d7a6f
DOCS: formating fixes
Arnius May 4, 2026
6a138fe
Squashed commit of the following:
Arnius May 4, 2026
6f62cff
DOCS: developer/distribuition index summary fix.
Arnius May 4, 2026
b74c963
Clang formating fixes.
Arnius May 4, 2026
5aa48ad
DOCS: Fixed notes regarding namespace use, when calling library funct…
Arnius May 5, 2026
803deb5
DOCS: Simplified NCO control section title
Arnius May 5, 2026
67358a6
DOCS: Removed Asan page and replace the page link with link to Asan d…
Arnius May 5, 2026
7cc0d17
DOCS: Removed UbSan page and replaced page link with link to UbSan do…
Arnius May 5, 2026
4833956
DOCS: Removed redundant documentation form Valgrind page.
Arnius May 5, 2026
2716782
DOCS: Simplified valgrind page limitations section paragraphs.
Arnius May 5, 2026
8b52fe4
DOCS: Fixed developer/tools/ index tree.
Arnius May 5, 2026
aa5347c
DOCS: Replace diabian packaging page with link to the actual document…
Arnius May 5, 2026
5b529e5
Typo fix.
Arnius May 5, 2026
577fecc
DOCS: simplified device registration paragraph.
Arnius May 6, 2026
d46f6d4
Typo fix
Arnius May 6, 2026
93f541e
Fix for receiver timestamp paragraph
Arnius May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Deploy docs to Cloudflare

on:
push:
branches: [develop]
pull_request:
branches: [develop]

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
name: Deploy to Cloudflare Pages
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install OS dependencies
run: |
sudo apt-get update
sudo apt-get install -qq doxygen graphviz
cd ${{ github.workspace }}
sudo ./install_dependencies.sh

- name: Set up Python venv
uses: actions/setup-python@v5
with: { python-version: "3.13" }

- name: Install Python dependencies
run: |
pip install -r docs/requirements.txt

- name: Generate documentation
run: |
cd ${{ github.workspace }}/docs
./generate_docs.sh rebuild

- name: Deploy to Cloudflare Worker
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CF_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT }}
wranglerVersion: "4"
command: ${{ github.event_name == 'pull_request' && 'versions upload' || 'deploy' }}
50 changes: 0 additions & 50 deletions .github/workflows/documentation.yml

This file was deleted.

49 changes: 0 additions & 49 deletions .github/workflows/pages-deployment.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ venv/
__pycache__
node_modules/
package-lock.json
.wrangler

# Sphinx
_build
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ endif()
option(BUILD_DOCS "Generate documentation" ON)
add_feature_info("BUILD_DOCS" BUILD_DOCS "Build documentation")
if(BUILD_DOCS)
add_subdirectory(docs/developer/doxygen)
add_subdirectory(docs/developer/)
endif()

#########################################################################
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def _read_local(path: Path) -> str:
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['node_modules', 'venv', '_build', 'Thumbs.db', '.DS_Store', 'developer/Introduction/*']
exclude_patterns = ['node_modules', 'venv', '_build', 'Thumbs.db', '.DS_Store']

# -- Project config and MyriadRF styling --------------------------------------

Expand Down Expand Up @@ -211,7 +211,7 @@ def _read_local(path: Path) -> str:
## Extensions updated also

breathe_projects = {
"Lime Suite NG" : ( "../build/docs/developer/doxygen/xml" )
"Lime Suite NG" : ( "../build/docs/developer/xml" )
}

breathe_default_project = "Lime Suite NG"
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -879,7 +879,8 @@ WARN_LOGFILE =
# Specified INPUT path are relative to docs/doxygen directory.

INPUT = @PROJECT_SOURCE_DIR@/src/include @PROJECT_SOURCE_DIR@/src/comms/SPI/ISPI.h @PROJECT_SOURCE_DIR@/src/comms/II2C.h
INPUT += @PROJECT_SOURCE_DIR@/docs/developer/doxygen
INPUT += @PROJECT_SOURCE_DIR@/docs/developer
INPUT += @PROJECT_SOURCE_DIR@/src/comms/ICSR.h

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -975,7 +976,9 @@ EXCLUDE_SYMBOLS =
# that contain example code fragments that are included (see the \include
# command).

EXAMPLE_PATH =
EXAMPLE_PATH = @PROJECT_SOURCE_DIR@/src/examples
EXAMPLE_PATH += @PROJECT_SOURCE_DIR@/.conda/metapkg
EXAMPLE_PATH += @PROJECT_SOURCE_DIR@/cli

# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
Expand All @@ -995,7 +998,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).

IMAGE_PATH = @PROJECT_SOURCE_DIR@/docs/developer/doxygen/images/
IMAGE_PATH = @PROJECT_SOURCE_DIR@/docs/developer/images/

# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
Expand Down
40 changes: 40 additions & 0 deletions docs/developer/Introduction/comms.dox
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/**
* @page library_ctrl_comms Control communication
*
* @if RST_SUPPORT
* @embedRstVerbatim{
*
* .. mermaid:: comms.mmd
*
* }
* @else
* @image{inline} html control_comms_fwch.png
* @endif
*
* @section ctrl_comms_summary Summary
*
* All supported SDR device class implementations use the virtual serial interface ``ISerialPort`` to
* control and configure device registers. The virtual serial interface provides the base communication
* functions, which must be overriden by each device class implementation.
*
* Lime Suite NG supported SDR devices override the virtual serial interface at the device registration step.
* Each device class implementation will override the functions with one of the following supported serial
* interface implementations:
*
* - ``PCIE_CSR_Pipe`` - serial interface for communicating with PCIe interface based SDR devices.
* - ``FTDI_SerialPort`` - serial interface for communicating with USB interface based SDR devices, that use FT6xx USB chip.
* - ``FX3_SerialPort`` - serial interface for communicating with USB interface based SDR devices, that use FX3 USB chip.
*
* Each implementation of the serial interface communicates with a device through a communication
* library port. A communication library port implements control, configuration and mass data transfer functions
* for a class of devices. Communication library port implementation relies on communication library API, which
* provides a set of functions that can be used to interact with device driver and thus with the device hardware.
*
* @subsection ctrl_comms_fwch_legend Flowchart legend
*
* Link definitions:
*
* - Dotted-line arrow - Inheritance. (Arrow head points to the child)
* - Solid-line arrow - Access call.
*
*/
85 changes: 28 additions & 57 deletions docs/developer/Introduction/comms.mmd
Original file line number Diff line number Diff line change
@@ -1,32 +1,4 @@
flowchart LR
subgraph End devices
subgraph USB devices
subgraph SDR["LimeSDR components"]
LMS7002M_SDR[LMS7002M]
FPGA_SDR[FPGA]
end
subgraph SDRMini["LimeSDR-Mini components"]
LMS7002M_Mini[LMS7002M]
FPGA_Mini[FPGA]
end
end
subgraph PCIe devices
subgraph X3[LimeSDR X3 components]
FPGA_X3[FPGA]
LMS7002M_X3["LMS7002M"]
end
subgraph XTRX[LimeSDR XTRX components]
FPGA_XTRX["FPGA"]
LMS7002M_XTRX["LMS7002M"]
end
subgraph MMX8[LimeSDR MMX8 components]
ADF4002_MMX8["ADF4002"]
FPGA_MMX8["FPGA"]
LMS7002M_MMX8["LMS7002M"]
end
end
end

subgraph Communication libraries
subgraph USB
subgraph UNIX
Expand All @@ -42,33 +14,32 @@ flowchart LR
end
end

%% PCIe
ISPI-.->LMS64C_ADF_Over_PCIe_MMX8 & IComms & SlaveSelectShim
IComms-.->LMS64C_LMS7002M_Over_PCIe & LMS64C_FPGA_Over_PCIe & LMS64C_LMS7002M_Over_PCIe_MMX8 & LMS64C_FPGA_Over_PCIe_MMX8

SlaveSelectShim-->|X3 only|IComms

LMS64C_LMS7002M_Over_PCIe & LMS64C_FPGA_Over_PCIe-->|X3 & XTRX|PCIE_CSR_Pipe
LMS64C_LMS7002M_Over_PCIe_MMX8 & LMS64C_ADF_Over_PCIe_MMX8 & LMS64C_FPGA_Over_PCIe_MMX8-->|MMX8|PCIE_CSR_Pipe

ISerialPort-.->PCIE_CSR_Pipe
PCIE_CSR_Pipe-->LimePCIe-->limepcie

limepcie-->|XTRX|XTRX
limepcie-->|X3|X3
limepcie-->|MMX8|MMX8

%% USB
IComms-.->LMS64C_FPGA_Over_USB & LMS64C_LMS7002M_Over_USB-->USB_CSR_Pipe
ISerialPort-.->USB_CSR_Pipe

USB_CSR_Pipe-.->USB_CSR_Pipe_Mini & USB_CSR_Pipe_SDR
USB_CSR_Pipe_SDR-->FX3
USB_CSR_Pipe_Mini-->FT601

FX3-->|On Windows|Cypress-->SDR
FT601-->|On Windows|FTD3XX-->SDRMini
FX3 & FT601-->|On UNIX|libusb
subgraph Lime Suite NG library
direction LR
subgraph Virtual interfaces
ISerialPort
end
subgraph Interface implementations
PCIE_CSR_Pipe
FTDI_SerialPort
FX3_SerialPort
end
subgraph Communication library ports
LimePCIe
FT601
FX3
end
end

libusb-->|Using FT601|SDRMini
libusb-->|Using FX3|SDR
%% Lime Suite NG library subgraph interconnections
ISerialPort-.->PCIE_CSR_Pipe & FTDI_SerialPort & FX3_SerialPort
PCIE_CSR_Pipe-->LimePCIe
FTDI_SerialPort-->FT601
FX3_SerialPort-->FX3

%% Global interconnections
LimePCIe-->limepcie
FT601-- Windows -->FTD3XX
FX3-- Windows -->Cypress
FT601-- Unix -->libusb
FX3-- Unix -->libusb
14 changes: 0 additions & 14 deletions docs/developer/Introduction/comms.rst

This file was deleted.

Loading
Loading