1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-08-24 00:12:25 -04:00

REST API: implemented keys renaming in example scripts

This commit is contained in:
f4exb 2019-05-07 15:35:11 +02:00
parent 6771c6de5b
commit f0ff5473fb
12 changed files with 72 additions and 72 deletions

View File

@ -36,7 +36,7 @@ def main():
global base_url
base_url = "http://%s/sdrangel" % options.address
device_url = base_url + ("/deviceset/%d/channel" % options.device_index)
r = requests.post(url=device_url, json={"tx": 0, "channelType": options.channel_id})
r = requests.post(url=device_url, json={"direction": 0, "channelType": options.channel_id})
if r.status_code / 100 == 2:
print("Success")
print json.dumps(r.json(), indent=4, sort_keys=True)

View File

@ -65,13 +65,13 @@ def main():
global base_url
base_url = "http://%s/sdrangel" % options.address
r = callAPI("/deviceset", "POST", {"tx": 1}, None, "Add Tx device set")
r = callAPI("/deviceset", "POST", {"direction": 1}, None, "Add Tx device set")
if r is None:
exit(-1)
deviceset_url = "/deviceset/%d" % options.device_index
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "LimeSDR", "tx": 1}, "setup LimeSDR on Tx device set")
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "LimeSDR", "direction": 1}, "setup LimeSDR on Tx device set")
if r is None:
exit(-1)
@ -91,7 +91,7 @@ def main():
if r is None:
exit(-1)
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": "NFMMod", "tx": 1}, "Create NFM mod")
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": "NFMMod", "direction": 1}, "Create NFM mod")
if r is None:
exit(-1)

View File

@ -61,7 +61,7 @@ def main():
global base_url
base_url = "http://%s/sdrangel" % options.address
settings = callAPI("/deviceset/0/channel", "POST", None, {"channelType": "NFMDemod", "tx": 0}, "Create NFM demod")
settings = callAPI("/deviceset/0/channel", "POST", None, {"channelType": "NFMDemod", "direction": 0}, "Create NFM demod")
if settings is None:
exit(-1)
@ -72,11 +72,11 @@ def main():
if r is None:
exit(-1)
r = callAPI("/deviceset", "POST", {"tx": 1}, None, "Add Tx device set")
r = callAPI("/deviceset", "POST", {"direction": 1}, None, "Add Tx device set")
if r is None:
exit(-1)
settings = callAPI("/deviceset/1/channel", "POST", None, {"channelType": "NFMMod", "tx": 1}, "Create NFM mod")
settings = callAPI("/deviceset/1/channel", "POST", None, {"channelType": "NFMMod", "direction": 1}, "Create NFM mod")
if settings is None:
exit(-1)

View File

@ -105,7 +105,7 @@ def main():
if deviceSets is not None:
if len(deviceSets) > 1:
if options.transmit:
if deviceSets[options.deviceset_index]["samplingDevice"]["tx"] == 0 and deviceSets[options.deviceset_index + 1]["samplingDevice"]["tx"] == 1:
if deviceSets[options.deviceset_index]["samplingDevice"]["direction"] == 0 and deviceSets[options.deviceset_index + 1]["samplingDevice"]["direction"] == 1:
stopDevice(options.deviceset_index)
time.sleep(1)
startDevice(options.deviceset_index + 1)
@ -113,7 +113,7 @@ def main():
else:
print("Incorrect configuration expecting Rx%d and Tx%d" % (options.deviceset_index, options.deviceset_index + 1))
else:
if deviceSets[options.deviceset_index - 1]["samplingDevice"]["tx"] == 0 and deviceSets[options.deviceset_index]["samplingDevice"]["tx"] == 1:
if deviceSets[options.deviceset_index - 1]["samplingDevice"]["direction"] == 0 and deviceSets[options.deviceset_index]["samplingDevice"]["direction"] == 1:
stopDevice(options.deviceset_index)
time.sleep(1)
startDevice(options.deviceset_index - 1)

View File

