Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用XMLRPC服务器块支持在GNU无线电中运行时更改变量`payloadmod=digital.constellation_qpsk()`_Python_Gnuradio_Xmlrpclib_Gnuradio Companion - Fatal编程技术网

Python 使用XMLRPC服务器块支持在GNU无线电中运行时更改变量`payloadmod=digital.constellation_qpsk()`

Python 使用XMLRPC服务器块支持在GNU无线电中运行时更改变量`payloadmod=digital.constellation_qpsk()`,python,gnuradio,xmlrpclib,gnuradio-companion,Python,Gnuradio,Xmlrpclib,Gnuradio Companion,更改GNURadio中的payloadmod变量时出现问题。我正在远程运行GNURadio,并在运行时更改变量,这是由XMLRPC服务器块支持的 首先,我可以在运行时场景中通过以下XML的变体轻松远程更改freq、packetlen、带宽、ipaddress、增益等变量:(确保在每个变量名称之前指定set) 我发送以下XML来更改payloadmod变量 <?xml version="1.0"?> <methodCall><methodName>set_pay

更改GNURadio中的
payloadmod
变量时出现问题。我正在远程运行GNURadio,并在运行时更改变量,这是由XMLRPC服务器块支持的

首先,我可以在运行时场景中通过以下XML的变体轻松远程更改
freq
packetlen
带宽
ipaddress
增益
等变量:(确保在每个变量名称之前指定
set

我发送以下XML来更改
payloadmod
变量

<?xml version="1.0"?>
<methodCall><methodName>set_payloadmod</methodName><params><param><value><string>digital.constellation_bpsk()</string></value></param></params></methodCall>
payloadmod变量中的
eval(str(……).replace(“”,“”)
将从payloadmodfrnt变量字符串中删除单引号,该字符串随以下XML一起传入:

<?xml version="1.0"?>
<methodCall><methodName>set_payloadmodfrnt</methodName><params><param><value><string>digital.constellation_bpsk()</string></value></param></params></methodCall>

set_payloadmodfrntdigital.constellation_bpsk()
变量在
payloadmodfrnt
payloadmod
(可在GUI中查看)中都会更改。但是,payloadmod变量不会更改为bpsk。它将继续传输qpsk而不是bpsk(我可以看到接收器上的星座没有更改)


Return/enter或需要按下某个键或其他什么。基本上,有效负载变量需要被踢或做一些改变。或(最简单的选项),我需要正确的XML标记来正确更改payloadmod变量?

使用的grc文件只是GNU无线电中tx_ofdm.grc和rx_ofdm.grc的修改版本示例:使用的grc文件只是GNU无线电中tx_ofdm.grc和rx_ofdm.grc的修改版本示例:
<?xml version="1.0"?>
<methodCall><methodName>set_payloadmod</methodName><params><param><value><string>digital.constellation_bpsk()</string></value></param></params></methodCall>
<?xml version='1.0'?>
<methodResponse>
<fault>
<value><struct>
<member>
<name>faultCode</name>
<value><int>1</int></value>
</member>
<member>
<name>faultString</name>
<value><string>&lt;type 'exceptions.AttributeError'&gt;:'str' object has no attribute 'bits_per_symbol'</string></value>
</member>
</struct></value>
</fault>
</methodResponse>
<int>digital.constellation_bpsk()</int>
<value>digital.constellation_bpsk()</value>
<any>digital.constellation_bpsk()</any>
id=payloadmodfrnt
value=‘digital.constellation_qpsk()’

id=payloadmod
value=eval(str(payloadmodfrnt).replace("'",""))
<?xml version="1.0"?>
<methodCall><methodName>set_payloadmodfrnt</methodName><params><param><value><string>digital.constellation_bpsk()</string></value></param></params></methodCall>