Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update stable branch for tagged release #112

Merged
merged 254 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
a5263a1
Fix LimeSDR Mini RF switches config
rjonaitis Aug 19, 2024
1b2a332
update limesdr mini firmware info readback
rjonaitis Aug 19, 2024
7592481
differentiate LimeSDR-mini and LimeNET-Micro boards
rjonaitis Aug 19, 2024
ef64efb
fix compatibility with cmake 3.16.3
rjonaitis Aug 19, 2024
9fdd2a7
Fix MSVC build. Forward declaration of struct as class caused linking…
rjonaitis Aug 19, 2024
a935d96
Fix Fairwaves XTRX rev.5 default LMS7002M register values.
rjonaitis Aug 20, 2024
a0b83fc
Fix Tx only stream setup
rjonaitis Aug 20, 2024
9d371a4
LimePlugin: if device handle is not specified use any single availabl…
rjonaitis Aug 21, 2024
f8bbdab
Fix #85 gain calibration.
rjonaitis Aug 21, 2024
79831e7
limepcie: Allow to enumerate devices without DMA channels
rjonaitis Aug 21, 2024
8ec583c
lms7002m: Fix #84 TRF PAD gain value overflow
rjonaitis Aug 22, 2024
23b0a90
Fix automatic oversampling selection for LimeSDR Mini and XTRX
rjonaitis Aug 22, 2024
ca8b572
Add gateware version checks for Fairwaves XTRX rev.5
rjonaitis Aug 23, 2024
cca28bd
fix xtrx fpga direct clocking version check
rjonaitis Aug 23, 2024
6d139cd
Fix #99 chip channel selection when setting generic gains
rjonaitis Aug 25, 2024
6ab656f
Move data streaming related files into dedicated directory
rjonaitis Aug 26, 2024
68b4499
Remove 'using namespace' pollution from headers
rjonaitis Aug 26, 2024
82b6ed8
Fix tests build
rjonaitis Aug 27, 2024
1cae713
xtrx: update antenna matching network ranges
rjonaitis Aug 27, 2024
18c2094
Fix limeTRX build with GNU plot
rjonaitis Aug 27, 2024
f44a162
Fix Tx gain change modifying FPGA data interface frequency.
rjonaitis Aug 27, 2024
ad11af3
lms7002m: fix gfir coefficients generation when oversampling is x1(by…
rjonaitis Aug 28, 2024
16276b3
limeFLASH add message to notify that device power cycle is required t…
rjonaitis Aug 29, 2024
f3f4cab
Set Tx CG_IAMP_TBB gain only based on Tx LPF bandwidth
rjonaitis Sep 1, 2024
59f5a43
usb: match maximum asynchronous transfers count to buffer count
rjonaitis Sep 1, 2024
22a9bcc
calculate Tx timestamps stats even if Rx stream was not requested
rjonaitis Sep 1, 2024
c9e14a5
fix formatting
rjonaitis Sep 3, 2024
6916590
Redirect board memory read/write to EEPROM type by default
rjonaitis Sep 3, 2024
dec2411
xtrx: fix non volatile VCTCXO_DAC value writing.
rjonaitis Sep 3, 2024
51e1657
lms7002m: after chip reset configure LPF and CG_IAMP_TBB value to hav…
rjonaitis Sep 3, 2024
c3ad914
legacyWrapper: simplify and improve streams handling
rjonaitis Sep 4, 2024
578a073
fix FIFO push wait result when free slot appears
rjonaitis Sep 4, 2024
a04c9a4
limesdrmini: initialize device with expected CG_IAMP_TBB value for be…
rjonaitis Sep 4, 2024
340fcd2
reduce maximum asynchronous USB transfers count for better timing con…
rjonaitis Sep 4, 2024
b39f938
Add timeout parameter for StreamRx/Tx operations
rjonaitis Sep 4, 2024
1f0a3ff
Change Transmitting packets size and count to be compatible with gate…
rjonaitis Sep 4, 2024
6dd4101
limesdrmini: by default disable limelight channel B, set LPF to 20MHz…
rjonaitis Sep 4, 2024
3051882
check operation status in legacy API wrapper
rjonaitis Sep 4, 2024
cb89a8a
legacyAPI: remove exceptions, return status codes
rjonaitis Sep 4, 2024
0db4b10
fix compilation: include missing header
rjonaitis Sep 6, 2024
2b3d4db
Merge branch 'legacy-wrapper-fixes' into develop
rjonaitis Sep 6, 2024
7bc62d2
fix LMS64C_ADF4002_Over_USB include guard
rjonaitis Sep 7, 2024
ecdb547
move board specific static data into unique namespaces
rjonaitis Sep 7, 2024
47c58b0
remove DSP CFR registers type ambiguity
rjonaitis Sep 7, 2024
bf3456b
remove unnecessary RF path enums
rjonaitis Sep 7, 2024
94b902d
add include guard for Soapy_limesuiteng.h
rjonaitis Sep 7, 2024
7a7c884
Add more comprehensable error message if X11 header definition of Suc…
rjonaitis Sep 7, 2024
f4b8569
Compile files including graphics headers separately to avoid unnecess…
rjonaitis Sep 7, 2024
56e69de
soapysdr: add stream timeout parameters
rjonaitis Sep 7, 2024
98b9ad8
Fix clang warnings
rjonaitis Sep 7, 2024
1b239fd
fix formatting
rjonaitis Sep 7, 2024
a783d91
enable cmake unity build
rjonaitis Sep 7, 2024
d738022
fix gnuradio plugin unity build
rjonaitis Sep 7, 2024
1392297
enable gnuradio build for ubuntu latest and MacOS
rjonaitis Sep 7, 2024
c1ed15f
gitactions gnuradio fixes
rjonaitis Sep 7, 2024
172f209
gnuradio: add pregenerated python bindings files.
rjonaitis Sep 8, 2024
865792b
Optimize header includes, use precompiled headers
rjonaitis Sep 8, 2024
dac3cf7
Fix compilation errors, disable cmake unity build in CI
rjonaitis Sep 8, 2024
2b79b09
change cli shared library link visibility
rjonaitis Sep 9, 2024
3d4b1b2
Merge branch 'cmake-unity-build' into develop
rjonaitis Sep 9, 2024
adc01e9
Fix cmake formatting
rjonaitis Sep 9, 2024
83e5e26
limeConfig: fix oversample argument parsing.
rjonaitis Sep 9, 2024
0f1007f
X8: synchronize multiple streaming groups start time
rjonaitis Sep 10, 2024
bf6642a
X8: fix xtrx subdevice initialization due to gateware not having rese…
rjonaitis Sep 10, 2024
90ab7a9
Clear fifos after stream stop
rjonaitis Sep 11, 2024
4196e99
split tests requiring actual hardware device into separate test runner
rjonaitis Sep 11, 2024
18f2b79
limepcie: return error if Rx DMA is attempted to be enabled again whi…
rjonaitis Sep 11, 2024
d73818a
legacy wrapper don't save stream config if it fails
rjonaitis Sep 11, 2024
2f8f650
extract common CLI functions, wrap them into cli namespace
rjonaitis Sep 11, 2024
9258ab8
usb: check if streaming is not repeatedly enabled
rjonaitis Sep 11, 2024
5ca6e2b
fix compiler warnings
rjonaitis Sep 11, 2024
bb9d640
Pass serialized device handle into tests to make a fresh device insta…
rjonaitis Sep 11, 2024
62d0a53
Don't disable Rx DMA when stopping stream.
rjonaitis Sep 11, 2024
6161f01
Fix TRXLooper not counting overrun packets
sergeyvfx Sep 14, 2024
fbb1b74
LMS7002M fix IAMP gain calibration if chip is configured to use exter…
rjonaitis Sep 20, 2024
c193da8
LMS7002M: don't calibrate CG_IAMP value when setting Tx LPF if custom…
rjonaitis Sep 20, 2024
fdcbeb0
remove unused files
rjonaitis Sep 12, 2024
70b5408
add header files of LMS7002M hardware registers defaults
rjonaitis Sep 12, 2024
6f54ece
add LMS7002M volatile registers masks
rjonaitis Sep 12, 2024
9190e5b
lms7002m: fix NCO phase offset value calculation
rjonaitis Sep 12, 2024
a0c7eda
tests: skip MIMO streaming tests on devices that don't support it
rjonaitis Sep 19, 2024
ff53e6c
fpga: remove registers caching option, it was not designed for multi …
rjonaitis Sep 24, 2024
84c27c3
gui: remove VCO frequencies dialog, vco values are not intended to be…
rjonaitis Sep 24, 2024
cb17647
streaming: use smaller packets for better latency if gateware support…
rjonaitis Sep 24, 2024
3585bae
limeFLASH: properly free device when just listing available memory ta…
rjonaitis Sep 24, 2024
a70b8ac
limeGUI: add button to enumerate devices connected after GUI start
rjonaitis Oct 1, 2024
629f8ea
Update grc files to support lime XTRX
jsallay Oct 7, 2024
c9d8b18
limepcie: fix direct write/read to control port
rjonaitis Oct 10, 2024
0a99ede
xtrx: update vctcxo test values
rjonaitis Oct 10, 2024
7fa5130
limeOEM: fix printing of serial number
rjonaitis Oct 10, 2024
82cdcd7
gr-limesdr: don't close devices if configuration error occurs, otherw…
rjonaitis Oct 15, 2024
61a557f
remove extra semicolons to make old compilers happy
Gluttton Oct 19, 2024
d1ea8ab
X8: fix stream stopping hang.
rjonaitis Oct 25, 2024
e66f6c9
Batch more Tx packets based on sampling rate
rjonaitis Oct 25, 2024
645b806
remove XSDR board placeholder
rjonaitis Oct 13, 2024
09bc38a
Add RFStream samples transfering interface.
rjonaitis Oct 31, 2024
5fa36be
add calibration device description to config file example
rjonaitis Oct 31, 2024
56ecd9b
Allow deffered addition of streams to stream composite
rjonaitis Nov 6, 2024
d0df4d0
limeOEM: add interactive mode
rjonaitis Aug 27, 2024
42c37c6
Add deprecate tags on remaining stream functions
rjonaitis Nov 13, 2024
6df6d50
cmake: add function for creating targets to build kernel modules
rjonaitis Nov 18, 2024
15996bf
limeuart: add linux kernel module for UART
rjonaitis Nov 18, 2024
4f0ae6e
limeuart: fix infinte loop when attempting to recevie from non existe…
rjonaitis Nov 19, 2024
d5bbd19
limeuart: add module version info
rjonaitis Nov 19, 2024
d6757d1
On Windows copy DLLs to binaries directory
rjonaitis Nov 20, 2024
c7ca23e
limesdr mini: set default LPF to 20MHz, set default PGA gain to 0dB
rjonaitis Nov 20, 2024
8023cde
Update Windows compilation instructions.
rjonaitis Nov 20, 2024
285df7f
limepcie: add variable count of UART channels
rjonaitis Nov 21, 2024
69c59e1
Merge branch 'RFStream-interface' into develop
rjonaitis Nov 21, 2024
520cc82
Split LMS_API Wrapper into separate library to avoid symbol collision…
rjonaitis Nov 21, 2024
3488e3f
docs: Update legacy API docs and doxygen config
rjonaitis Nov 21, 2024
80df37f
docs: fix GNU Radio doxygen config to not cause scan of the entire pr…
rjonaitis Nov 21, 2024
a28c837
Merge branch 'split-legacy-api' into develop
rjonaitis Nov 21, 2024
9d4eebd
Fix legacy API examples build
rjonaitis Nov 26, 2024
d12bd85
Fix Clang warnings
rjonaitis Nov 26, 2024
551c4d8
cmake-format
rjonaitis Nov 26, 2024
48164d9
Fix failure to allocate aligned memory on MacOS
rjonaitis Nov 26, 2024
8a36e50
Increment version due to split legacy API
rjonaitis Nov 26, 2024
ff51a82
export Devicehandle equality operator symbol
rjonaitis Nov 26, 2024
a6ebe04
Add new GNU Radio plugin template
rjonaitis Nov 21, 2024
e352438
cmake: skip creating 'uninstall' target if parent project already has…
rjonaitis Nov 22, 2024
76ff086
gr-limesuiteng: initial Sink/Source block implementation
rjonaitis Nov 26, 2024
3c65eda
gr-limesuiteng: add FM receiver example
rjonaitis Nov 27, 2024
df1db05
gr-limesuiteng: add NCO controls, remove debug values from start()
rjonaitis Nov 27, 2024
7cc12e2
gr-limesuiteng: add spectrum analyzer example
rjonaitis Nov 27, 2024
ef42fd7
gr-limesuiteng: fix crash due to QTGUI callbacks setting parameters a…
rjonaitis Nov 27, 2024
a8cfa37
gr-limesuiteng: GRC default to single channel mode
rjonaitis Nov 27, 2024
aea371f
gr-limesuiteng: remove byte format
rjonaitis Nov 27, 2024
d2a773a
gr-limesuiteng: add option to auto select antenna based on LO frequency
rjonaitis Nov 27, 2024
5d1cdb0
limesdr mini: implement FPGA gateware programming
rjonaitis Nov 28, 2024
d4d8a64
Update cliTools.rst
rktw2024 Nov 28, 2024
d592b35
uart symlinks
rjonaitis Dec 3, 2024
cfc450f
integrate limeuart into limepcie module, move drivers code into dedic…
rjonaitis Dec 3, 2024
0fe82b9
limepcie: rename uart suggested symlink attribute
rjonaitis Dec 3, 2024
718a6ef
Merge remote-tracking branch 'origin/develop' into uart
rjonaitis Dec 3, 2024
0a7740e
limepcie fix driver header include path
rjonaitis Dec 3, 2024
78db9fa
limepcie: fix install with DKMS
rjonaitis Dec 3, 2024
c816f86
limepcie: bind to Lime Microsystems Vendor ID devices
rjonaitis Dec 3, 2024
188a67e
limepcie: fix uart compilation on Ubuntu 20.04
rjonaitis Dec 3, 2024
95bd6f1
limepcie: fix uart compilation on Ubuntu 20.04
rjonaitis Dec 3, 2024
de3f593
cmake-format
rjonaitis Dec 3, 2024
dc58c7d
Merge pull request #105 from myriadrf/uart
rjonaitis Dec 3, 2024
bfff8f0
limepcie: add 'depmod' for non DKMS install procedure
rjonaitis Dec 4, 2024
860265f
CI test install step
rjonaitis Dec 4, 2024
8c416b5
cmake: verify if the installed module will actually be loaded
rjonaitis Dec 4, 2024
677ad09
xtrx: add litex based gateware GNSS test
rjonaitis Dec 9, 2024
cfdc81d
gr-limesuiteng: extract common functionality of sink/source into base…
rjonaitis Dec 9, 2024
377f540
remove gr-limesdr code
rjonaitis Dec 9, 2024
61b5518
don't build gr-limesuiteng if GNURadio is not found
rjonaitis Dec 9, 2024
64f54c5
Merge pull request #106 from myriadrf/gr-limesuiteng
rjonaitis Dec 9, 2024
ce27b89
gr-limesuiteng: Fix optional inclusion as a sub project.
rjonaitis Dec 10, 2024
e40c7ed
limepcie: add Lime Microsystem VID/PID pairs. Start with 64bit dma ma…
rjonaitis Dec 11, 2024
118a0dc
limeGUI: don't show warnings when clicked on device tree node without…
rjonaitis Dec 16, 2024
ba10d98
Fix composite stream channels timestamps alignment check
rjonaitis Dec 19, 2024
327bc0f
X3: set power amplifier gains during Configure(). Read PA DAC value f…
rjonaitis Dec 19, 2024
ebfb21e
LimePlugin: destroy streams after stop, precheck if ports have assign…
rjonaitis Dec 20, 2024
cf84691
Restructure CMakeFiles options for better build modularity
rjonaitis Dec 10, 2024
32dd774
cmake: group install operations into components
rjonaitis Dec 10, 2024
21af57e
Fix cmake board support defines
rjonaitis Dec 10, 2024
a33b0f5
add cmake options to disable unnecessary install actions for packaging
rjonaitis Dec 13, 2024
334209a
cpack: set base package information
rjonaitis Dec 15, 2024
e8b88c4
remove embedded WCDMA waveform file
rjonaitis Dec 15, 2024
514018a
Remove unmaintained docker files
rjonaitis Dec 15, 2024
8a9e16b
Add Debian packaging of multiple binary packages
rjonaitis Dec 28, 2024
1e1dc89
Add external header only libraries archives for offline build on pack…
rjonaitis Dec 28, 2024
cd41547
On Linux use GLEW system library, On Windows download and build stati…
rjonaitis Dec 28, 2024
8062e96
use kissfft shared library on Unix
rjonaitis Dec 28, 2024
e41d9b9
Fix FT601 include path for Windows
rjonaitis Dec 28, 2024
118d99e
add feature info for udev reloading, kernel module reload
rjonaitis Dec 29, 2024
a78ce90
liblimesuite: fix versioning info functions
rjonaitis Dec 29, 2024
a4be72f
Add project descriptions
rjonaitis Dec 29, 2024
f33bc81
reenable docs building
rjonaitis Dec 29, 2024
3f7a839
cmake-formatting
rjonaitis Dec 29, 2024
39e6784
Fix generated header include, add namespaced lib targets
rjonaitis Dec 29, 2024
fad136e
always build static kissfft from source archive.
rjonaitis Dec 30, 2024
5efe803
gitactions: show cmake-format diff on failure
rjonaitis Dec 30, 2024
c7f0ed2
clang-format
rjonaitis Dec 30, 2024
5714e4d
gr-limesuiteng: don't warn about missing limesuiteng, when building a…
rjonaitis Dec 30, 2024
6d51e89
udev: rename rules reload option
rjonaitis Dec 30, 2024
ddf17b6
Fix unit tests build
rjonaitis Dec 30, 2024
df3e830
Don't build GUI for tests
rjonaitis Dec 30, 2024
57b365f
Fix static lib build
rjonaitis Dec 30, 2024
2e8d57d
Merge pull request #107 from myriadrf/packaging-prep
rjonaitis Dec 30, 2024
7dfea35
fix typo in BUILD_PLUGINS_SOAPYSDR CMake option
Gluttton Jan 6, 2025
627cdc5
download GLEW only if GUI is built
Gluttton Jan 6, 2025
5473e1c
limepcie: fix building with CMake older v3.20
Gluttton Jan 7, 2025
fa8f22a
Fix development headers install
rjonaitis Jan 1, 2025
c2cd69e
fix cmake generated importer version
rjonaitis Jan 7, 2025
f4ebfda
cmake formatting
rjonaitis Jan 7, 2025
7ea8555
Add log define for SPI debugging
rjonaitis Jan 8, 2025
9663ae0
limepcie: use smaller DMA buffers on Arm platform for better performance
rjonaitis Jan 10, 2025
8109a1d
rebuild kernel module if any of the source files change
rjonaitis Jan 10, 2025
be77db5
Fix gateware flashing for limesdr mini v1.3
rjonaitis Jan 13, 2025
7ff6008
LimeSDR: Add ADF4002 to limeGUI
lifeisafractal Jan 15, 2025
8f80c61
fix complex12_t constructors access
rjonaitis Jan 16, 2025
08892cf
Fix limeplugin crash when using non equal rx tx channel count
rjonaitis Jan 16, 2025
4a7a05c
limeuart: replace circ_buf with kfifo to allow compiling for latest k…
rjonaitis Jan 17, 2025
225da9a
limeuart: fix compiling with kernel versions >=6.11
rjonaitis Jan 17, 2025
f0730cb
limeuart: fix compilation on kernels < 5.18
rjonaitis Jan 17, 2025
3b20584
clang-format
rjonaitis Jan 17, 2025
47aad66
limeplugin: Tx filter calibration option adjusts Tx gain
rjonaitis Jan 17, 2025
e730dd7
Update debian versions, dependencies
rjonaitis Jan 14, 2025
21b9874
Add debian packaging of GNU Radio limesuiteng plugin
rjonaitis Jan 14, 2025
334a2aa
Rename soapysdr plugin
rjonaitis Jan 14, 2025
a4b7fb6
Add debian packaging of SoapySDR plugin
rjonaitis Jan 14, 2025
aa45e23
Add debian packages relationship
rjonaitis Jan 14, 2025
43e901a
build packages only with SSE3 simd
rjonaitis Jan 14, 2025
4d3a8a9
update changelog
rjonaitis Jan 14, 2025
2d28766
remove API define from header, fix extra packaging version
rjonaitis Jan 14, 2025
a6b68d4
limepcie: fix git hash in version string
rjonaitis Jan 14, 2025
927e759
gr-limesuiteng: fix building as standalone project
rjonaitis Jan 15, 2025
66f19a4
cmake: print subprojects scopes
rjonaitis Jan 17, 2025
2577dc8
untrack log file
rjonaitis Jan 17, 2025
850b608
Check C++ compiler version against GNURadio used compiler.
rjonaitis Jan 17, 2025
3d5f01e
gr-limesuiteng: add GrPybind.cmake files that would allow older gnura…
rjonaitis Jan 17, 2025
2c7102c
gitaction: build gnuradio plugin using host version
rjonaitis Jan 17, 2025
485b120
Fix stream status callback not being called
rjonaitis Jan 19, 2025
88e04d7
Manualy extract external source files for offline builds
rjonaitis Jan 21, 2025
1309c7b
Archive FTD3XX library files
rjonaitis Jan 21, 2025
5a413dc
gr-limesuiteng: override cmake GrPython, to properly set python packa…
rjonaitis Jan 21, 2025
c0f190a
gitaction: add ubuntu packaging
rjonaitis Jan 21, 2025
f4730b4
gr-limesuiteng: fix OSX build
rjonaitis Jan 21, 2025
490ee78
Reuse the same LMS7002 configuring code for all boards
rjonaitis Jan 23, 2025
820d14f
fix configuration channel selection restoring
rjonaitis Jan 24, 2025
69391fd
limeplugin: add default values for structs
rjonaitis Jan 24, 2025
01f8b8e
setup appropriate codename in changelog when packaging
rjonaitis Jan 25, 2025
feec614
Limit CPU features usage to generate portable binaries
rjonaitis Jan 25, 2025
6083aef
update debian changelog using dch devscripts, produce packaging artif…
rjonaitis Jan 25, 2025
58ae354
update meta package version to calendar versioning
rjonaitis Jan 25, 2025
4520db5
Add limesuiteng prefix for all packages built from the same source
rjonaitis Jan 25, 2025
f1624ff
gitaction: configure debian variables right before build
rjonaitis Jan 26, 2025
69a7891
cleanup package dependencies
rjonaitis Jan 26, 2025
e2926a4
gitaction: don't build debug symbols for packages
rjonaitis Jan 26, 2025
2aeb8d2
fix udev packaging path
rjonaitis Jan 26, 2025
5c605ee
packaging: add individual versioning numbers for each package
rjonaitis Jan 26, 2025
56ab4ed
Add script to set debian distribution for packaging
rjonaitis Jan 26, 2025
154ebed
gitaction: disable packaging workflow for pushes and PRs
rjonaitis Jan 26, 2025
00999c6
report versions mismatch as non fatal error
rjonaitis Jan 26, 2025
c940fb7
packaging: include distribution name in package version to generate u…
rjonaitis Jan 26, 2025
7ede33d
fix recommended package
rjonaitis Jan 26, 2025
4c1258f
packaging: fix maintainer email, use git log timestamp as build time,…
rjonaitis Jan 27, 2025
30d9a71
docs: add debian packages install instructions
rjonaitis Jan 27, 2025
51e1be9
Merge branch 'debian-packaging' into develop
rjonaitis Jan 27, 2025
9ad73d6
limesdr_mini: VCTCXO DAC is 10bit on the Mini v2 board
rjonaitis Jan 27, 2025
85b8a85
Fix Mini v2 VCTCXO values range, to not allow overflow
rjonaitis Jan 27, 2025
2f69aff
Add package installation instruction to README
rjonaitis Jan 27, 2025
ae35ddc
limepcie: on install don't copy compilation artifacts into system sou…
rjonaitis Jan 27, 2025
ebed021
Make formatting check more consistent.
rjonaitis Jan 27, 2025
9cfc3eb
Don't compile kernel module when using DKMS to not pollute source dir…
rjonaitis Jan 28, 2025
83d044e
packaging: rename limepcie package to indicate dkms usage
rjonaitis Jan 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 11 additions & 8 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CMAKE_BUILD_PARALLEL_LEVEL: 2
INSTALL_PREFIX: ${{github.workspace}}/deps
CMAKE_OPTIONS: -DINSTALL_KERNEL_MODULE=0 -DENABLE_UDEV_RULES=0
CMAKE_OPTIONS:

jobs:
build-Linux:
Expand All @@ -27,9 +26,8 @@ jobs:
- uses: actions/checkout@v4

- name: Install GNURadio
if: ${{ matrix.os == 'ubuntu-22.04'}}
if: ${{ matrix.os != 'ubuntu-20.04'}} # 20.04 has GNURadio 3.8.1, it's python bindings are not using pybind11, so not compatible
run: |
sudo add-apt-repository ppa:gnuradio/gnuradio-releases
sudo apt-get update
sudo apt-get install -qq gnuradio-dev python3-packaging

Expand All @@ -39,11 +37,14 @@ jobs:
sudo ${{github.workspace}}/install_dependencies.sh

- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp }} -DCMAKE_C_COMPILER=${{ matrix.compiler.c }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{env.CMAKE_OPTIONS}}
run: cmake -B ${{github.workspace}}/build -DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp }} -DCMAKE_C_COMPILER=${{ matrix.compiler.c }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{env.CMAKE_OPTIONS}} -DCMAKE_UNITY_BUILD=false

- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel ${{env.CMAKE_BUILD_PARALLEL_LEVEL}}

- name: Install
run: sudo cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel ${{env.CMAKE_BUILD_PARALLEL_LEVEL}} --target install

build-Windows:
name: Windows build
runs-on: windows-latest
Expand All @@ -70,6 +71,9 @@ jobs:
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel ${{env.CMAKE_BUILD_PARALLEL_LEVEL}}

- name: Install
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel ${{env.CMAKE_BUILD_PARALLEL_LEVEL}} --target install

build-MacOS:
name: MacOS build
runs-on: macos-latest
Expand All @@ -78,11 +82,10 @@ jobs:

- name: Install dependencies
# GNURadio plugin fails to build due to issues with spdlog dependency
# gnuradio pybind11 castxml
run: brew install wxwidgets soapysdr
run: brew install wxwidgets soapysdr gnuradio pybind11 castxml

- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{env.CMAKE_OPTIONS}}
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{env.CMAKE_OPTIONS}} -DCMAKE_UNITY_BUILD=false

- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel ${{env.CMAKE_BUILD_PARALLEL_LEVEL}}
35 changes: 17 additions & 18 deletions .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
clang-format:
runs-on: [ubuntu-latest]
runs-on: [ubuntu-22.04]

steps:
- uses: actions/checkout@v4
Expand All @@ -22,22 +22,16 @@ jobs:

