litearm-python 1.2.1__py3-none-any.whl → 1.2.3__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.
litearm/__init__.py CHANGED
@@ -92,7 +92,7 @@ from litearm.state import JointState, RobotState
92
92
  from litearm.tool import TcpOffset
93
93
  from litearm.transport import find_cdc_port
94
94
 
95
- __version__ = "1.2.1"
95
+ __version__ = "1.2.3"
96
96
 
97
97
  __all__ = [
98
98
  "Arm", "Msg", "LicenseInfo", "RobotState", "JointState", "find_cdc_port", "main",
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: litearm-python
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: Python SDK for the LiteArm robotic arm
5
- License: MIT
5
+ License: Apache-2.0
6
6
  Requires-Python: >=3.9
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
@@ -17,7 +17,7 @@ Python SDK for the LiteArm robotic arm: drive the arm from a PC over one USB ser
17
17
  straight to its firmware — no server or middleware in between. Trajectory planning, kinematics
18
18
  and dynamics are all carried by the firmware.
19
19
 
20
- > Full interface reference: [docs/DEVELOPER_GUIDE.md](docs/DEVELOPER_GUIDE.md).
20
+ > Full interface reference: [docs/DEVELOPER_GUIDE.md](https://github.com/nexform-tech/litearm-python/blob/main/docs/DEVELOPER_GUIDE.md).
21
21
 
22
22
  ## Features
23
23
 
@@ -225,7 +225,7 @@ payload is composited in as a point mass), so nothing on the PC side needs a dyn
225
225
  nothing new is pulled in as a dependency. The **baseline is not optional**: subtracting it is what
226
226
  cancels the arm's own model error — an absolute solve feeds that error straight into the answer.
227
227
  The probe's side effects and the acceptance thresholds are in §5.16 of
228
- [the developer guide](docs/DEVELOPER_GUIDE.md).
228
+ [the developer guide](https://github.com/nexform-tech/litearm-python/blob/main/docs/DEVELOPER_GUIDE.md).
229
229
 
230
230
  ### Life / safety
231
231
 
@@ -297,13 +297,6 @@ for s in r.samples()[:3]:
297
297
  print(arm.diag.kin_bench().value) # CAN link diagnostic counters
298
298
  ```
299
299
 
300
- ### License and activation
301
-
302
- An arm that has never been activated rejects `enable()` with `ERR{0x10,0x08}` and answers every
303
- other command normally, so it stays diagnosable. `arm.license()` reads the record — a bare
304
- `LicenseInfo`, not a `Msg`; `arm.activate()` submits a vendor-issued credential and needs
305
- `disable()` first. See [the developer guide §5.15](docs/DEVELOPER_GUIDE.md#515-license-and-activation).
306
-
307
300
  ### Persistence
308
301
 
309
302
  ```python
@@ -344,7 +337,7 @@ or add `~/.local/bin` to `PATH`.
344
337
 
345
338
  ## Things to watch out for
346
339
 
347
- Start with the [troubleshooting guide](TROUBLESHOOTING.md): it has ready-made commands for
340
+ Start with the [troubleshooting guide](https://github.com/nexform-tech/litearm-python/blob/main/TROUBLESHOOTING.md): it has ready-made commands for
348
341
  finding who holds the serial port, what to do about each `enable()` rejection code, and how to
349
342
  tell Cartesian failures apart.
350
343
 
@@ -452,7 +445,7 @@ the motor bus.
452
445
 
453
446
  ## Examples
454
447
 
455
- See [examples/README.md](examples/README.md):
448
+ See [examples/README.md](https://github.com/nexform-tech/litearm-python/blob/main/examples/README.md):
456
449
 
457
450
  - `01_hello.py` — handshake + firmware version + reading state
458
451
  - `02_movej.py` — joint motion
@@ -505,4 +498,4 @@ On Windows use `env.ps1` / `env.cmd` and `run_example.ps1` / `run_example.cmd`.
505
498
 
506
499
  ## License
507
500
 
508
- MIT
501
+ Apache License 2.0 — see [LICENSE](https://github.com/nexform-tech/litearm-python/blob/main/LICENSE).
@@ -1,4 +1,4 @@
1
- litearm/__init__.py,sha256=gniGlDwi3rlX64LE-m5KKeFxQOAMkU60x-mqaH_98IU,6004
1
+ litearm/__init__.py,sha256=VVsJHIupR9gULSQ3C2vAobM1mdTZeaACpXYp28qEvss,6004
2
2
  litearm/__main__.py,sha256=w9hCRg_CvVYA9wtBaA__gm3Jxl9YCHK1IxFQG8OrwBE,55
3
3
  litearm/_protocol.py,sha256=-dX-DCO-gE47Mc2XffqiyGKar1gnJfPDFecwkjwahyE,29256
4
4
  litearm/_rot.py,sha256=MtG8gmx0WuvEyA3x4FsnYIa6tj2sYhq-CaS4Ut-S1FQ,10576
@@ -15,9 +15,9 @@ litearm/state.py,sha256=VGsdy0whowSRbTPaUM4snVka8o6IUgyFAs5iaCdahno,8862
15
15
  litearm/testing.py,sha256=AZ3zWMScd_UNTDgt6NUQI_Svg6Xk9J7XmW_etX2RoFU,55515
16
16
  litearm/tool.py,sha256=2PgLJM2olLaWlpMSlCKEYrNhey7ksmgu2Sd8pvNv33k,7582
17
17
  litearm/transport.py,sha256=-Id2zlIPJWhGQ5HjnUgOPx4Nb6N0ntrwHMsXfAQ8o6g,21547
18
- litearm_python-1.2.1.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
19
- litearm_python-1.2.1.dist-info/METADATA,sha256=mk0uYAsDZdPGBh2PdZt48yObhzSo25cSckeeeCEB0sM,20964
20
- litearm_python-1.2.1.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
21
- litearm_python-1.2.1.dist-info/entry_points.txt,sha256=yFrsF49DqQ-8bHbrksyDuSxQOEER7i-9sWixm07AFDE,52
22
- litearm_python-1.2.1.dist-info/top_level.txt,sha256=gqkLqmKbrqDYltZitHGepKU9jIMwLPTijtJpTcoWJ1Y,8
23
- litearm_python-1.2.1.dist-info/RECORD,,
18
+ litearm_python-1.2.3.dist-info/licenses/LICENSE,sha256=yVuuHRzgI17MzTVgt3LsHvuX80innw--CmNPDCzO_iw,11358
19
+ litearm_python-1.2.3.dist-info/METADATA,sha256=eO7yoszjJTEqf1qaJXoQ2lPT_mgv8a5mJeTUOqCF25s,20886
20
+ litearm_python-1.2.3.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
21
+ litearm_python-1.2.3.dist-info/entry_points.txt,sha256=yFrsF49DqQ-8bHbrksyDuSxQOEER7i-9sWixm07AFDE,52
22
+ litearm_python-1.2.3.dist-info/top_level.txt,sha256=gqkLqmKbrqDYltZitHGepKU9jIMwLPTijtJpTcoWJ1Y,8
23
+ litearm_python-1.2.3.dist-info/RECORD,,