github f4exb/sdrangel v3.8.5
Bug fixes, SSB, Web API changes

latest releases: v7.20.0, v7.19.1, v7.19.0...
6 years ago

Bug Fixes

  • LimeSDR: fixed analog LP setting

SSB GUI enhancements

  • Scale to show LSB/USB filters sliders position.
  • Button to flip LSB to USB or vice versa

LimeSDR: Use latest version of LimeSuite

This helps support LimeSDR mini correctly in particular the change of Rx and Tx path routing according to antenna switch (issue #100)

Other changes

  • Option to copy audio to UDP for SSB demod and WFM demod.

Web API

Main window can be controlled almost completely with the web API. A complete configuration can be set up using a script. For example the following Python script does the following:

  • select BladeRF for the first Rx
  • load a preset for the first Rx
  • create a new device set (Rx tab)
  • select SDRdaemonSource for the second Rx
  • load a preset for the second Rx
  • create a new device set (Rx tab)
  • select SDRplay for the third Rx
  • load a preset for the third Rx
  • activate DV serial dongle support
import requests

base_url = "http://127.0.0.1:8091/sdrangel"

# commands list. Each command is a list:
#   - URL suffix (API function)
#   - HTTP method (GET, PATCH, POST, PUT, DELETE)
#   - Params as key:value pairs or None if unused
#   - JSON body or None if unused
#   - Descriptive message fragment
commands = [
    ["/deviceset/0/device", "PUT", None, {"hwType": "BladeRF"}, "setup BladeRF on Rx 0"],
    ["/preset", "PATCH", None, {"deviceSetIndex": 0, "preset": {"groupName": "OM144", "centerFrequency": 145640000, "type": "R", "name": "Repeaters extended"}}, "load preset on Rx 0"],
    ["/devicesets", "POST", None, None, "add Rx 1 device set"],
    ["/deviceset/1/device", "PUT", None, {"hwType": "SDRdaemonSource"}, "setup SDRdaemonSource on Rx 1"],
    ["/preset", "PATCH", None, {"deviceSetIndex": 1, "preset": {"groupName": "OM430", "centerFrequency": 439550000, "type": "R", "name": "F5ZKP Daemon RPi3 SUSE"}}, "load preset on Rx 1"],
    ["/devicesets", "POST", None, None, "add Rx 2 device set"],
    ["/deviceset/2/device", "PUT", None, {"hwType": "SDRplay1"}, "setup SDRplay on Rx 2"],
    ["/preset", "PATCH", None, {"deviceSetIndex": 2, "preset": {"groupName": "40m", "centerFrequency": 7130000, "type": "R", "name": "SSB low"}}, "load preset on Rx 2"],
    ["/dvserial", "PATCH", {"dvserial": 1}, None, "set DV serial processing for AMBE frames decoding"]
]

requests_methods = {
    "GET": requests.get,
    "PATCH": requests.patch,
    "POST": requests.post,
    "PUT": requests.put,
    "DELETE": requests.delete
}

for command in commands:
    url = base_url + command[0]
    method = requests_methods.get(command[1], None)
    if method is not None:
        r = method(url=url, params=command[2], json=command[3])
        if r.status_code == 200:
            print("Done: %s" % command[4])
        else:
            print("Error %d:%s" % (r.status_code, command[4]))
            print(r.text)
            exit(1)
    else:
        print("requests method error")
        exit(1)

print("All done!")

Don't miss a new sdrangel release

NewReleases is sending notifications on new releases.