moteus 0.3.59__py3-none-any.whl → 0.3.60__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- moteus/__init__.py +1 -1
- moteus/aioserial.py +1 -1
- moteus/aiostream.py +1 -1
- moteus/calibrate_encoder.py +1 -1
- moteus/command.py +1 -1
- moteus/export.py +1 -1
- moteus/fdcanusb.py +1 -1
- moteus/moteus.py +1 -1
- moteus/moteus_tool.py +26 -1
- moteus/multiplex.py +1 -1
- moteus/pythoncan.py +1 -1
- moteus/reader.py +1 -1
- moteus/regression.py +1 -1
- moteus/router.py +1 -1
- moteus/transport.py +1 -1
- moteus/version.py +2 -2
- moteus/win32_aioserial.py +1 -1
- {moteus-0.3.59.dist-info → moteus-0.3.60.dist-info}/METADATA +5 -9
- moteus-0.3.60.dist-info/RECORD +23 -0
- {moteus-0.3.59.dist-info → moteus-0.3.60.dist-info}/WHEEL +1 -1
- {moteus-0.3.59.dist-info → moteus-0.3.60.dist-info}/entry_points.txt +0 -1
- moteus-0.3.59.dist-info/RECORD +0 -23
- {moteus-0.3.59.dist-info → moteus-0.3.60.dist-info}/top_level.txt +0 -0
moteus/__init__.py
CHANGED
moteus/aioserial.py
CHANGED
moteus/aiostream.py
CHANGED
moteus/calibrate_encoder.py
CHANGED
moteus/command.py
CHANGED
moteus/export.py
CHANGED
moteus/fdcanusb.py
CHANGED
moteus/moteus.py
CHANGED
moteus/moteus_tool.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/python3 -B
|
2
2
|
|
3
|
-
# Copyright
|
3
|
+
# Copyright 2023 mjbots Robotic Systems, LLC. info@mjbots.com
|
4
4
|
#
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
6
|
# you may not use this file except in compliance with the License.
|
@@ -560,6 +560,27 @@ class Stream:
|
|
560
560
|
await self.command("conf write")
|
561
561
|
await self.command(f"d rezero {value}")
|
562
562
|
|
563
|
+
async def do_restore_config(self, config_file):
|
564
|
+
errors = []
|
565
|
+
|
566
|
+
with open(config_file, "r") as fp:
|
567
|
+
for line in fp.readlines():
|
568
|
+
if '#' in line:
|
569
|
+
line = line[0:line.index('#')]
|
570
|
+
line = line.rstrip()
|
571
|
+
if len(line) == 0:
|
572
|
+
continue
|
573
|
+
|
574
|
+
try:
|
575
|
+
await self.command(f'conf set {line}'.encode('latin1'))
|
576
|
+
except moteus.CommandError as ce:
|
577
|
+
errors.append(line)
|
578
|
+
|
579
|
+
if len(errors):
|
580
|
+
print("\nSome config could not be set:")
|
581
|
+
for line in errors:
|
582
|
+
print(f" {line}")
|
583
|
+
print()
|
563
584
|
|
564
585
|
async def do_write_config(self, config_file):
|
565
586
|
fp = open(config_file, "rb")
|
@@ -1532,6 +1553,8 @@ class Runner:
|
|
1532
1553
|
await stream.do_set_offset(0.0)
|
1533
1554
|
elif self.args.set_offset:
|
1534
1555
|
await stream.do_set_offset(self.args.set_offset)
|
1556
|
+
elif self.args.restore_config:
|
1557
|
+
await stream.do_restore_config(self.args.restore_config)
|
1535
1558
|
elif self.args.write_config:
|
1536
1559
|
await stream.do_write_config(self.args.write_config)
|
1537
1560
|
elif self.args.flash:
|
@@ -1569,6 +1592,8 @@ async def async_main():
|
|
1569
1592
|
help='create a serial console')
|
1570
1593
|
group.add_argument('--dump-config', action='store_true',
|
1571
1594
|
help='emit all configuration to the console')
|
1595
|
+
group.add_argument('--restore-config', metavar='FILE',
|
1596
|
+
help='restore a config saved with --dump-config')
|
1572
1597
|
group.add_argument('--write-config', metavar='FILE',
|
1573
1598
|
help='write the given configuration')
|
1574
1599
|
group.add_argument('--flash', metavar='FILE',
|
moteus/multiplex.py
CHANGED
moteus/pythoncan.py
CHANGED
moteus/reader.py
CHANGED
moteus/regression.py
CHANGED
moteus/router.py
CHANGED
moteus/transport.py
CHANGED
moteus/version.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2023 mjbots Robotic Systems, LLC. info@mjbots.com
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -12,4 +12,4 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
-
VERSION="0.3.
|
15
|
+
VERSION="0.3.60"
|
moteus/win32_aioserial.py
CHANGED
@@ -1,23 +1,21 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: moteus
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.60
|
4
4
|
Summary: moteus brushless controller library and tools
|
5
5
|
Home-page: https://github.com/mjbots/moteus
|
6
6
|
Author: mjbots Robotic Systems
|
7
7
|
Author-email: info@mjbots.com
|
8
|
-
License: UNKNOWN
|
9
8
|
Keywords: moteus
|
10
|
-
Platform: UNKNOWN
|
11
9
|
Classifier: Development Status :: 3 - Alpha
|
12
10
|
Classifier: Intended Audience :: Developers
|
13
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
14
12
|
Classifier: Programming Language :: Python :: 3
|
15
13
|
Requires-Python: >=3.7, <4
|
16
14
|
Description-Content-Type: text/markdown
|
17
|
-
Requires-Dist:
|
18
|
-
Requires-Dist:
|
19
|
-
Requires-Dist:
|
20
|
-
Requires-Dist:
|
15
|
+
Requires-Dist: pyserial >=3.5
|
16
|
+
Requires-Dist: python-can >=3.3
|
17
|
+
Requires-Dist: pyelftools >=0.26
|
18
|
+
Requires-Dist: importlib-metadata >=3.6
|
21
19
|
Requires-Dist: pywin32 ; platform_system == "Windows"
|
22
20
|
|
23
21
|
# Python bindings for moteus brushless controller #
|
@@ -119,5 +117,3 @@ qr.torque = mp.F32
|
|
119
117
|
|
120
118
|
c = moteus.Controller(position_resolution=pr, query_resolution=qr)
|
121
119
|
```
|
122
|
-
|
123
|
-
|
@@ -0,0 +1,23 @@
|
|
1
|
+
moteus/__init__.py,sha256=DxasQre5HmK3BS3I35K8GEUvFZF3_OE_hjVzQy-seIE,739
|
2
|
+
moteus/aioserial.py,sha256=GeWuvsZKCRrfBN33JZFjtBXPr-0sKpQv9shRn2ulcDA,1079
|
3
|
+
moteus/aiostream.py,sha256=YAkVF6QWsA49vqO-GgXEohDghqm_-nnajJzhO_Q9qNQ,3696
|
4
|
+
moteus/calibrate_encoder.py,sha256=R3pRgGqrDCcmKQqFE7Fr4p8TSie179iqNfBwEJS3pL0,12416
|
5
|
+
moteus/command.py,sha256=UkOsbtkso6Oyex8CfbpAKpBNriik519ymxL86EZGkRs,1169
|
6
|
+
moteus/export.py,sha256=vRIfldaqz1eHtWo3993SvatATtu73TZbejL0hzQe8YE,1646
|
7
|
+
moteus/fdcanusb.py,sha256=bx72fFRCIlXCZ4xr3_3Tec936E4Y237Y1FaHXGNrSHs,7307
|
8
|
+
moteus/moteus.py,sha256=I4zrr1YCIvdbaJbraWsx7k-DMg6_F--Ze66pCBrSt1A,47006
|
9
|
+
moteus/moteus_tool.py,sha256=ezp-pLoNpb82myOG0Ud7wVM3rSlgF4ssy9XbGlZsaNs,67745
|
10
|
+
moteus/multiplex.py,sha256=LF6MuelzYHqqsCJuCB9YeEyUA03eBaTYRwAVotX3qm8,10120
|
11
|
+
moteus/posix_aioserial.py,sha256=3JFiY5p4dtC2ztg6N5SOffnNk9lNcjie02yjD3UlJWo,2971
|
12
|
+
moteus/pythoncan.py,sha256=NnmK6MU3jS0Te4DTTFwKCbP2yE5OIwkK37Rv0Yp9nb4,3904
|
13
|
+
moteus/reader.py,sha256=H1n3ceItP6xOPqlkSm2sN7uUi7cpCbfvvWHKUCM5luo,11945
|
14
|
+
moteus/regression.py,sha256=M5gjDBYJQ64iBXIrvBhMkD8TYhtlnQ85x8U4py0niGA,1196
|
15
|
+
moteus/router.py,sha256=501W5GZ12rFoc1lmcH3S7IYsoc-Q_-FJ4B3i37RzE3Q,2061
|
16
|
+
moteus/transport.py,sha256=WhkW2G9i25lkOlO55eI5_oXmU0PhDmxTeJ75Sg_7nTI,1021
|
17
|
+
moteus/version.py,sha256=vqQpeKWSowRuznC4OyLT1Ds0hCOACtQA3H2rbEaDex4,627
|
18
|
+
moteus/win32_aioserial.py,sha256=b6J0YV1q9-rCAmtR4Q0N7mxze3BtILZd2FxU0i9-6mA,1859
|
19
|
+
moteus-0.3.60.dist-info/METADATA,sha256=BPaAoS8U70DpapUOiSZs7StyyvVPYG4J4NsKcEFd0A0,3372
|
20
|
+
moteus-0.3.60.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
21
|
+
moteus-0.3.60.dist-info/entry_points.txt,sha256=accRcwir_K8wCf7i3qHb5R6CPh5SiSgd5a1A92ibb9E,56
|
22
|
+
moteus-0.3.60.dist-info/top_level.txt,sha256=aZzmI_yecTaDrdSp29pTJuowaSQ9dlIZheQpshGg4YQ,7
|
23
|
+
moteus-0.3.60.dist-info/RECORD,,
|
moteus-0.3.59.dist-info/RECORD
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
moteus/__init__.py,sha256=1Prmih65X7Qz7WY8AUiSwUWXz3Dev8ggQS9xohL75M0,721
|
2
|
-
moteus/aioserial.py,sha256=lOBFPXManRBMsjMc1zuyw-NRt6CNVMvnj_mQqIZLpyI,1061
|
3
|
-
moteus/aiostream.py,sha256=SLDXwdBMHIWVTAmeUGG6ke7sntfNVxd9CqapzfniJOo,3678
|
4
|
-
moteus/calibrate_encoder.py,sha256=kY6mV1WkgCrD9z2YpRoqTTK_BUrRfop4_YJym9AQI-I,12403
|
5
|
-
moteus/command.py,sha256=IXb0ToAg74fm8FYKPiOdjlzxosqdafLhqADffCvw5OY,1156
|
6
|
-
moteus/export.py,sha256=dI8QjdqrcI3pi5fKfP25PwLvsIlVJ695x0ta0PVMKx8,1628
|
7
|
-
moteus/fdcanusb.py,sha256=6nfnqxwJqyqX0MOn7pj3-kqWq-Vzwx5M8I0wUux3RnA,7294
|
8
|
-
moteus/moteus.py,sha256=7lObHdVYCELclm6JMg-QygbAmRgNyQrS0BxkOjERJlo,46993
|
9
|
-
moteus/moteus_tool.py,sha256=L-7IBs9YHcbd2nc8SPwCEinHvzp09iVb_JeQCUtNM2U,66800
|
10
|
-
moteus/multiplex.py,sha256=EBOhAE-DHkS_AXtqUl2YEs745evvLMPIMeXQSYxF8zk,10102
|
11
|
-
moteus/posix_aioserial.py,sha256=3JFiY5p4dtC2ztg6N5SOffnNk9lNcjie02yjD3UlJWo,2971
|
12
|
-
moteus/pythoncan.py,sha256=629d_DUfunyXpMZcaA6ICuvgodes-KH7OVDC7smco7s,3886
|
13
|
-
moteus/reader.py,sha256=jGADQTmONSBMQ25I5AqXELLqil2TEha1KjraPdOsf78,11932
|
14
|
-
moteus/regression.py,sha256=wpPlxAZ9nC9kfv0oX1K9W2AZNnBLbY8htAJz60SxIb8,1183
|
15
|
-
moteus/router.py,sha256=k4Tf6hWtHSgzznmdnj4NySe84-y9feYRxGz0yTrJtoc,2043
|
16
|
-
moteus/transport.py,sha256=3asI2A87eQDImLP74LNLtETaShQRiD9RuCjlxNY6AlE,1003
|
17
|
-
moteus/version.py,sha256=lYdyuBwllEdH5WL5gQPVzkIpGpTIZtY-1x9F1WUWUa8,609
|
18
|
-
moteus/win32_aioserial.py,sha256=SZsnoBWE0Uwo4ZZF8ALB1WNPRY9NiaCOBz6VfvVcnxA,1841
|
19
|
-
moteus-0.3.59.dist-info/METADATA,sha256=Wye8gTlX1__CYw-VJcnfC7w7ynANVPsjOkcGNtxGgOU,3417
|
20
|
-
moteus-0.3.59.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
21
|
-
moteus-0.3.59.dist-info/entry_points.txt,sha256=indCsEML1fmtWJU1WiV-d7UmmTaAMhyBLEc1iiKnexQ,57
|
22
|
-
moteus-0.3.59.dist-info/top_level.txt,sha256=aZzmI_yecTaDrdSp29pTJuowaSQ9dlIZheQpshGg4YQ,7
|
23
|
-
moteus-0.3.59.dist-info/RECORD,,
|
File without changes
|