@ -158,12 +158,12 @@ def device_run(deviceset_index):
''' Reply with the expected reply of a working device '''
# ----------------------------------------------------------------------
originator_index = None
tx = None
direction = None
content = request.get_json(silent=True)
if content:
originator_index = content.get('originatorIndex')
tx = content.get('tx')
if originator_index is None or tx is None:
direction = content.get('direction')
if originator_index is None or direction is None:
print('device_run: SDRangel reverse API v4.5.2 or higher required. No or invalid originator information')
return ""
sdrangel_ip = get_sdrangel_ip(request)
@ -174,7 +174,7 @@ def device_run(deviceset_index):
global RUNNING
print(f'device_run: Device: {originator_index} Other device: {other_device_index} Running: {RUNNING}')
if request.method == 'POST':
print(f'device_run: Device {originator_index} (tx={tx}) has started at {sdrangel_ip}:{SDRANGEL_API_PORT}')
print(f'device_run: Device {originator_index} (direction={direction}) has started at {sdrangel_ip}:{SDRANGEL_API_PORT}')
if originator_index not in RUNNING:
RUNNING.add(originator_index)
if other_device_index in RUNNING:
@ -186,7 +186,7 @@ def device_run(deviceset_index):
reply = { "state": "idle" }
return jsonify(reply)
elif request.method == 'DELETE':
print(f'device_run: Device {originator_index} (tx={tx}) has stopped at {sdrangel_ip}:{SDRANGEL_API_PORT}')
print(f'device_run: Device {originator_index} (direction={direction}) has stopped at {sdrangel_ip}:{SDRANGEL_API_PORT}')
if originator_index in RUNNING:
RUNNING.remove(originator_index)
if other_device_index not in RUNNING:

View File

@ -41,65 +41,65 @@ def getInputOptions():
def get_channel_static_data(channel_info):
if channel_info["id"] == "AMDemod":
settings_key = "AMDemodSettings"
tx = 0
direction = 0
elif channel_info["id"] == "AMMod":
settings_key = "AMModSettings"
tx = 1
direction = 1
elif channel_info["id"] == "ATVMod":
settings_key = "ATVModSettings"
tx = 1
direction = 1
elif channel_info["id"] == "BFMDemod":
settings_key = "BFMDemodSettings"
tx = 0
direction = 0
elif channel_info["id"] == "DSDDemod":
settings_key = "DSDDemodSettings"
tx = 0
direction = 0
elif channel_info["id"] == "NFMDemod":
settings_key = "NFMDemodSettings"
tx = 0
direction = 0
elif channel_info["id"] == "NFMMod":
settings_key = "NFMModSettings"
tx = 1
direction = 1
elif channel_info["id"] == "RemoteSink":
settings_key = "RemoteSinkSettings"
tx = 0
direction = 0
elif channel_info["id"] == "RemoteSource":
settings_key = "RemoteSourceSettings"
tx = 1
direction = 1
elif channel_info["id"] == "SSBMod":
settings_key = "SSBModSettings"
tx = 1
direction = 1
elif channel_info["id"] == "SSBDemod":
settings_key = "SSBDemodSettings"
tx = 0
direction = 0
elif channel_info["id"] == "UDPSource":
settings_key = "UDPSourceSettings"
tx = 1
direction = 1
elif channel_info["id"] == "UDPSink":
settings_key = "UDPSinkSettings"
tx = 0
direction = 0
elif channel_info["id"] == "WFMDemod":
settings_key = "WFMDemodSettings"
tx = 0
direction = 0
elif channel_info["id"] == "WFMMod":
settings_key = "WFMModSettings"
tx = 1
direction = 1
else:
settings_key = None
tx = None
return settings_key, tx
direction = None
return settings_key, direction
# ======================================================================
def randomize_channels_colors(options, channels):
for channel_info in channels:
settings_key, tx = get_channel_static_data(channel_info)
settings_key, direction = get_channel_static_data(channel_info)
if settings_key is None:
continue
color = random.randint(0, (1<<24))
rn, gn, bn = color_to_rgb(color)
payload_json = {
"channelType": channel_info["id"],
"tx": tx,
"direction": direction,
settings_key: {
"rgbColor": color
}
@ -114,7 +114,7 @@ def randomize_channels_colors(options, channels):
# ======================================================================
def randomize_channels_hsv(options, channels):
for channel_info in channels:
settings_key, tx = get_channel_static_data(channel_info)
settings_key, direction = get_channel_static_data(channel_info)
settings_url = base_url + ("/deviceset/{0}/channel/{1}/settings".format(options.device_index, channel_info["index"]))
rep = requests.get(url=settings_url)
if rep.status_code / 100 == 2:
@ -139,7 +139,7 @@ def randomize_channels_hsv(options, channels):
new_color = rgb_to_color(rn, gn, bn)
payload_json = {
"channelType": channel_info["id"],
"tx": tx,
"direction": direction,
settings_key: {
"rgbColor": new_color
}

View File

@ -49,7 +49,7 @@ def getRtlSdrSettings():
def patchRtlSdrSettings(settings):
new_settings = {"deviceHwType": "RTLSDR", "tx": 0, "rtlSdrSettings": settings}
new_settings = {"deviceHwType": "RTLSDR", "direction": 0, "rtlSdrSettings": settings}
r = requests.patch(url=base_url + "/deviceset/0/device/settings", json=new_settings)
if r.status_code / 100 == 2:
print json.dumps(r.json(), indent=4, sort_keys=True)

View File

@ -53,7 +53,7 @@ def getInputOptions():
parser.add_option("--rmt-address", dest="remote_address", help="RemoteSink: destination data address", metavar="IP_ADDRESS", type="string")
parser.add_option("--rmt-port", dest="remote_port", help="RemoteSink: destination data port", metavar="PORT", type="int")
parser.add_option("--rmt-fec", dest="remote_fec", help="RemoteSink: number of FEC blocks per frame", metavar="NUMBER", type="int")
parser.add_option("--rmt-tx-delay", dest="remote_tx_delay", help="RemoteSink: inter block UDP Tx delay percentage", metavar="PERCENT", type="int")
parser.add_option("--rmt-txdelay", dest="remote_tx_delay", help="RemoteSink: inter block UDP Tx delay percentage", metavar="PERCENT", type="int")
(options, args) = parser.parse_args()
@ -134,7 +134,7 @@ def setup_audio(options):
# ======================================================================
def setupDevice(deviceset_url, options):
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid, "tx": 0}, "setup device on Rx device set")
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid, "direction": 0}, "setup device on Rx device set")
if r is None:
exit(-1)
@ -245,7 +245,7 @@ def setupDevice(deviceset_url, options):
def setupChannel(deviceset_url, options):
i = 0
settings = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": options.channel_id, "tx": 0}, "Create demod")
settings = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": options.channel_id, "direction": 0}, "Create demod")
if settings is None:
exit(-1)
@ -349,7 +349,7 @@ def main():
deviceset_url = "/deviceset/%d" % options.device_index
if options.create:
r = callAPI("/deviceset", "POST", {"tx": 0}, None, "Add Rx device set")
r = callAPI("/deviceset", "POST", {"direction": 0}, None, "Add Rx device set")
if r is None:
exit(-1)

