l3_cxprofile.py : added gi and caclulated mbps

port_probe.py : determining GI and calculated mbps

Signed-off-by: Chuck SmileyRekiere <chuck.smileyrekiere@candelatech.com>
This commit is contained in:
Chuck SmileyRekiere
2021-10-27 14:09:57 -06:00
parent df68373001
commit a31be6c835
2 changed files with 35 additions and 9 deletions

View File

@@ -279,20 +279,28 @@ class L3CXProfile(LFCliBase):
probe_results['TX Bitrate'] = probe_port.tx_bitrate
probe_results['TX Mbps'] = probe_port.tx_mbit
probe_results['TX MCS ACTUAL'] = probe_port.tx_mcs
if probe_port.tx_mcs is not None:
probe_results['TX MCS'] = int(probe_port.tx_mcs) % 8
else:
probe_results['TX MCS'] = probe_port.tx_mcs
probe_results['TX NSS'] = probe_port.tx_nss
probe_results['TX MHz'] = probe_port.tx_mhz
# probe_results['TX guard interval'] = probe_port.tx_ns
probe_results['TX Guard Interval'] = probe_port.tx_gi
probe_results['TX Mbps Calc'] = probe_port.tx_mbit_calc
probe_results['TX Mbps short GI'] = probe_port.tx_data_rate_gi_short_Mbps
probe_results['TX Mbps long GI'] = probe_port.tx_data_rate_gi_long_Mbps
probe_results['RX Bitrate'] = probe_port.rx_bitrate
probe_results['RX Mbps'] = probe_port.rx_mbit
probe_results['RX MCS ACTUAL'] = probe_port.rx_mcs
if probe_port.rx_mcs is not None:
probe_results['RX MCS'] = int(probe_port.rx_mcs) % 8
else:
probe_results['RX MCS'] = probe_port.rx_mcs
probe_results['RX NSS'] = probe_port.rx_nss
probe_results['RX MHz'] = probe_port.rx_mhz
# probe_results['RX guard interval'] = probe_port.rx_ns
probe_results['RX Guard Interval'] = probe_port.rx_gi
probe_results['RX Mbps Calc'] = probe_port.rx_mbit_calc
probe_results['RX Mbps short GI'] = probe_port.rx_data_rate_gi_short_Mbps
probe_results['RX Mbps long GI'] = probe_port.rx_data_rate_gi_long_Mbps

View File

@@ -37,8 +37,9 @@ class ProbePort(LFCliBase):
self.tx_nss = None
self.tx_mbit = None
self.tx_mhz = None
self.tx_ns = None
self.tx_gi = None
self.tx_duration = None
self.tx_mbit_calc = None
self.tx_data_rate_gi_short_Mbps = None
self.tx_data_rate_gi_long_Mbps = None
@@ -47,8 +48,9 @@ class ProbePort(LFCliBase):
self.rx_nss = None
self.rx_mbit = None
self.rx_mhz = None
self.rx_ns = None
self.rx_gi = None
self.rx_duration = None
self.rx_mbit_calc = None
self.rx_data_rate_gi_short_Mbps = None
self.rx_data_rate_gi_long_Mbps = None
@@ -240,6 +242,15 @@ class ProbePort(LFCliBase):
self.tx_data_rate_gi_long_Mbps = ((N_sd * N_bpscs * R * float(N_ss)) / (T_dft + T_gi_long))/1000000
print("data_rate gi_long {data_rate} Mbps".format(data_rate=self.tx_data_rate_gi_long_Mbps))
if abs(self.tx_mbit - self.tx_data_rate_gi_short_Mbps) <= abs(self.tx_mbit - self.tx_data_rate_gi_long_Mbps):
self.tx_mbit_calc = self.tx_data_rate_gi_short_Mbps
self.tx_gi = T_gi_short
else:
self.tx_mbit_calc = self.tx_data_rate_gi_long_Mbps
self.tx_gi = T_gi_long
def calculated_data_rate_rx_HT(self):
# TODO compare with standard for 40 MHz if values change
N_sd = 0 # Number of Data Subcarriers based on modulation and bandwith
@@ -324,3 +335,10 @@ class ProbePort(LFCliBase):
self.rx_data_rate_gi_long_Mbps = ((N_sd * N_bpscs * R * float(N_ss)) / (T_dft + T_gi_long))/1000000
print("rx_data_rate gi_long {data_rate} Mbps".format(data_rate=self.rx_data_rate_gi_long_Mbps))
if abs(self.rx_mbit - self.rx_data_rate_gi_short_Mbps) <= abs(self.rx_mbit - self.rx_data_rate_gi_long_Mbps):
self.rx_mbit_calc = self.rx_data_rate_gi_short_Mbps
self.rx_gi = T_gi_short
else:
self.rx_mbit_calc = self.rx_data_rate_gi_long_Mbps
self.rx_gi = T_gi_long