- name: Run clang-format
run: |
before="${{ github.event.pull_request.base.sha }}"
if [ "$before" == "" ]; then
before="${{ github.event.before }}"
clang-format --version
base_hash="${{ github.event.pull_request.base.sha }}"
# if base is not provided, do whole source formatting
if [ "$base_hash" == "" ]; then
base_hash=$(git rev-list --max-parents=0 HEAD)
fi

diff=$(git-clang-format --diff --commit "$before")
[ "$diff" = "no modified files to format" ] && exit 0
[ "$diff" = "clang-format did not modify any files" ] && exit 0

printf "\033[1mYou have introduced coding style breakages, suggested changes:\n\n"

echo "$diff" | colordiff
exit 1
./clang-format-all.sh "$base_hash"

cmake-format:
runs-on: [ubuntu-latest]
runs-on: [ubuntu-22.04]

steps:
- uses: actions/checkout@v4
Expand All @@ -49,16 +43,21 @@ jobs:

- name: Run cmake-format
run: |
cmake-format --version
cmake-format --check $(find ${{github.workspace}} -name CMakeLists.txt)
code=$?
if [[ $code != 0 ]]; then
exit 1
if [[ $code == 0 ]]; then
exit 0
fi
exit 0

# show why the formatting changes, for some reason local formatting not always match repo formatting
cmake-format -i $(find ${{github.workspace}} -name CMakeLists.txt)
git diff
exit 1

