mirror of
https://github.com/meshcore-dev/meshcore-cli.git
synced 2026-04-20 22:13:48 +00:00
better sensor support in chat
This commit is contained in:
parent
5b7c5739ec
commit
6ae1100b55
1 changed files with 42 additions and 4 deletions
|
|
@ -432,6 +432,8 @@ def make_completion_dict(contacts, pending={}, to=None):
|
|||
"public.key":None,
|
||||
"lat" : None,
|
||||
"lon" : None,
|
||||
"telemetry" : None,
|
||||
"status" : None
|
||||
},
|
||||
"set" : {"name" : None,
|
||||
"radio" : {",,,":None, "f,bw,sf,cr": None},
|
||||
|
|
@ -456,7 +458,13 @@ def make_completion_dict(contacts, pending={}, to=None):
|
|||
|
||||
if (to['type'] == 4) : #sensors
|
||||
completion_list.update({
|
||||
"req_mma":{"begin end":None}
|
||||
"req_mma":{"begin end":None},
|
||||
"req_acl":None
|
||||
})
|
||||
|
||||
completion_list["get"].update({
|
||||
"mma":None,
|
||||
"acl":None,
|
||||
})
|
||||
|
||||
completion_list.update({
|
||||
|
|
@ -654,6 +662,18 @@ Line starting with \"$\" or \".\" will issue a meshcli command.
|
|||
args = [line, contact['adv_name']]
|
||||
await process_cmds(mc, args)
|
||||
|
||||
elif contact["type"] == 4 and\
|
||||
(line == "get acl" or line.startswith("get mma ")) or\
|
||||
contact["type"] > 1 and\
|
||||
(line.startswith("get telemetry") or line.startswith("get status")):
|
||||
cmds = line.split(" ")
|
||||
args = [f"req_{cmds[1]}", contact['adv_name']]
|
||||
if len(cmds) > 2 :
|
||||
args = args + cmds[2:]
|
||||
if line.startswith("get mma ") and len(args) < 4:
|
||||
args.append("0")
|
||||
await process_cmds(mc, args)
|
||||
|
||||
# same but for commands with a parameter
|
||||
elif contact["type"] > 0 and (line.startswith("cmd ") or\
|
||||
line.startswith("cp ") or line.startswith("change_path ") or\
|
||||
|
|
@ -664,8 +684,10 @@ Line starting with \"$\" or \".\" will issue a meshcli command.
|
|||
args = [cmds[0], contact['adv_name'], cmds[1]]
|
||||
await process_cmds(mc, args)
|
||||
|
||||
elif contact["type"] > 3 and (line.startswith("req_mma ")) :
|
||||
cmds = line.split(" ", 3)
|
||||
elif contact["type"] == 4 and (line.startswith("req_mma ")) :
|
||||
cmds = line.split(" ")
|
||||
if len(cmds) < 3 :
|
||||
cmds.append("0")
|
||||
args = [cmds[0], contact['adv_name'], cmds[1], cmds[2]]
|
||||
await process_cmds(mc, args)
|
||||
|
||||
|
|
@ -1390,7 +1412,23 @@ async def next_cmd(mc, cmds, json_output=False):
|
|||
argnum = 3
|
||||
await mc.ensure_contacts()
|
||||
contact = mc.get_contact_by_name(cmds[1])
|
||||
res = await mc.commands.binary.req_mma(contact, int(cmds[2]), int(cmds[3]))
|
||||
if cmds[2][-1] == "s":
|
||||
from_secs = int(cmds[2][0:-1])
|
||||
elif cmds[2][-1] == "m":
|
||||
from_secs = int(cmds[2][0:-1]) * 60
|
||||
elif cmds[2][-1] == "h":
|
||||
from_secs = int(cmds[2][0:-1]) * 3600
|
||||
else :
|
||||
from_secs = int(cmds[2]) * 60 # same as tdeck
|
||||
if cmds[3][-1] == "s":
|
||||
to_secs = int(cmds[3][0:-1])
|
||||
elif cmds[3][-1] == "m":
|
||||
to_secs = int(cmds[3][0:-1]) * 60
|
||||
elif cmds[3][-1] == "h":
|
||||
to_secs = int(cmds[3][0:-1]) * 3600
|
||||
else :
|
||||
to_secs = int(cmds[3]) * 60
|
||||
res = await mc.commands.binary.req_mma(contact, from_secs, to_secs)
|
||||
if res is None :
|
||||
if json_output :
|
||||
print(json.dumps({"error" : "Getting data"}))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue