Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
441457d
Supported generation of nirfsg module and added its metadata
Vaishnavigupta1312 Apr 1, 2025
8c79a45
Supported ViAttr and ViRsrc
Vaishnavigupta1312 Apr 2, 2025
18af3dc
Added nirfsg to build_release.py
Vaishnavigupta1312 Apr 2, 2025
f9e8bb0
Final auditing for public APIs
Vaishnavigupta1312 Apr 4, 2025
5c4327b
Resolved syntax warnings and self_test definition
Vaishnavigupta1312 Apr 7, 2025
5e2456e
Added rfsg generation commands
Vaishnavigupta1312 Apr 7, 2025
c35ee8e
Enabled hightime functions for rfsg
Vaishnavigupta1312 Apr 7, 2025
3c37d71
Added basic system test for nirfsg
Vaishnavigupta1312 Apr 8, 2025
8864160
Modified CHANGELOG.md
Vaishnavigupta1312 Apr 8, 2025
57a7b4a
Added basic nirfsg example
Vaishnavigupta1312 Apr 8, 2025
b8e5b2d
Corrected resource name in example
Vaishnavigupta1312 Apr 8, 2025
c77a429
Removed system test for nirfsg
Vaishnavigupta1312 Apr 8, 2025
988a42e
Removed example
Vaishnavigupta1312 Apr 8, 2025
5f543a0
Added example
Vaishnavigupta1312 Apr 8, 2025
f0da800
Added system test for nirfsg
Vaishnavigupta1312 Apr 8, 2025
356d12f
generated examples.rst
Vaishnavigupta1312 Apr 8, 2025
9a94d2e
Updated tox.ini and tox-travis.ini with correct envlist
Vaishnavigupta1312 Apr 8, 2025
82d360c
Removed nirfsg from workflow files
Vaishnavigupta1312 Apr 8, 2025
0b20188
Addition of nirfsg to yaml files for running the system tests
Vaishnavigupta1312 Apr 8, 2025
3f90d2c
Added enums related to functions
Vaishnavigupta1312 Apr 10, 2025
017a78b
Related enums to functionas and renamed some enums
Vaishnavigupta1312 Apr 10, 2025
0371509
Fixed tox.ini and travis.ini
Vaishnavigupta1312 Apr 11, 2025
353a9ae
Updated the list to be alphabetical
Vaishnavigupta1312 Apr 11, 2025
8abaa83
Reverting the tooling changes
Vaishnavigupta1312 Apr 11, 2025
04a01be
Reverted helper.py changes
Vaishnavigupta1312 Apr 11, 2025
ab61a58
Removed system test for nirfsg
Vaishnavigupta1312 Apr 11, 2025
b8e0ff5
Restructured nirfsg example
Vaishnavigupta1312 Apr 11, 2025
217fad0
Modified nirfsg_usage.inc
Vaishnavigupta1312 Apr 11, 2025
71f92e3
Updated RFSG feed info
Vaishnavigupta1312 Apr 14, 2025
7de65af
Updated rfsg module version
Vaishnavigupta1312 Apr 15, 2025
bc2af92
generated README.rst with updated vesion
Vaishnavigupta1312 Apr 15, 2025
a201769
Updated enum description and disabled session lock calls for rfsg
Vaishnavigupta1312 Apr 15, 2025
964ab9e
Updated README.rst
Vaishnavigupta1312 Apr 15, 2025
64a5a10
removing input() for non-interactive use of example
Vaishnavigupta1312 Apr 15, 2025
6e178b2
Removed print statement from example
Vaishnavigupta1312 Apr 15, 2025
32809b7
Added documentation for functions
Vaishnavigupta1312 Apr 15, 2025
9a25599
Added documentation for functions
Vaishnavigupta1312 Apr 15, 2025
d44b870
Removing nirfsg out of action workflows
Vaishnavigupta1312 Apr 16, 2025
57accc1
Updated CHANGELOG.md and modified documentation
Vaishnavigupta1312 Apr 17, 2025
442d3f3
Resolved review comments
Vaishnavigupta1312 Apr 22, 2025
3677577
Merge remote-tracking branch 'upstream/master' into users/vagupta/add…
Vaishnavigupta1312 Apr 23, 2025
d8cd904
Modified CHANGELOG.md
Vaishnavigupta1312 Apr 23, 2025
5d268ed
Modified CHANGELOG.md
Vaishnavigupta1312 Apr 23, 2025
79512f8
Resolved comments
Vaishnavigupta1312 Apr 25, 2025
0d4fc7f
Updated latest nirfsg installer version
Vaishnavigupta1312 Apr 25, 2025
f31bdb1
Reran codegen and updated generated files
Vaishnavigupta1312 Apr 26, 2025
3276ab2
Merge branch 'ni:master' into users/vagupta/adding_rfsg_apis
Vaishnavigupta1312 Apr 26, 2025
54234a4
Merge remote-tracking branch 'origin/master' into users/vagupta/addin…
Vaishnavigupta1312 Apr 26, 2025
a99f7ce
Merge branch 'users/vagupta/adding_rfsg_apis' of https://github.com/V…
Vaishnavigupta1312 Apr 26, 2025
cc31893
Updated files
Vaishnavigupta1312 Apr 26, 2025
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
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- [nidmm (NI-DMM)](#nidmm-ni-dmm)
- [nifgen (NI-FGEN)](#nifgen-ni-fgen)
- [nimodinst (NI-ModInst)](#nimodinst-ni-modinst)
- [nirfsg (NI-RFSG)](#nirfsg-ni-rfsg)
- [niscope (NI-SCOPE)](#niscope-ni-scope)
- [nise (NI Switch Executive)](#nise-ni-switch-executive)
- [niswitch (NI-SWITCH)](#niswitch-ni-switch)
Expand Down Expand Up @@ -1660,6 +1661,18 @@
- Initial release
---

### nirfsg (NI-RFSG)

- [Unreleased](#nirfsg-unreleased)

#### [nirfsg] Unreleased
- Added
- Enabled selected public APIs
- Basic example
- Documentation for APIs (not final)
- Changed
- Removed

### niscope (NI-SCOPE)

- [Unreleased](#niscope-unreleased)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
This is the MIT license: http://www.opensource.org/licenses/mit-license.php

Copyright (c) 2017-2022, National Instruments Corporation.
NI-Digital Pattern Driver, NI-DMM, NI-DCPower, NI-FGEN, NI-SCOPE, NI-SWITCH, NI Switch Executive,
NI-Digital Pattern Driver, NI-DMM, NI-DCPower, NI-FGEN, NI-RFSG, NI-SCOPE, NI-SWITCH, NI Switch Executive,
NI-ModInst, NI-TClk are trademarks of National Instruments.

Permission is hereby granted, free of charge, to any person obtaining a copy of this
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# In alphabetical order except put nifake first and nimodinst/nitclk last
# - nifake first to get the most code generator coverage
# - nimodinst last so that the version from nimodinst is used for any global versions (docs/conf.py)
ALL_DRIVERS := nifake nidcpower nidigital nidmm nifgen niscope niswitch nise nimodinst nitclk
ALL_DRIVERS := nifake nidcpower nidigital nidmm nifgen nirfsg niscope niswitch nise nimodinst nitclk
DRIVERS ?= $(ALL_DRIVERS)

ROOT_DIR := $(abspath .)
Expand Down
50 changes: 50 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ following drivers are supported:
* NI-DMM (Python module: nidmm)
* NI-FGEN (Python module: nifgen)
* NI-ModInst (Python module: nimodinst)
* NI-RFSG (Python module: nirfsg)
* NI-SCOPE (Python module: niscope)
* NI Switch Executive (Python module: nise)
* NI-SWITCH (Python module: niswitch)
Expand Down Expand Up @@ -291,6 +292,52 @@ NI-ModInst Python API Status



NI-RFSG Python API Status
-------------------------

+-------------------------------+-----------------------+
| NI-RFSG (nirfsg) | |
+===============================+=======================+
| Driver Version Tested Against | 2025 Q2 |
+-------------------------------+-----------------------+
| PyPI Version | |nirfsgLatestVersion| |
+-------------------------------+-----------------------+
| Supported Python Version | |nirfsgPythonVersion| |
+-------------------------------+-----------------------+
| Documentation | |nirfsgDocs| |
+-------------------------------+-----------------------+
| Open Issues | |nirfsgOpenIssues| |
+-------------------------------+-----------------------+
| Open Pull Requests | |nirfsgOpenPRs| |
+-------------------------------+-----------------------+


.. |nirfsgLatestVersion| image:: http://img.shields.io/pypi/v/nirfsg.svg
:alt: Latest NI-RFSG Version
:target: http://pypi.python.org/pypi/nirfsg


.. |nirfsgPythonVersion| image:: http://img.shields.io/pypi/pyversions/nirfsg.svg
:alt: NI-RFSG supported Python versions
:target: http://pypi.python.org/pypi/nirfsg


.. |nirfsgDocs| image:: https://readthedocs.org/projects/nirfsg/badge/?version=latest
:alt: NI-RFSG Python API Documentation Status
:target: https://nirfsg.readthedocs.io/en/latest


.. |nirfsgOpenIssues| image:: https://img.shields.io/github/issues/ni/nimi-python/nirfsg.svg
:alt: Open Issues + Pull Requests for NI-RFSG
:target: https://github.com/ni/nimi-python/issues?q=is%3Aopen+is%3Aissue+label%3Anirfsg


.. |nirfsgOpenPRs| image:: https://img.shields.io/github/issues-pr/ni/nimi-python/nirfsg.svg
:alt: Pull Requests for NI-RFSG
:target: https://github.com/ni/nimi-python/pulls?q=is%3Aopen+is%3Aissue+label%3Anirfsg



NI-SCOPE Python API Status
--------------------------

Expand Down Expand Up @@ -486,6 +533,7 @@ Driver specific installation instructions can be found on **Read the Docs**:
* `nidmm <https://nidmm.readthedocs.io/en/latest/nidmm.html#installation>`_
* `nifgen <https://nifgen.readthedocs.io/en/latest/nifgen.html#installation>`_
* `nimodinst <https://nimodinst.readthedocs.io/en/latest/nimodinst.html#installation>`_
* `nirfsg <https://nirfsg.readthedocs.io/en/latest/nirfsg.html#installation>`_
* `niscope <https://niscope.readthedocs.io/en/latest/niscope.html#installation>`_
* `nise <https://nise.readthedocs.io/en/latest/nise.html#installation>`_
* `niswitch <https://niswitch.readthedocs.io/en/latest/niswitch.html#installation>`_
Expand Down Expand Up @@ -543,12 +591,14 @@ Documentation is available on **Read the Docs**:
- https://nidmm.readthedocs.io/en/stable
- https://nifgen.readthedocs.io/en/stable
- https://nimodinst.readthedocs.io/en/stable
- https://nirfsg.readthedocs.io/en/stable
- https://niscope.readthedocs.io/en/stable
- https://nise.readthedocs.io/en/stable
- https://niswitch.readthedocs.io/en/stable
- https://nitclk.readthedocs.io/en/stable



.. _license-section:

License
Expand Down
2 changes: 1 addition & 1 deletion build/templates/conf.py.mako
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ api_name = f"{config['driver_name']} Python API"
api_name_no_spaces_or_hyphens = api_name.replace(" ", "").replace("-", "")
api_name_no_spaces_or_hyphens_lower = api_name_no_spaces_or_hyphens.lower()

all_modules = {'nidcpower', 'nidigital', 'nidmm', 'nifgen', 'nimodinst', 'niscope', 'niswitch', 'nise', 'nitclk'}
all_modules = {'nidcpower', 'nidigital', 'nidmm', 'nifgen', 'nimodinst', 'nirfsg', 'niscope', 'niswitch', 'nise', 'nitclk'}
module_name = config['module_name']
external_modules = all_modules - {module_name}
%>\
Expand Down
8 changes: 7 additions & 1 deletion build/templates/index.rst.mako
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
doc_header = f"{config['driver_name']} Python API Documentation"
module_name = config['module_name']
driver_name = config['driver_name']
mi_drivers = ['nidcpower', 'nidigital', 'nidmm', 'nifgen', 'nimodinst', 'niscope', 'niswitch', 'nise', 'nitclk']
read_the_docs_note = (
"Refer to the `nimi-python Read the Docs project <https://nimi-python.readthedocs.io/en/stable/>`_ for documentation of versions 1.4.4 of the module or earlier."
)
%>\

${doc_header}
Expand All @@ -25,7 +29,9 @@ Additional Documentation

Refer to your driver documentation for device-specific information and detailed API documentation.

Refer to the `nimi-python Read the Docs project <https://nimi-python.readthedocs.io/en/stable/>`_ for documentation of versions 1.4.4 of the module or earlier.
% if module_name in mi_drivers:
${read_the_docs_note}
% endif

.. include:: ../_static/license.inc

Expand Down
1 change: 1 addition & 0 deletions docs/_static/about.inc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ following drivers are supported:
* NI-DMM (Python module: nidmm)
* NI-FGEN (Python module: nifgen)
* NI-ModInst (Python module: nimodinst)
* NI-RFSG (Python module: nirfsg)
* NI-SCOPE (Python module: niscope)
* NI Switch Executive (Python module: nise)
* NI-SWITCH (Python module: niswitch)
Expand Down
2 changes: 2 additions & 0 deletions docs/_static/documentation.inc
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ Documentation is available on **Read the Docs**:
- https://nidmm.readthedocs.io/en/stable
- https://nifgen.readthedocs.io/en/stable
- https://nimodinst.readthedocs.io/en/stable
- https://nirfsg.readthedocs.io/en/stable
- https://niscope.readthedocs.io/en/stable
- https://nise.readthedocs.io/en/stable
- https://niswitch.readthedocs.io/en/stable
- https://nitclk.readthedocs.io/en/stable



1 change: 1 addition & 0 deletions docs/_static/installation.inc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Driver specific installation instructions can be found on **Read the Docs**:
* `nidmm <https://nidmm.readthedocs.io/en/latest/nidmm.html#installation>`_
* `nifgen <https://nifgen.readthedocs.io/en/latest/nifgen.html#installation>`_
* `nimodinst <https://nimodinst.readthedocs.io/en/latest/nimodinst.html#installation>`_
* `nirfsg <https://nirfsg.readthedocs.io/en/latest/nirfsg.html#installation>`_
* `niscope <https://niscope.readthedocs.io/en/latest/niscope.html#installation>`_
* `nise <https://nise.readthedocs.io/en/latest/nise.html#installation>`_
* `niswitch <https://niswitch.readthedocs.io/en/latest/niswitch.html#installation>`_
Expand Down
8 changes: 8 additions & 0 deletions docs/_static/nirfsg_documentation.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.. _documentation-section:

Documentation
=============

Documentation is available `here <http://nirfsg.readthedocs.io>`_.


23 changes: 23 additions & 0 deletions docs/_static/nirfsg_usage.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Usage
------

The following is a basic example of using the **nirfsg** module to open a session to an RF Signal Generator and generate a continuous wave (CW) signal.

.. code-block:: python

import nirfsg

# Configure the session
with nirfsg.Session(resource_name='5841', id_query=False, reset_device=False, options='Simulate=1, DriverSetup=Model:5841') as session:
# Configure RF settings
session.configure_rf(
frequency=1e9, # Frequency in Hz
power_level=-10.0 # Power level in dBm
)
session.generation_mode = nirfsg.GenerationMode.CW

# Start signal generation
with session.initiate():
input("Press Enter to stop generation")

`Other usage examples can be found on GitHub. <https://github.com/ni/nimi-python/tree/master/src/nirfsg/examples>`_
1 change: 1 addition & 0 deletions docs/nidcpower/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ def setup(app):
'nidmm': ('https://nidmm.readthedocs.io/en/latest/', None),
'nifgen': ('https://nifgen.readthedocs.io/en/latest/', None),
'nimodinst': ('https://nimodinst.readthedocs.io/en/latest/', None),
'nirfsg': ('https://nirfsg.readthedocs.io/en/latest/', None),
'niscope': ('https://niscope.readthedocs.io/en/latest/', None),
'nise': ('https://nise.readthedocs.io/en/latest/', None),
'niswitch': ('https://niswitch.readthedocs.io/en/latest/', None),
Expand Down
1 change: 1 addition & 0 deletions docs/nidigital/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ def setup(app):
'nidmm': ('https://nidmm.readthedocs.io/en/latest/', None),
'nifgen': ('https://nifgen.readthedocs.io/en/latest/', None),
'nimodinst': ('https://nimodinst.readthedocs.io/en/latest/', None),
'nirfsg': ('https://nirfsg.readthedocs.io/en/latest/', None),
'niscope': ('https://niscope.readthedocs.io/en/latest/', None),
'nise': ('https://nise.readthedocs.io/en/latest/', None),
'niswitch': ('https://niswitch.readthedocs.io/en/latest/', None),
Expand Down
1 change: 1 addition & 0 deletions docs/nidmm/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ def setup(app):
'nidigital': ('https://nidigital.readthedocs.io/en/latest/', None),
'nifgen': ('https://nifgen.readthedocs.io/en/latest/', None),
'nimodinst': ('https://nimodinst.readthedocs.io/en/latest/', None),
'nirfsg': ('https://nirfsg.readthedocs.io/en/latest/', None),
'niscope': ('https://niscope.readthedocs.io/en/latest/', None),
'nise': ('https://nise.readthedocs.io/en/latest/', None),
'niswitch': ('https://niswitch.readthedocs.io/en/latest/', None),
Expand Down
1 change: 1 addition & 0 deletions docs/nifgen/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ def setup(app):
'nidigital': ('https://nidigital.readthedocs.io/en/latest/', None),
'nidmm': ('https://nidmm.readthedocs.io/en/latest/', None),
'nimodinst': ('https://nimodinst.readthedocs.io/en/latest/', None),
'nirfsg': ('https://nirfsg.readthedocs.io/en/latest/', None),
'niscope': ('https://niscope.readthedocs.io/en/latest/', None),
'nise': ('https://nise.readthedocs.io/en/latest/', None),
'niswitch': ('https://niswitch.readthedocs.io/en/latest/', None),
Expand Down
1 change: 1 addition & 0 deletions docs/nimodinst/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ def setup(app):
'nidigital': ('https://nidigital.readthedocs.io/en/latest/', None),
'nidmm': ('https://nidmm.readthedocs.io/en/latest/', None),
'nifgen': ('https://nifgen.readthedocs.io/en/latest/', None),
'nirfsg': ('https://nirfsg.readthedocs.io/en/latest/', None),
'niscope': ('https://niscope.readthedocs.io/en/latest/', None),
'nise': ('https://nise.readthedocs.io/en/latest/', None),
'niswitch': ('https://niswitch.readthedocs.io/en/latest/', None),
Expand Down
51 changes: 51 additions & 0 deletions docs/nirfsg/.readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Why Use A Configuration File?
# https://docs.readthedocs.io/en/stable/config-file/index.html
# The main advantages of using a configuration file over the web interface are:
# * Settings are per version rather than per project.
# * Settings live in your VCS.
# * They enable reproducible build environments over time.
# * Some settings are only available using a configuration file

# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
jobs:
# pre_build:
# # Check for broken external links
# - python -m sphinx -b linkcheck -D linkcheck_timeout=1 docs/ _build/linkcheck
post_checkout:
# https://docs.readthedocs.io/en/stable/build-customization.html#cancel-build-based-on-a-condition
# Build-cancellation rules are recommended for monorepos.
# Cancel building pull requests when there aren't changes in any of these paths: docs/_static/ docs/nirfsg/.
#
# If there are no changes (git diff exits with 0) we force the command to return with 183.
# This is a special exit code on Read the Docs that will cancel the build immediately.
- |
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/master -- docs/_static/ docs/nirfsg/;
then
exit 183;
fi

# Have Read the Docs build documentation with Sphinx
sphinx:
builder: html
configuration: docs/nirfsg/conf.py

# If using Sphinx, optionally build your docs in additional formats such as PDF
formats:
- epub
- pdf

# Declare the Python requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
15 changes: 15 additions & 0 deletions docs/nirfsg/about_nirfsg.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.. _about-section:

About
=====

The **nirfsg** module provides a Python API for NI-RFSG. The code is maintained in the Open Source repository for `nimi-python <https://github.com/ni/nimi-python>`_.

Support Policy
--------------
**nirfsg** supports all the Operating Systems supported by NI-RFSG.

It follows `Python Software Foundation <https://devguide.python.org/#status-of-python-branches>`_ support policy for different versions of CPython.

NI created and supports **nirfsg**.

Loading