mirror of
https://github.com/meshtastic/python.git
synced 2026-01-01 12:27:59 -05:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
741ba378ab | ||
|
|
c1054caf4a | ||
|
|
24b97d9277 | ||
|
|
868fb64857 | ||
|
|
8729e97e1b | ||
|
|
aaed54393e |
@@ -299,32 +299,19 @@ class Node:
|
|||||||
def setOwner(self, long_name=None, short_name=None, is_licensed=False):
|
def setOwner(self, long_name=None, short_name=None, is_licensed=False):
|
||||||
"""Set device owner name"""
|
"""Set device owner name"""
|
||||||
logging.debug(f"in setOwner nodeNum:{self.nodeNum}")
|
logging.debug(f"in setOwner nodeNum:{self.nodeNum}")
|
||||||
nChars = 3
|
|
||||||
minChars = 2
|
|
||||||
if long_name is not None:
|
|
||||||
long_name = long_name.strip()
|
|
||||||
if short_name is None:
|
|
||||||
words = long_name.split()
|
|
||||||
if len(long_name) <= nChars:
|
|
||||||
short_name = long_name
|
|
||||||
elif len(words) >= minChars:
|
|
||||||
short_name = ''.join(map(lambda word: word[0], words))
|
|
||||||
else:
|
|
||||||
trans = str.maketrans(dict.fromkeys('aeiouAEIOU'))
|
|
||||||
short_name = long_name[0] + long_name[1:].translate(trans)
|
|
||||||
if len(short_name) < nChars:
|
|
||||||
short_name = long_name[:nChars]
|
|
||||||
|
|
||||||
p = admin_pb2.AdminMessage()
|
p = admin_pb2.AdminMessage()
|
||||||
|
|
||||||
|
nChars = 4
|
||||||
if long_name is not None:
|
if long_name is not None:
|
||||||
|
long_name = long_name.strip()
|
||||||
p.set_owner.long_name = long_name
|
p.set_owner.long_name = long_name
|
||||||
|
p.set_owner.is_licensed = is_licensed
|
||||||
if short_name is not None:
|
if short_name is not None:
|
||||||
short_name = short_name.strip()
|
short_name = short_name.strip()
|
||||||
if len(short_name) > nChars:
|
if len(short_name) > nChars:
|
||||||
short_name = short_name[:nChars]
|
short_name = short_name[:nChars]
|
||||||
|
print(f"Maximum is 4 characters, truncated to {short_name}")
|
||||||
p.set_owner.short_name = short_name
|
p.set_owner.short_name = short_name
|
||||||
p.set_owner.is_licensed = is_licensed
|
|
||||||
|
|
||||||
# Note: These debug lines are used in unit tests
|
# Note: These debug lines are used in unit tests
|
||||||
logging.debug(f'p.set_owner.long_name:{p.set_owner.long_name}:')
|
logging.debug(f'p.set_owner.long_name:{p.set_owner.long_name}:')
|
||||||
@@ -679,7 +666,7 @@ class Node:
|
|||||||
|
|
||||||
|
|
||||||
# pylint: disable=R1710
|
# pylint: disable=R1710
|
||||||
def _sendAdmin(self, p: admin_pb2.AdminMessage, wantResponse=False,
|
def _sendAdmin(self, p: admin_pb2.AdminMessage, wantResponse=True,
|
||||||
onResponse=None, adminIndex=0):
|
onResponse=None, adminIndex=0):
|
||||||
"""Send an admin message to the specified node (or the local node if destNodeNum is zero)"""
|
"""Send an admin message to the specified node (or the local node if destNodeNum is zero)"""
|
||||||
|
|
||||||
@@ -690,14 +677,9 @@ class Node:
|
|||||||
adminIndex = self.iface.localNode._getAdminChannelIndex()
|
adminIndex = self.iface.localNode._getAdminChannelIndex()
|
||||||
logging.debug(f'adminIndex:{adminIndex}')
|
logging.debug(f'adminIndex:{adminIndex}')
|
||||||
|
|
||||||
# don't ask for an Ack if you are getting a Response
|
|
||||||
if wantResponse:
|
|
||||||
wantAck = False
|
|
||||||
else:
|
|
||||||
wantAck = True
|
|
||||||
return self.iface.sendData(p, self.nodeNum,
|
return self.iface.sendData(p, self.nodeNum,
|
||||||
portNum=portnums_pb2.PortNum.ADMIN_APP,
|
portNum=portnums_pb2.PortNum.ADMIN_APP,
|
||||||
wantAck=wantAck,
|
wantAck=False,
|
||||||
wantResponse=wantResponse,
|
wantResponse=wantResponse,
|
||||||
onResponse=onResponse,
|
onResponse=onResponse,
|
||||||
channelIndex=adminIndex)
|
channelIndex=adminIndex)
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -12,7 +12,7 @@ with open("README.md", "r") as fh:
|
|||||||
# This call to setup() does all the work
|
# This call to setup() does all the work
|
||||||
setup(
|
setup(
|
||||||
name="meshtastic",
|
name="meshtastic",
|
||||||
version="2.0.3",
|
version="2.0.4",
|
||||||
description="Python API & client shell for talking to Meshtastic devices",
|
description="Python API & client shell for talking to Meshtastic devices",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type="text/markdown",
|
long_description_content_type="text/markdown",
|
||||||
|
|||||||
Reference in New Issue
Block a user