View File

@ -19,15 +19,15 @@ def getInputOptions():
parser = OptionParser(usage="usage: %%prog [-t]\n")
parser.add_option("-a", "--address", dest="address", help="address and port", metavar="ADDRESS", type="string")
parser.add_option("-R", "--device-hwid-rx", dest="device_hwid_rx", help="device hardware id for Rx", metavar="HWID", type="string")
parser.add_option("-T", "--device-hwid-tx", dest="device_hwid_tx", help="device hardware id for Tx", metavar="HWID", type="string")
parser.add_option("-R", "--device-hwidrx", dest="device_hwid_rx", help="device hardware id for Rx", metavar="HWID", type="string")
parser.add_option("-T", "--device-hwidtx", dest="device_hwid_tx", help="device hardware id for Tx", metavar="HWID", type="string")
parser.add_option("-F", "--device-freq", dest="device_freq", help="device center frequency (kHz)", metavar="FREQ", type="int")
parser.add_option("-f", "--channel-freq", dest="channel_freq", help="channel center frequency (Hz)", metavar="FREQ", type="int")
parser.add_option("-U", "--copy-to-udp", dest="udp_copy", help="UDP audio copy to <address>[:<port>]", metavar="IP:PORT", type="string")
parser.add_option("-s", "--sample-rate-rx", dest="sample_rate_rx", help="device to host (Rx) sample rate (kS/s)", metavar="RATE", type="int")
parser.add_option("-S", "--sample-rate-tx", dest="sample_rate_tx", help="host to device (Tx) sample rate (kS/s)", metavar="RATE", type="int")
parser.add_option("-n", "--antenna-path-rx", dest="antenna_path_rx", help="antenna path index (Rx)", metavar="INDEX", type="int")
parser.add_option("-N", "--antenna-path-tx", dest="antenna_path_tx", help="antenna path index (Tx)", metavar="INDEX", type="int")
parser.add_option("-s", "--sample-raterx", dest="sample_rate_rx", help="device to host (Rx) sample rate (kS/s)", metavar="RATE", type="int")
parser.add_option("-S", "--sample-ratetx", dest="sample_rate_tx", help="host to device (Tx) sample rate (kS/s)", metavar="RATE", type="int")
parser.add_option("-n", "--antenna-pathrx", dest="antenna_path_rx", help="antenna path index (Rx)", metavar="INDEX", type="int")
parser.add_option("-N", "--antenna-pathtx", dest="antenna_path_tx", help="antenna path index (Tx)", metavar="INDEX", type="int")
(options, args) = parser.parse_args()
@ -101,7 +101,7 @@ def main():
nb_devicesets = r['devicesetcount']
if nb_devicesets == 0: # server starts without device set so add Rx device set
r1 = callAPI("/deviceset", "POST", {"tx": 0}, None, "Add Rx device set")
r1 = callAPI("/deviceset", "POST", {"direction": 0}, None, "Add Rx device set")
if r1 is None:
exit(-1)
@ -110,7 +110,7 @@ def main():
deviceset_index_rx = 0
deviceset_url = "/deviceset/%d" % deviceset_index_rx
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid_rx, "tx": 0}, "setup device on Rx device set")
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid_rx, "direction": 0}, "setup device on Rx device set")
if r is None:
exit(-1)
@ -151,7 +151,7 @@ def main():
if r is None:
exit(-1)
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": "NFMDemod", "tx": 0}, "Create NFM demod")
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": "NFMDemod", "direction": 0}, "Create NFM demod")
if r is None:
exit(-1)
@ -185,13 +185,13 @@ def main():
# ## Tx setup
r = callAPI("/deviceset", "POST", {"tx": 1}, None, "Add Tx device set")
r = callAPI("/deviceset", "POST", {"direction": 1}, None, "Add Tx device set")
if r is None:
exit(-1)
deviceset_url = "/deviceset/%d" % (deviceset_index_rx + 1)
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid_tx, "tx": 1}, "setup device on Tx device set")
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid_tx, "direction": 1}, "setup device on Tx device set")
if r is None:
exit(-1)
@ -222,7 +222,7 @@ def main():
if r is None:
exit(-1)
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": "NFMMod", "tx": 1}, "Create NFM mod")
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": "NFMMod", "direction": 1}, "Create NFM mod")
if r is None:
exit(-1)

View File

@ -178,7 +178,7 @@ def changeDeviceFrequency(fc, options):
def setupChannels(scan_control, options):
i = 0
for shift in scan_control.channel_shifts:
settings = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": options.channel_id, "tx": 0}, "Create demod")
settings = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": options.channel_id, "direction": 0}, "Create demod")
if settings is None:
exit(-1)
@ -314,11 +314,11 @@ def main():
if not options.rerun: # Skip device and channels settings in re-run mode
if options.create:
r = callAPI("/deviceset", "POST", {"tx": 0}, None, "Add Rx device set")
r = callAPI("/deviceset", "POST", {"direction": 0}, None, "Add Rx device set")
if r is None:
exit(-1)
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": options.device_hwid, "tx": 0}, "setup device on Rx device set")
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": options.device_hwid, "direction": 0}, "setup device on Rx device set")
if r is None:
exit(-1)

View File

@ -32,7 +32,7 @@
"useReverseAPI": 0,
"vgaGain": 24
},
"tx": 0
"direction": 0
},
"Setup HackRF on Rx 0"
],
@ -42,7 +42,7 @@
null,
{
"channelType": "RemoteSink",
"tx": 0
"direction": 0
},
"Add a remote sink channel"
],
@ -67,7 +67,7 @@
"useReverseAPI": 0
},
"channelType": "RemoteSink",
"tx": 0
"direction": 0
},
"Setup remote sink on channel 0"
],
@ -77,7 +77,7 @@
null,
{
"channelType": "RemoteSink",
"tx": 0
"direction": 0
},
"Add a remote sink channel"
],
@ -102,7 +102,7 @@
"useReverseAPI": 0
},
"channelType": "RemoteSink",
"tx": 0
"direction": 0
},
"Setup remote sink on channel 1"
],
@ -112,7 +112,7 @@
null,
{
"channelType": "RemoteSink",
"tx": 0
"direction": 0
},
"Add a remote sink channel"
],
@ -137,7 +137,7 @@
"useReverseAPI": 0
},
"channelType": "RemoteSink",
"tx": 0
"direction": 0
},
"Setup remote sink on channel 2"
],

View File

@ -166,7 +166,7 @@ def setupDevice(options):
# ======================================================================
def setupChannel(options):
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": options.channel_id, "tx": 1}, "Create modulator")
r = callAPI(deviceset_url + "/channel", "POST", None, {"channelType": options.channel_id, "direction": 1}, "Create modulator")
if r is None:
exit(-1)
@ -266,14 +266,14 @@ def main():
base_url = "http://%s/sdrangel" % options.address
if options.create:
r = callAPI("/deviceset", "POST", {"tx": 1}, None, "Add Tx device set")
r = callAPI("/deviceset", "POST", {"direction": 1}, None, "Add Tx device set")
if r is None:
exit(-1)
global deviceset_url
deviceset_url = "/deviceset/%d" % options.device_index
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid, "tx": 1}, "setup device on Tx device set")
r = callAPI(deviceset_url + "/device", "PUT", None, {"hwType": "%s" % options.device_hwid, "direction": 1}, "setup device on Tx device set")
if r is None:
exit(-1)