server side: send only changed config keys
This commit is contained in:
parent
abb0813948
commit
29703d10b2
@ -248,7 +248,6 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
|
|||||||
self.sdr.addClient(self)
|
self.sdr.addClient(self)
|
||||||
|
|
||||||
def handleSdrAvailable(self):
|
def handleSdrAvailable(self):
|
||||||
# send initial config
|
|
||||||
self.getDsp().setProperties(self.connectionProperties)
|
self.getDsp().setProperties(self.connectionProperties)
|
||||||
|
|
||||||
stack = PropertyStack()
|
stack = PropertyStack()
|
||||||
@ -256,14 +255,19 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
|
|||||||
stack.addLayer(1, Config.get())
|
stack.addLayer(1, Config.get())
|
||||||
configProps = stack.filter(*OpenWebRxReceiverClient.config_keys)
|
configProps = stack.filter(*OpenWebRxReceiverClient.config_keys)
|
||||||
|
|
||||||
def sendConfig(key, value):
|
def sendConfig(changes=None):
|
||||||
|
if changes is None:
|
||||||
config = configProps.__dict__()
|
config = configProps.__dict__()
|
||||||
# TODO mathematical properties? hmmmm
|
else:
|
||||||
|
config = changes
|
||||||
|
if changes is None or "start_freq" in changes or "center_freq" in changes:
|
||||||
config["start_offset_freq"] = configProps["start_freq"] - configProps["center_freq"]
|
config["start_offset_freq"] = configProps["start_freq"] - configProps["center_freq"]
|
||||||
# TODO this is a hack to support multiple sdrs
|
if changes is None or "profile_id" in changes:
|
||||||
config["sdr_id"] = self.sdr.getId()
|
config["sdr_id"] = self.sdr.getId()
|
||||||
self.write_config(config)
|
self.write_config(config)
|
||||||
|
|
||||||
|
# TODO make a separate subscription for this
|
||||||
|
if changes is None or "center_freq" in changes or "samp_rate" in changes:
|
||||||
cf = configProps["center_freq"]
|
cf = configProps["center_freq"]
|
||||||
srh = configProps["samp_rate"] / 2
|
srh = configProps["samp_rate"] / 2
|
||||||
frequencyRange = (cf - srh, cf + srh)
|
frequencyRange = (cf - srh, cf + srh)
|
||||||
@ -272,7 +276,9 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
|
|||||||
self.write_bookmarks(bookmarks)
|
self.write_bookmarks(bookmarks)
|
||||||
|
|
||||||
self.configSub = configProps.wire(sendConfig)
|
self.configSub = configProps.wire(sendConfig)
|
||||||
sendConfig(None, None)
|
|
||||||
|
# send initial config
|
||||||
|
sendConfig()
|
||||||
self.__sendProfiles()
|
self.__sendProfiles()
|
||||||
|
|
||||||
self.sdr.addSpectrumClient(self)
|
self.sdr.addSpectrumClient(self)
|
||||||
|
Loading…
Reference in New Issue
Block a user