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 CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/aioserial.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/aiostream.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 Josh Pieper, jjp@pobox.com.
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.
moteus/command.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020-2021 Josh Pieper, jjp@pobox.com.
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.
moteus/export.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/fdcanusb.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020-2021 Josh Pieper, jjp@pobox.com.
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.
moteus/moteus.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020-2022 Josh Pieper, jjp@pobox.com.
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.
moteus/moteus_tool.py CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/python3 -B
2
2
 
3
- # Copyright 2019-2022 Josh Pieper, jjp@pobox.com.
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
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/pythoncan.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/reader.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2015-2020 Josh Pieper, jjp@pobox.com.
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.
moteus/regression.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 Josh Pieper, jjp@pobox.com.
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.
moteus/router.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/transport.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
moteus/version.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.59"
15
+ VERSION="0.3.60"
moteus/win32_aioserial.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2020 Josh Pieper, jjp@pobox.com.
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.
@@ -1,23 +1,21 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: moteus
3
- Version: 0.3.59
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: importlib-metadata (>=3.6)
18
- Requires-Dist: pyelftools (>=0.26)
19
- Requires-Dist: pyserial (>=3.5)
20
- Requires-Dist: python-can (>=3.3)
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,3 +1,2 @@
1
1
  [console_scripts]
2
2
  moteus_tool = moteus.moteus_tool:main
3
-
@@ -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,,