|
def | comamnd_line () |
| Functions #. More...
|
|
def | prepare_irises (uut_serials, golden_serial, rm_from_uut_serials) |
|
def | set_gain_limits (frontend) |
|
def | disp_params (freq, rx_pwr_limit, golden_serial, golden_ant, golden_tx_gain, golden_rx_gain, gain_step, uut_serials, pf_rx, pf_tx, en_logging, detailed_logs, log_name_rx, log_name_tx, test_tx_only, test_rx_only) |
|
def | process_rx_log (log_name_rx, rx_thresh) |
|
def | process_tx_log (log_name_tx) |
|
def | plotter (rx_axis_x0, rx_axis_x1, rx_axis_y0, rx_axis_y1, rx_noise_floor0, rx_noise_floor1, rx_serials, tx_axis_x0, tx_axis_x1, tx_axis_y0, tx_axis_y1, tx_noise_floor0, tx_noise_floor1, tx_serials, test_tx_only, test_rx_only, pf_rx, pf_tx, golden_serial, golden_ant, golden_tx_gain, golden_rx_gain, test_datetime, rx_thresh, rx_lo, rx_hi, tx_lo, tx_hi) |
|
def | generate_sine (tx_num_samps, rate, wave_freq, bb_freq, amp) |
|
def | print_header (en_logging, log_writer) |
|
def | print_results (pf, uut_serial, fft_pwr_db_1, fft_pwr_db_2, noise_floor_1, noise_floor_2, uut_ch, uut_gain, uut_gain_lo, uut_gain_hi, golden_serial, golden_ant, golden_gain, rx_pwr_limit, lms7_temp, zynq_temp, pwr_dbfs, rx_start, rx_stop, en_logging, log_writer) |
|
def | test_a_tx_rx_pair (sdr_tx, sdr_rx, tx_gain, rx_gain, freq, tx_ant, samp_rate=5e6, fft_size=1024, rx_num_samps=1024, wait_trigger=False, tx_amp=1, bb_freq=0, wave_freq=None, tx_num_samps=2 **10, lo_tone=False) |
|
def | test_receiver (gain_step, freq, uut_sdrs, uut_serials, uut_frontends, golden_sdr, golden_serial, golden_tx_gain, golden_ant, rx_pwr_limit, detailed_logs, en_logging, log_writer) |
|
def | test_transmitter (gain_step, freq, uut_sdrs, uut_serials, uut_frontends, golden_sdr, golden_serial, golden_rx_gain, golden_ant, rx_pwr_limit, detailed_logs, en_logging, log_writer) |
|
def | iris_health_monitor (en_logging, freq, uut_serials, golden_serial, gain_step, golden_tx_gain, golden_ant, golden_rx_gain, rx_pwr_limit, rm_from_uut_serials, detailed_logs, sdr_log_level, test_tx_only, test_rx_only) |
|
iris_health_monitor.py
Description:
Monitor the power levels and temperature of all Iris modules
detectable on the network.
1. Find all Iris modules on the network.
2. TX from a Golden Iris module on channel A, loop through all other
Iris modules and auto adjust rxgain until the RX power is in range.
If within the rxgain range the RX power cannot be adjusted in range,
fail the test. Otherwise, pass. Both channel A & B shall be scanned.
Tx from the golden Iris. If no golden Iris is picked in the command,
the first discovered Iris shall be designated as the golden Iris
module. Tx on the specified channel. Loop through all other Iris
modules' channel A & B, rx and find the best rxgain for each channel
by increasing rxgain with gain-step.
if using CBRS, rxgain range is
[3:1:105] at 2.5 GHz
[3:1:102] at 3.6 GHz
if using only Dev Board, rxgain range is
[0:1:30]
3. RX from a Golden Iris module on channel A, loop through all other
Iris modules and auto adjust txgain until the RX power is in range.
If within the txgain range the RX power cannot be adjusted in range,
fail the test. Otherwise, pass. Both channel A & B shall be scanned.
Rx from the golden Iris channel A. if no golden Iris is picked in
the command, the first discovered Iris shall be designated as the
golen Iris module. Loop through all other iris modules' channel A &
B, tx and find the best txgain for each channel by increasing txgain
with gain-step.
if using CBRS, txgain range is
[16:1:93] at 2.5 GHz
[15:1:102] at 3.6 GHz
if using only Dev Board, txgain range is
[0:1:42]
Usage Examples:
1. If no serial number is specified, the first detected Iris serial
number shall shall be used as the golden unit. All other Iris
modules on the network shall be scanned.
python3 IRIS_HEALTH_MONITOR.py
2. If the golden unit serial number is specified, all other Iris
modules on the network shall be scanned.
python3 IRIS_HEALTH_MONITOR.py --serial=RF3E000392
3. If both the golden unit and a list of UUT Iris modules are specified
pyton3 IRIS_HEALTH_MONITOR.py -s RF3E000392 -u RF3E000295 RF3E000300
4. The expected output shall be both on Terminal and be saved in a log.
The contents are timestampts, serial numbers, rxgains, txgains, rx
power, temperature, and PASS/FAIL.
TODO: Save to a database instead of a log file.
------------------------------------------------------------
Copyright © 2020 Rice University
RENEW OPEN SOURCE LICENSE http://renew-wireless.org/license
------------------------------------------------------------