clang-tidy:
if: false # skip job until it's properly setup to be runnable locally
runs-on: [ubuntu-24.04] # Change to ubuntu-latest when that changes over
runs-on: [ubuntu-22.04] # Change to ubuntu-latest when that changes over

steps:
- uses: actions/checkout@v4
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/gtest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ env:
# BUILD_TYPE: Release
BUILD_TYPE: Debug
CMAKE_BUILD_PARALLEL_LEVEL: 2
INSTALL_PREFIX: ${{github.workspace}}/deps

jobs:
build:
Expand All @@ -37,13 +36,8 @@ jobs:
if: matrix.os == 'macos-latest'
run: brew install libusb

- name: Configure CMake (windows)
if: matrix.os == 'windows-latest'
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_PREFIX}} -DFX3_SDK_RELATIVE_PATH=deps/FX3SDK -DBUILD_SHARED_LIBS=OFF -DENABLE_UNIT_TESTS=on

- name: Configure CMake (linux)
if: matrix.os != 'windows-latest'
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_PREFIX}} -DBUILD_SHARED_LIBS=OFF -DBINARY_OUTPUT_DIR=${{github.workspace}}/build/bin/ -DENABLE_CODE_COVERAGE=0 -DENABLE_UNIT_TESTS=on
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_SHARED_LIBS=OFF -DENABLE_UNIT_TESTS=on -DBUILD_GUI=off

