Skip to content

Commit b8e0ff5

Browse files
Restructured nirfsg example
1 parent ab61a58 commit b8e0ff5

File tree

1 file changed

+44
-21
lines changed

1 file changed

+44
-21
lines changed

src/nirfsg/examples/nirfsg_cw.py

Lines changed: 44 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,45 @@
1+
import argparse
12
import nirfsg
2-
import numpy as np
3-
4-
# RFSG session create
5-
options = "Simulate=0, DriverSetup=Model:5841"
6-
session = nirfsg.Session('5841', id_query=False, reset_device=False, options=options)
7-
# session = nirfsg.Session("5841", id_query=False, reset_device=False, options=options)
8-
9-
# configure frequency to 1Ghz, power level to -10db and iq rate to 1M
10-
session.configure_rf(
11-
1e9, # frequency
12-
-10 # powerLevel
13-
)
14-
#session.iq_rate = 1e6
15-
session.generation_mode = nirfsg.GenerationMode.CW
16-
17-
# Start generation
18-
with session.initiate():
19-
# Generation context
20-
input("Press Enter to stop generation")
21-
22-
session.close()
3+
import sys
4+
5+
6+
def example(resource_name, options, frequency, power_level):
7+
with nirfsg.Session(resource_name=resource_name, id_query=False, reset_device=False, options=options) as session:
8+
# Configure RF settings
9+
session.configure_rf(
10+
frequency, # Frequency in Hz
11+
power_level # Power level in dBm
12+
)
13+
session.generation_mode = nirfsg.GenerationMode.CW
14+
15+
# Start generation
16+
with session.initiate():
17+
input("Press Enter to stop generation")
18+
19+
20+
def _main(argsv):
21+
parser = argparse.ArgumentParser(description='Generates a continuous wave (CW) signal using NI-RFSG.', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
22+
parser.add_argument('-n', '--resource-name', default='5841', help='Resource name of the NI RF signal generator.')
23+
parser.add_argument('-f', '--frequency', default=1e9, type=float, help='Frequency in Hz.')
24+
parser.add_argument('-p', '--power-level', default=-10.0, type=float, help='Power level in dBm.')
25+
parser.add_argument('-op', '--option-string', default='Simulate=1, DriverSetup=Model:5841', type=str, help='Option string for the session.')
26+
args = parser.parse_args(argsv)
27+
example(args.resource_name, args.option_string, args.frequency, args.power_level)
28+
29+
30+
def main():
31+
_main(sys.argv[1:])
32+
33+
34+
def test_example():
35+
options = "Simulate=1, DriverSetup=Model:5841"
36+
example('5841', options, 1e9, -10.0)
37+
38+
39+
def test_main():
40+
cmd_line = ['--resource-name', '5841', '--frequency', '1e9', '--power-level', '-10', '--option-string', 'Simulate=1, DriverSetup=Model:5841']
41+
_main(cmd_line)
42+
43+
44+
if __name__ == '__main__':
45+
main()

0 commit comments

Comments
 (0)