mirror of
https://github.com/liberatedsystems/openCom-Companion.git
synced 2024-11-25 23:00:36 +01:00
Display RF link stats in messages view
This commit is contained in:
parent
f9e3649dbc
commit
a9160b558b
@ -170,6 +170,33 @@ class Messages():
|
|||||||
txstr = time.strftime(ts_format, time.localtime(m["sent"]))
|
txstr = time.strftime(ts_format, time.localtime(m["sent"]))
|
||||||
rxstr = time.strftime(ts_format, time.localtime(m["received"]))
|
rxstr = time.strftime(ts_format, time.localtime(m["received"]))
|
||||||
titlestr = ""
|
titlestr = ""
|
||||||
|
extra_telemetry = {}
|
||||||
|
|
||||||
|
phy_stats_str = ""
|
||||||
|
RNS.log(str(m["lxm"].fields), RNS.LOG_WARNING)
|
||||||
|
if "extras" in m and m["extras"] != None:
|
||||||
|
phy_stats = m["extras"]
|
||||||
|
if "q" in phy_stats:
|
||||||
|
try:
|
||||||
|
lq = round(float(phy_stats["q"]), 1)
|
||||||
|
phy_stats_str += "[b]Link Quality[/b] "+str(lq)+"% "
|
||||||
|
extra_telemetry["quality"] = lq
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if "rssi" in phy_stats:
|
||||||
|
try:
|
||||||
|
lr = round(float(phy_stats["rssi"]), 1)
|
||||||
|
phy_stats_str += "[b]RSSI[/b] "+str(lr)+"dBm "
|
||||||
|
extra_telemetry["rssi"] = lr
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if "snr" in phy_stats:
|
||||||
|
try:
|
||||||
|
ls = round(float(phy_stats["snr"]), 1)
|
||||||
|
phy_stats_str += "[b]SNR[/b] "+str(ls)+"dB "
|
||||||
|
extra_telemetry["snr"] = ls
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
if m["title"]:
|
if m["title"]:
|
||||||
titlestr = "[b]Title[/b] "+m["title"].decode("utf-8")+"\n"
|
titlestr = "[b]Title[/b] "+m["title"].decode("utf-8")+"\n"
|
||||||
@ -201,7 +228,11 @@ class Messages():
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
msg_color = mdc(color_received, intensity_msgs)
|
msg_color = mdc(color_received, intensity_msgs)
|
||||||
heading_str = titlestr+"[b]Sent[/b] "+txstr+"\n[b]Received[/b] "+rxstr
|
heading_str = titlestr
|
||||||
|
if phy_stats_str != "" and self.app.sideband.config["advanced_stats"]:
|
||||||
|
heading_str += phy_stats_str+"\n"
|
||||||
|
|
||||||
|
heading_str += "[b]Received[/b] "+rxstr+"\n[b]Sent[/b] "+txstr
|
||||||
|
|
||||||
item = ListLXMessageCard(
|
item = ListLXMessageCard(
|
||||||
text=m["content"].decode("utf-8"),
|
text=m["content"].decode("utf-8"),
|
||||||
@ -262,11 +293,14 @@ class Messages():
|
|||||||
|
|
||||||
return x
|
return x
|
||||||
|
|
||||||
def gen_copy_telemetry(packed_telemetry, item):
|
def gen_copy_telemetry(packed_telemetry, extra_telemetry, item):
|
||||||
def x():
|
def x():
|
||||||
try:
|
try:
|
||||||
telemeter = Telemeter.from_packed(packed_telemetry)
|
telemeter = Telemeter.from_packed(packed_telemetry)
|
||||||
Clipboard.copy(str(telemeter.read_all()))
|
tlm = telemeter.read_all()
|
||||||
|
if extra_telemetry and len(extra_telemetry) != 0:
|
||||||
|
tlm["physical_link"] = extra_telemetry
|
||||||
|
Clipboard.copy(str(tlm))
|
||||||
item.dmenu.dismiss()
|
item.dmenu.dismiss()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
RNS.log("An error occurred while decoding telemetry. The contained exception was: "+str(e), RNS.LOG_ERROR)
|
RNS.log("An error occurred while decoding telemetry. The contained exception was: "+str(e), RNS.LOG_ERROR)
|
||||||
@ -474,7 +508,7 @@ class Messages():
|
|||||||
"viewclass": "OneLineListItem",
|
"viewclass": "OneLineListItem",
|
||||||
"text": "Copy telemetry",
|
"text": "Copy telemetry",
|
||||||
"height": dp(40),
|
"height": dp(40),
|
||||||
"on_release": gen_copy_telemetry(packed_telemetry, item)
|
"on_release": gen_copy_telemetry(packed_telemetry, extra_telemetry, item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "Delete",
|
"text": "Delete",
|
||||||
|
Loading…
Reference in New Issue
Block a user