trx_toolkit: support setting artificial delay for TRXC
Change-Id: Idb1ef445bc14a6312f08a83ecacc3a938b0e1d70 Related: OS#5245
This commit is contained in:
parent
2308b58250
commit
00b70983a5
|
@ -23,6 +23,7 @@
|
|||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
import logging as log
|
||||
import time
|
||||
|
||||
from udp_link import UDPLink
|
||||
|
||||
|
@ -31,6 +32,9 @@ class CTRLInterface(UDPLink):
|
|||
UDPLink.__init__(self, *udp_link_args)
|
||||
log.debug("Init TRXC interface (%s)" % self.desc_link())
|
||||
|
||||
# Do not delay RSP messages by default
|
||||
self.rsp_delay_ms = 0
|
||||
|
||||
def handle_rx(self):
|
||||
# Read data from socket
|
||||
data, remote = self.sock.recvfrom(128)
|
||||
|
@ -86,6 +90,9 @@ class CTRLInterface(UDPLink):
|
|||
|
||||
# Add the response signature, and join back to string
|
||||
response = "RSP " + " ".join(request) + "\0"
|
||||
# If configured, delay sending the RSP message
|
||||
if self.rsp_delay_ms > 0:
|
||||
time.sleep(self.rsp_delay_ms / 1000.0)
|
||||
# Now we have something like "RSP TXTUNE 0 941600"
|
||||
self.sendto(response, remote)
|
||||
|
||||
|
|
|
@ -374,6 +374,15 @@ class FakeTRX(Transceiver):
|
|||
self.burst_drop_period = period
|
||||
return 0
|
||||
|
||||
# Artificial delay for the TRXC interface
|
||||
# Syntax: CMD FAKE_TRXC_DELAY <DELAY_MS>
|
||||
elif self.ctrl_if.verify_cmd(request, "FAKE_TRXC_DELAY", 1):
|
||||
log.debug("(%s) Recv FAKE_TRXC_DELAY cmd", self)
|
||||
|
||||
self.ctrl_if.rsp_delay_ms = int(request[1])
|
||||
log.info("(%s) Artificial TRXC delay set to %d",
|
||||
self, self.ctrl_if.rsp_delay_ms)
|
||||
|
||||
# Unhandled command
|
||||
return None
|
||||
|
||||
|
|
Loading…
Reference in New Issue