- name: Build tests
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target gtest-runner
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/packaging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Packaging

on:
workflow_dispatch:

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CMAKE_BUILD_PARALLEL_LEVEL: 2
CMAKE_OPTIONS:

jobs:
debian:
name: Package Debian
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, ubuntu-22.04]

steps:
- uses: actions/checkout@v4
# need subdirectory, because building packages will place them one directory up
with:
path: 'source'

- name: Install GNURadio
if: ${{ matrix.os != 'ubuntu-20.04'}} # 20.04 has GNURadio 3.8.1, it's python bindings are not using pybind11, so not compatible
run: |
sudo apt-get update
sudo apt-get install -qq gnuradio-dev devscripts

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install debhelper dh-python dkms
sudo ${{github.workspace}}/source/install_dependencies.sh

# dh-dkms was split into separate package
- name: Install dh-dkms
if: ${{ matrix.os == 'ubuntu-24.04'}}
run: |
sudo apt-get install dh-dkms

- name: Set Debian variables
run: |
cd ${{github.workspace}}/source
source /etc/os-release
export DEBFULLNAME="Lime Microsystems"
export DEBEMAIL="[email protected]"
echo "ubuntu_codename=$UBUNTU_CODENAME" >> $GITHUB_ENV

cd debian
./set_debian_changelog_codenames.sh $UBUNTU_CODENAME

- name: Build
run: |
cd ${{github.workspace}}/source
export DEB_BUILD_OPTIONS="noautodbgsym"
export SOURCE_DATE_EPOCH=$(git log -1 --format=%ct)
dpkg-buildpackage --no-sign

- name: Archive packaging artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.ubuntu_codename }}
retention-days: 2
path: |
${{github.workspace}}/*.tar.xz
${{github.workspace}}/*.dsc
${{github.workspace}}/*.deb
${{github.workspace}}/*.ddeb
Loading
Loading