@zaber/motion 7.5.1 → 7.6.0
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.
- package/LICENSE +253 -9
- package/dist/binding/wasm/zaber-motion-core.wasm +0 -0
- package/dist/lib/ascii/connection.d.ts +11 -0
- package/dist/lib/ascii/connection.d.ts.map +1 -1
- package/dist/lib/ascii/connection.js +24 -0
- package/dist/lib/ascii/connection.js.map +1 -1
- package/dist/lib/ascii/servo_tuner.d.ts +35 -6
- package/dist/lib/ascii/servo_tuner.d.ts.map +1 -1
- package/dist/lib/ascii/servo_tuner.js +20 -6
- package/dist/lib/ascii/servo_tuner.js.map +1 -1
- package/dist/lib/ascii/simple_tuning.d.ts +8 -0
- package/dist/lib/ascii/simple_tuning.d.ts.map +1 -1
- package/dist/lib/ascii/simple_tuning.js +4 -0
- package/dist/lib/ascii/simple_tuning.js.map +1 -1
- package/dist/lib/binary/connection.d.ts +11 -0
- package/dist/lib/binary/connection.d.ts.map +1 -1
- package/dist/lib/binary/connection.js +24 -0
- package/dist/lib/binary/connection.js.map +1 -1
- package/dist/lib/library.js +1 -1
- package/dist/lib/library.js.map +1 -1
- package/dist/lib/requests/set_simple_tuning.d.ts +6 -1
- package/dist/lib/requests/set_simple_tuning.d.ts.map +1 -1
- package/dist/lib/requests/set_simple_tuning.js +11 -2
- package/dist/lib/requests/set_simple_tuning.js.map +1 -1
- package/package.json +1 -1
package/LICENSE
CHANGED
|
@@ -65,13 +65,13 @@ SOFTWARE.
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
------------------
|
|
68
|
-
github.com/davecgh/go-spew v1.1.
|
|
68
|
+
github.com/davecgh/go-spew v1.1.0
|
|
69
69
|
------------------
|
|
70
70
|
ISC License
|
|
71
71
|
|
|
72
72
|
Copyright (c) 2012-2016 Dave Collins <dave@davec.name>
|
|
73
73
|
|
|
74
|
-
Permission to use, copy, modify, and
|
|
74
|
+
Permission to use, copy, modify, and distribute this software for any
|
|
75
75
|
purpose with or without fee is hereby granted, provided that the above
|
|
76
76
|
copyright notice and this permission notice appear in all copies.
|
|
77
77
|
|
|
@@ -421,6 +421,57 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
421
421
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
422
422
|
THE SOFTWARE.
|
|
423
423
|
|
|
424
|
+
------------------
|
|
425
|
+
github.com/stretchr/objx v0.1.0
|
|
426
|
+
------------------
|
|
427
|
+
The MIT License
|
|
428
|
+
|
|
429
|
+
Copyright (c) 2014 Stretchr, Inc.
|
|
430
|
+
Copyright (c) 2017-2018 objx contributors
|
|
431
|
+
|
|
432
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
433
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
434
|
+
in the Software without restriction, including without limitation the rights
|
|
435
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
436
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
437
|
+
furnished to do so, subject to the following conditions:
|
|
438
|
+
|
|
439
|
+
The above copyright notice and this permission notice shall be included in all
|
|
440
|
+
copies or substantial portions of the Software.
|
|
441
|
+
|
|
442
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
443
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
444
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
445
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
446
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
447
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
448
|
+
SOFTWARE.
|
|
449
|
+
|
|
450
|
+
------------------
|
|
451
|
+
github.com/stretchr/testify v1.7.0
|
|
452
|
+
------------------
|
|
453
|
+
MIT License
|
|
454
|
+
|
|
455
|
+
Copyright (c) 2012-2020 Mat Ryer, Tyler Bunnell and contributors.
|
|
456
|
+
|
|
457
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
458
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
459
|
+
in the Software without restriction, including without limitation the rights
|
|
460
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
461
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
462
|
+
furnished to do so, subject to the following conditions:
|
|
463
|
+
|
|
464
|
+
The above copyright notice and this permission notice shall be included in all
|
|
465
|
+
copies or substantial portions of the Software.
|
|
466
|
+
|
|
467
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
468
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
469
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
470
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
471
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
472
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
473
|
+
SOFTWARE.
|
|
474
|
+
|
|
424
475
|
------------------
|
|
425
476
|
github.com/zabertech/go-ethereum v1.10.4-rpc-1 (fork github.com/ethereum/go-ethereum)
|
|
426
477
|
------------------
|
|
@@ -1137,7 +1188,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
1137
1188
|
|
|
1138
1189
|
|
|
1139
1190
|
------------------
|
|
1140
|
-
gitlab.com/ZaberTech/zaber-device-db-service v0.0.0-
|
|
1191
|
+
gitlab.com/ZaberTech/zaber-device-db-service v0.0.0-20240228235225-fa0861270201
|
|
1141
1192
|
------------------
|
|
1142
1193
|
Copyright 2022 Zaber Technologies Inc.
|
|
1143
1194
|
|
|
@@ -1148,7 +1199,7 @@ The above copyright notice and this permission notice shall be included in all c
|
|
|
1148
1199
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1149
1200
|
|
|
1150
1201
|
------------------
|
|
1151
|
-
gitlab.com/ZaberTech/zaber-go-lib v0.0.0-
|
|
1202
|
+
gitlab.com/ZaberTech/zaber-go-lib v0.0.0-20240328212536-999ed1bc7b42
|
|
1152
1203
|
------------------
|
|
1153
1204
|
Copyright 2022 Zaber Technologies Inc.
|
|
1154
1205
|
|
|
@@ -1457,7 +1508,69 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
1457
1508
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1458
1509
|
|
|
1459
1510
|
------------------
|
|
1460
|
-
golang.org/x/mod v0.
|
|
1511
|
+
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4
|
|
1512
|
+
------------------
|
|
1513
|
+
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1514
|
+
|
|
1515
|
+
Redistribution and use in source and binary forms, with or without
|
|
1516
|
+
modification, are permitted provided that the following conditions are
|
|
1517
|
+
met:
|
|
1518
|
+
|
|
1519
|
+
* Redistributions of source code must retain the above copyright
|
|
1520
|
+
notice, this list of conditions and the following disclaimer.
|
|
1521
|
+
* Redistributions in binary form must reproduce the above
|
|
1522
|
+
copyright notice, this list of conditions and the following disclaimer
|
|
1523
|
+
in the documentation and/or other materials provided with the
|
|
1524
|
+
distribution.
|
|
1525
|
+
* Neither the name of Google Inc. nor the names of its
|
|
1526
|
+
contributors may be used to endorse or promote products derived from
|
|
1527
|
+
this software without specific prior written permission.
|
|
1528
|
+
|
|
1529
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
1530
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
1531
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
1532
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
1533
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
1534
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
1535
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
1536
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
1537
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
1538
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
1539
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1540
|
+
|
|
1541
|
+
------------------
|
|
1542
|
+
golang.org/x/net v0.0.0-20190620200207-3b0461eec859
|
|
1543
|
+
------------------
|
|
1544
|
+
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1545
|
+
|
|
1546
|
+
Redistribution and use in source and binary forms, with or without
|
|
1547
|
+
modification, are permitted provided that the following conditions are
|
|
1548
|
+
met:
|
|
1549
|
+
|
|
1550
|
+
* Redistributions of source code must retain the above copyright
|
|
1551
|
+
notice, this list of conditions and the following disclaimer.
|
|
1552
|
+
* Redistributions in binary form must reproduce the above
|
|
1553
|
+
copyright notice, this list of conditions and the following disclaimer
|
|
1554
|
+
in the documentation and/or other materials provided with the
|
|
1555
|
+
distribution.
|
|
1556
|
+
* Neither the name of Google Inc. nor the names of its
|
|
1557
|
+
contributors may be used to endorse or promote products derived from
|
|
1558
|
+
this software without specific prior written permission.
|
|
1559
|
+
|
|
1560
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
1561
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
1562
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
1563
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
1564
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
1565
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
1566
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
1567
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
1568
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
1569
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
1570
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1571
|
+
|
|
1572
|
+
------------------
|
|
1573
|
+
golang.org/x/sync v0.0.0-20190423024810-112230192c58
|
|
1461
1574
|
------------------
|
|
1462
1575
|
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1463
1576
|
|
|
@@ -1488,7 +1601,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
1488
1601
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1489
1602
|
|
|
1490
1603
|
------------------
|
|
1491
|
-
golang.org/x/
|
|
1604
|
+
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f
|
|
1492
1605
|
------------------
|
|
1493
1606
|
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1494
1607
|
|
|
@@ -1519,7 +1632,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
1519
1632
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1520
1633
|
|
|
1521
1634
|
------------------
|
|
1522
|
-
golang.org/x/
|
|
1635
|
+
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
|
|
1523
1636
|
------------------
|
|
1524
1637
|
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1525
1638
|
|
|
@@ -1550,7 +1663,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
1550
1663
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1551
1664
|
|
|
1552
1665
|
------------------
|
|
1553
|
-
golang.org/x/
|
|
1666
|
+
golang.org/x/text v0.3.0
|
|
1554
1667
|
------------------
|
|
1555
1668
|
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1556
1669
|
|
|
@@ -1581,7 +1694,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
1581
1694
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1582
1695
|
|
|
1583
1696
|
------------------
|
|
1584
|
-
golang.org/x/
|
|
1697
|
+
golang.org/x/tools v0.1.12
|
|
1585
1698
|
------------------
|
|
1586
1699
|
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
1587
1700
|
|
|
@@ -1611,6 +1724,120 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
1611
1724
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
1612
1725
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1613
1726
|
|
|
1727
|
+
------------------
|
|
1728
|
+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
|
|
1729
|
+
------------------
|
|
1730
|
+
Copyright (c) 2019 The Go Authors. All rights reserved.
|
|
1731
|
+
|
|
1732
|
+
Redistribution and use in source and binary forms, with or without
|
|
1733
|
+
modification, are permitted provided that the following conditions are
|
|
1734
|
+
met:
|
|
1735
|
+
|
|
1736
|
+
* Redistributions of source code must retain the above copyright
|
|
1737
|
+
notice, this list of conditions and the following disclaimer.
|
|
1738
|
+
* Redistributions in binary form must reproduce the above
|
|
1739
|
+
copyright notice, this list of conditions and the following disclaimer
|
|
1740
|
+
in the documentation and/or other materials provided with the
|
|
1741
|
+
distribution.
|
|
1742
|
+
* Neither the name of Google Inc. nor the names of its
|
|
1743
|
+
contributors may be used to endorse or promote products derived from
|
|
1744
|
+
this software without specific prior written permission.
|
|
1745
|
+
|
|
1746
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
1747
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
1748
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
1749
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
1750
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
1751
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
1752
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
1753
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
1754
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
1755
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
1756
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1757
|
+
|
|
1758
|
+
------------------
|
|
1759
|
+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
|
|
1760
|
+
------------------
|
|
1761
|
+
Gocheck - A rich testing framework for Go
|
|
1762
|
+
|
|
1763
|
+
Copyright (c) 2010-2013 Gustavo Niemeyer <gustavo@niemeyer.net>
|
|
1764
|
+
|
|
1765
|
+
All rights reserved.
|
|
1766
|
+
|
|
1767
|
+
Redistribution and use in source and binary forms, with or without
|
|
1768
|
+
modification, are permitted provided that the following conditions are met:
|
|
1769
|
+
|
|
1770
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
1771
|
+
list of conditions and the following disclaimer.
|
|
1772
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
1773
|
+
this list of conditions and the following disclaimer in the documentation
|
|
1774
|
+
and/or other materials provided with the distribution.
|
|
1775
|
+
|
|
1776
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
1777
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
1778
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
1779
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
1780
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
1781
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
1782
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
1783
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
1784
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
1785
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1786
|
+
|
|
1787
|
+
------------------
|
|
1788
|
+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
|
|
1789
|
+
------------------
|
|
1790
|
+
|
|
1791
|
+
This project is covered by two different licenses: MIT and Apache.
|
|
1792
|
+
|
|
1793
|
+
#### MIT License ####
|
|
1794
|
+
|
|
1795
|
+
The following files were ported to Go from C files of libyaml, and thus
|
|
1796
|
+
are still covered by their original MIT license, with the additional
|
|
1797
|
+
copyright staring in 2011 when the project was ported over:
|
|
1798
|
+
|
|
1799
|
+
apic.go emitterc.go parserc.go readerc.go scannerc.go
|
|
1800
|
+
writerc.go yamlh.go yamlprivateh.go
|
|
1801
|
+
|
|
1802
|
+
Copyright (c) 2006-2010 Kirill Simonov
|
|
1803
|
+
Copyright (c) 2006-2011 Kirill Simonov
|
|
1804
|
+
|
|
1805
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
1806
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
1807
|
+
the Software without restriction, including without limitation the rights to
|
|
1808
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
1809
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
1810
|
+
so, subject to the following conditions:
|
|
1811
|
+
|
|
1812
|
+
The above copyright notice and this permission notice shall be included in all
|
|
1813
|
+
copies or substantial portions of the Software.
|
|
1814
|
+
|
|
1815
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1816
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1817
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1818
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1819
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1820
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1821
|
+
SOFTWARE.
|
|
1822
|
+
|
|
1823
|
+
### Apache License ###
|
|
1824
|
+
|
|
1825
|
+
All the remaining project files are covered by the Apache license:
|
|
1826
|
+
|
|
1827
|
+
Copyright (c) 2011-2019 Canonical Ltd
|
|
1828
|
+
|
|
1829
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
1830
|
+
you may not use this file except in compliance with the License.
|
|
1831
|
+
You may obtain a copy of the License at
|
|
1832
|
+
|
|
1833
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
1834
|
+
|
|
1835
|
+
Unless required by applicable law or agreed to in writing, software
|
|
1836
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
1837
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1838
|
+
See the License for the specific language governing permissions and
|
|
1839
|
+
limitations under the License.
|
|
1840
|
+
|
|
1614
1841
|
------------------
|
|
1615
1842
|
gotest.tools v2.2.0+incompatible
|
|
1616
1843
|
------------------
|
|
@@ -1627,3 +1854,20 @@ distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
1627
1854
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1628
1855
|
See the License for the specific language governing permissions and
|
|
1629
1856
|
limitations under the License.
|
|
1857
|
+
|
|
1858
|
+
------------------
|
|
1859
|
+
gotest.tools/v3 v3.0.2
|
|
1860
|
+
------------------
|
|
1861
|
+
Copyright 2018 gotest.tools authors
|
|
1862
|
+
|
|
1863
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
1864
|
+
you may not use this file except in compliance with the License.
|
|
1865
|
+
You may obtain a copy of the License at
|
|
1866
|
+
|
|
1867
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
1868
|
+
|
|
1869
|
+
Unless required by applicable law or agreed to in writing, software
|
|
1870
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
1871
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1872
|
+
See the License for the specific language governing permissions and
|
|
1873
|
+
limitations under the License.
|
|
Binary file
|
|
@@ -222,12 +222,23 @@ export declare class Connection {
|
|
|
222
222
|
* @param isEnabled Checksum enabled.
|
|
223
223
|
*/
|
|
224
224
|
private _changeChecksumEnabled;
|
|
225
|
+
/**
|
|
226
|
+
* Releases native resources of the connection.
|
|
227
|
+
* @param interfaceId The ID of the connection.
|
|
228
|
+
*/
|
|
229
|
+
private static _free;
|
|
225
230
|
private _disconnected;
|
|
226
231
|
/**
|
|
227
232
|
* Event invoked when connection is interrupted or closed.
|
|
228
233
|
*/
|
|
229
234
|
get disconnected(): Observable<MotionLibException>;
|
|
230
235
|
private _subscribe;
|
|
236
|
+
/**
|
|
237
|
+
* Releases the native resources of the connection.
|
|
238
|
+
* Should only be called if your environment does not support FinalizationRegistry.
|
|
239
|
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
|
|
240
|
+
*/
|
|
241
|
+
free(): void;
|
|
231
242
|
}
|
|
232
243
|
declare namespace Connection {
|
|
233
244
|
interface OpenSerialPortOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/ascii/connection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAiB,MAAM,MAAM,CAAC;AAKjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/ascii/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ const gateway_1 = require("../gateway");
|
|
|
33
33
|
const requests = __importStar(require("../requests"));
|
|
34
34
|
const device_1 = require("./device");
|
|
35
35
|
const response_1 = require("./response");
|
|
36
|
+
const finalizer_1 = require("../finalizer");
|
|
36
37
|
/**
|
|
37
38
|
* Class representing access to particular connection (serial port, TCP connection).
|
|
38
39
|
*/
|
|
@@ -66,6 +67,7 @@ class Connection {
|
|
|
66
67
|
constructor(interfaceId) {
|
|
67
68
|
this._disconnected = new rxjs_1.ReplaySubject();
|
|
68
69
|
this._interfaceId = interfaceId;
|
|
70
|
+
(0, finalizer_1.registerForFinalization)(this, Connection._free.bind(null, interfaceId));
|
|
69
71
|
this._subscribe();
|
|
70
72
|
}
|
|
71
73
|
/**
|
|
@@ -501,6 +503,20 @@ class Connection {
|
|
|
501
503
|
};
|
|
502
504
|
gateway.callSync('interface/set_checksum_enabled', request);
|
|
503
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* Releases native resources of the connection.
|
|
508
|
+
* @param interfaceId The ID of the connection.
|
|
509
|
+
*/
|
|
510
|
+
static _free(interfaceId) {
|
|
511
|
+
const request = {
|
|
512
|
+
...requests.InterfaceEmptyRequest.DEFAULT,
|
|
513
|
+
interfaceId: interfaceId,
|
|
514
|
+
toBinary() {
|
|
515
|
+
return requests.InterfaceEmptyRequest.toBinary(this);
|
|
516
|
+
},
|
|
517
|
+
};
|
|
518
|
+
gateway.callSync('interface/free', request);
|
|
519
|
+
}
|
|
504
520
|
/**
|
|
505
521
|
* Event invoked when connection is interrupted or closed.
|
|
506
522
|
*/
|
|
@@ -512,6 +528,14 @@ class Connection {
|
|
|
512
528
|
this.alert = gateway_1.events.pipe((0, operators_1.takeUntil)(this._disconnected), (0, gateway_1.filterEvent)('interface/alert'), (0, operators_1.filter)(event => event.interfaceId === this.interfaceId), (0, operators_1.map)(event => event.alert));
|
|
513
529
|
gateway_1.events.pipe((0, gateway_1.filterEvent)('interface/disconnected'), (0, operators_1.filter)(event => event.interfaceId === this.interfaceId), (0, operators_1.take)(1), (0, operators_1.map)(({ errorMessage, errorType }) => gateway.convertToException(errorType, errorMessage))).subscribe(this._disconnected);
|
|
514
530
|
}
|
|
531
|
+
/**
|
|
532
|
+
* Releases the native resources of the connection.
|
|
533
|
+
* Should only be called if your environment does not support FinalizationRegistry.
|
|
534
|
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
|
|
535
|
+
*/
|
|
536
|
+
free() {
|
|
537
|
+
Connection._free(this.interfaceId);
|
|
538
|
+
}
|
|
515
539
|
}
|
|
516
540
|
exports.Connection = Connection;
|
|
517
541
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/ascii/connection.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map, filter, takeUntil, take } from 'rxjs/operators';\nimport * as gateway from '../gateway';\nimport { events, filterEvent } from '../gateway';\nimport * as requests from '../requests';\nimport { Transport } from './transport';\nimport { Device } from './device';\nimport { Response } from './response';\nimport { UnknownResponseEvent } from './unknown_response_event';\nimport { AlertEvent } from './alert_event';\nimport { MotionLibException } from '../exceptions';\n\n/**\n * Class representing access to particular connection (serial port, TCP connection).\n */\nexport class Connection {\n /**\n * Event invoked when a response from a device cannot be matched to any known request.\n */\n public unknownResponse!: Observable<UnknownResponseEvent>;\n\n /**\n * Event invoked when an alert is received from a device.\n */\n public alert!: Observable<AlertEvent>;\n\n /**\n * Default baud rate for serial connections.\n */\n public static readonly DEFAULT_BAUD_RATE: number = 115200;\n\n /**\n * Commands sent over this port are forwarded to the device chain.\n * The bandwidth may be limited as the commands are forwarded over a serial connection.\n */\n public static readonly TCP_PORT_CHAIN: number = 55550;\n\n /**\n * Local area network share port.\n */\n public static readonly NETWORK_SHARE_PORT: number = 11421;\n\n /**\n * Commands send over this port are processed only by the device\n * and not forwarded to the rest of the chain.\n * Using this port typically makes the communication faster.\n */\n public static readonly TCP_PORT_DEVICE_ONLY: number = 55551;\n\n /**\n * The interface ID identifies this Connection instance with the underlying library.\n */\n public get interfaceId(): number {\n return this._interfaceId;\n }\n private _interfaceId: number;\n\n /**\n * The default timeout, in milliseconds, for a device to respond to a request.\n * Setting the timeout to a too low value may cause request timeout exceptions.\n * The initial value is 1000 (one second).\n */\n public get defaultRequestTimeout(): number {\n return this._retrieveTimeout();\n }\n\n public set defaultRequestTimeout(value: number) {\n this._changeTimeout(value);\n }\n\n /**\n * Controls whether outgoing messages contain checksum.\n */\n public get checksumEnabled(): boolean {\n return this._retrieveChecksumEnabled();\n }\n\n public set checksumEnabled(value: boolean) {\n this._changeChecksumEnabled(value);\n }\n\n constructor(interfaceId: number) {\n this._interfaceId = interfaceId;\n this._subscribe();\n }\n\n /**\n * Opens a serial port, if Zaber Launcher controls the port, the port will be opened through Zaber Launcher.\n * Zaber Launcher allows sharing of the port between multiple applications,\n * If port sharing is not desirable, use the `direct` parameter.\n * @param portName Name of the port to open.\n * @param [options.baudRate=Connection.DEFAULT_BAUD_RATE] Optional baud rate (defaults to 115200).\n * @param [options.direct=false] If true will connect to the serial port directly,\n * failing if the connection is already opened by a message router instance.\n * @returns An object representing the port.\n */\n public static async openSerialPort(\n portName: string,\n options: Connection.OpenSerialPortOptions = {}\n ): Promise<Connection> {\n const {\n baudRate = Connection.DEFAULT_BAUD_RATE,\n direct = false,\n } = options;\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.SERIAL_PORT,\n portName: portName,\n baudRate: baudRate,\n rejectRoutedConnection: direct,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a TCP connection.\n * @param hostName Hostname or IP address.\n * @param [port=Connection.TCP_PORT_CHAIN] Optional port number (defaults to 55550).\n * @returns An object representing the connection.\n */\n public static async openTcp(\n hostName: string,\n port: number = Connection.TCP_PORT_CHAIN\n ): Promise<Connection> {\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.TCP,\n hostName: hostName,\n port: port,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a connection using a custom transport.\n * @param transport The custom connection transport.\n * @returns An object representing the connection.\n */\n public static async openCustom(\n transport: Transport\n ): Promise<Connection> {\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.CUSTOM,\n transport: transport.transportId,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a secured connection to a cloud connected device chain.\n * Use this method to connect to devices on your account.\n * @param cloudId The cloud ID to connect to.\n * @param [options.token='unauthenticated'] The token to authenticate with. By default the connection will be unauthenticated.\n * @param options.connectionName The name of the connection to open.\n * Can be left empty to default to the only connection present.\n * Otherwise, use serial port name for serial port connection or hostname:port for TCP connection.\n * @param options.realm The realm to connect to.\n * Can be left empty for the default account realm.\n * @param [options.api='https://api.zaber.io'] The URL of the API to receive connection info from.\n * @returns An object representing the connection.\n */\n public static async openIot(\n cloudId: string,\n options: Connection.OpenIotOptions = {}\n ): Promise<Connection> {\n const {\n token = 'unauthenticated',\n connectionName,\n realm,\n api = 'https://api.zaber.io',\n } = options;\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.IOT,\n cloudId: cloudId,\n token: token,\n connectionName: connectionName,\n realm: realm,\n api: api,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a connection to Zaber Launcher in your Local Area Network.\n * The connection is not secured.\n * @param hostName Hostname or IP address.\n * @param [port=Connection.NETWORK_SHARE_PORT] Port number.\n * @param connectionName The name of the connection to open.\n * Can be left empty to default to the only connection present.\n * Otherwise, use serial port name for serial port connection or hostname:port for TCP connection.\n * @returns An object representing the connection.\n */\n public static async openNetworkShare(\n hostName: string,\n port: number = Connection.NETWORK_SHARE_PORT,\n connectionName?: string\n ): Promise<Connection> {\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.NETWORK_SHARE,\n hostName: hostName,\n port: port,\n connectionName: connectionName,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Sends a generic ASCII command to this connection.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_commands).\n * @param command Command and its parameters.\n * @param [options.device=0] Optional device address to send the command to.\n * @param [options.axis=0] Optional axis number to send the command to.\n * @param [options.checkErrors=true] Controls whether to throw an exception when the device rejects the command.\n * @param [options.timeout=0] The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n * @returns A response to the command.\n */\n public async genericCommand(\n command: string,\n options: Connection.GenericCommandOptions = {}\n ): Promise<Response> {\n const {\n device = 0,\n axis = 0,\n checkErrors = true,\n timeout = 0,\n } = options;\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: command,\n device: device,\n axis: axis,\n checkErrors: checkErrors,\n timeout: timeout,\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<Response>(\n 'interface/generic_command',\n request,\n Response.fromBinary);\n return response;\n }\n\n /**\n * Sends a generic ASCII command to this connection without expecting a response and without adding a message ID.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_commands).\n * @param command Command and its parameters.\n * @param [options.device=0] Optional device address to send the command to.\n * Specifying -1 omits the number completely.\n * @param [options.axis=0] Optional axis number to send the command to.\n * Specifying -1 omits the number completely.\n */\n public async genericCommandNoResponse(\n command: string,\n options: Connection.GenericCommandNoResponseOptions = {}\n ): Promise<void> {\n const {\n device = 0,\n axis = 0,\n } = options;\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: command,\n device: device,\n axis: axis,\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/generic_command_no_response', request);\n }\n\n /**\n * Sends a generic ASCII command to this connection and expect multiple responses,\n * either from one device or from many devices.\n * Responses are returned in order of arrival.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_commands).\n * @param command Command and its parameters.\n * @param [options.device=0] Optional device address to send the command to.\n * @param [options.axis=0] Optional axis number to send the command to.\n * @param [options.checkErrors=true] Controls whether to throw an exception when a device rejects the command.\n * @param [options.timeout=0] The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n * @returns All responses to the command.\n */\n public async genericCommandMultiResponse(\n command: string,\n options: Connection.GenericCommandMultiResponseOptions = {}\n ): Promise<Response[]> {\n const {\n device = 0,\n axis = 0,\n checkErrors = true,\n timeout = 0,\n } = options;\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: command,\n device: device,\n axis: axis,\n checkErrors: checkErrors,\n timeout: timeout,\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GenericCommandResponseCollection>(\n 'interface/generic_command_multi_response',\n request,\n requests.GenericCommandResponseCollection.fromBinary);\n return response.responses;\n }\n\n /**\n * Enables alerts for all devices on the connection.\n * This will change the \"comm.alert\" setting to 1 on all supported devices.\n */\n public async enableAlerts(): Promise<void> {\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: 'set comm.alert 1',\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/generic_command_no_response', request);\n }\n\n /**\n * Disables alerts for all devices on the connection.\n * This will change the \"comm.alert\" setting to 0 on all supported devices.\n */\n public async disableAlerts(): Promise<void> {\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: 'set comm.alert 0',\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/generic_command_no_response', request);\n }\n\n /**\n * Resets ASCII protocol message IDs. Only for testing purposes.\n */\n public resetIds(): void {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/reset_ids', request);\n }\n\n /**\n * Close the connection.\n */\n public async close(): Promise<void> {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/close', request);\n }\n\n /**\n * Gets a Device class instance which allows you to control a particular device on this connection.\n * Devices are numbered from 1.\n * @param deviceAddress Address of device intended to control. Address is configured for each device.\n * @returns Device instance.\n */\n public getDevice(\n deviceAddress: number\n ): Device {\n if (deviceAddress <= 0) {\n throw new TypeError('Invalid value; physical devices are numbered from 1.');\n }\n return new Device(this, deviceAddress);\n }\n\n /**\n * Renumbers devices present on this connection. After renumbering, devices need to be identified again.\n * @param [options.firstAddress=1] This is the address that the device closest to the computer is given.\n * Remaining devices are numbered consecutively.\n * @returns Total number of devices that responded to the renumber.\n */\n public async renumberDevices(\n options: Connection.RenumberDevicesOptions = {}\n ): Promise<number> {\n const {\n firstAddress = 1,\n } = options;\n if (firstAddress <= 0) {\n throw new TypeError('Invalid value; device addresses are numbered from 1.');\n }\n const request: requests.RenumberRequest & gateway.Message = {\n ...requests.RenumberRequest.DEFAULT,\n interfaceId: this.interfaceId,\n address: firstAddress,\n toBinary() {\n return requests.RenumberRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.IntResponse>(\n 'device/renumber_all',\n request,\n requests.IntResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Attempts to detect any devices present on this connection.\n * @param [options.identifyDevices=true] Determines whether device identification should be performed as well.\n * @returns Array of detected devices.\n */\n public async detectDevices(\n options: Connection.DetectDevicesOptions = {}\n ): Promise<Device[]> {\n const {\n identifyDevices = true,\n } = options;\n const request: requests.DeviceDetectRequest & gateway.Message = {\n ...requests.DeviceDetectRequest.DEFAULT,\n interfaceId: this.interfaceId,\n identifyDevices: identifyDevices,\n toBinary() {\n return requests.DeviceDetectRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DeviceDetectResponse>(\n 'device/detect',\n request,\n requests.DeviceDetectResponse.fromBinary);\n return response.devices.map(deviceAddress => this.getDevice(deviceAddress));\n }\n\n /**\n * Forgets all the information associated with devices on the connection.\n * Useful when devices are removed from the chain indefinitely.\n * @param [exceptDevices=[]] Addresses of devices that should not be forgotten.\n */\n public forgetDevices(\n exceptDevices: number[] = []\n ): void {\n const request: requests.ForgetDevicesRequest & gateway.Message = {\n ...requests.ForgetDevicesRequest.DEFAULT,\n interfaceId: this.interfaceId,\n exceptDevices: exceptDevices,\n toBinary() {\n return requests.ForgetDevicesRequest.toBinary(this);\n },\n };\n\n gateway.callSync('device/forget', request);\n }\n\n /**\n * Stops all of the devices on this connection.\n * @param [options.waitUntilIdle=true] Determines whether the function should return immediately\n * or wait until the devices are stopped.\n * @returns The addresses of the devices that were stopped by this command.\n */\n public async stopAll(\n options: Connection.StopAllOptions = {}\n ): Promise<number[]> {\n const {\n waitUntilIdle = true,\n } = options;\n const request: requests.DeviceOnAllRequest & gateway.Message = {\n ...requests.DeviceOnAllRequest.DEFAULT,\n interfaceId: this.interfaceId,\n waitUntilIdle: waitUntilIdle,\n toBinary() {\n return requests.DeviceOnAllRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DeviceOnAllResponse>(\n 'device/stop_all',\n request,\n requests.DeviceOnAllResponse.fromBinary);\n return response.deviceAddresses;\n }\n\n /**\n * Homes all of the devices on this connection.\n * @param [options.waitUntilIdle=true] Determines whether the function should return immediately\n * or wait until the devices are homed.\n * @returns The addresses of the devices that were homed by this command.\n */\n public async homeAll(\n options: Connection.HomeAllOptions = {}\n ): Promise<number[]> {\n const {\n waitUntilIdle = true,\n } = options;\n const request: requests.DeviceOnAllRequest & gateway.Message = {\n ...requests.DeviceOnAllRequest.DEFAULT,\n interfaceId: this.interfaceId,\n waitUntilIdle: waitUntilIdle,\n toBinary() {\n return requests.DeviceOnAllRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DeviceOnAllResponse>(\n 'device/home_all',\n request,\n requests.DeviceOnAllResponse.fromBinary);\n return response.deviceAddresses;\n }\n\n /**\n * Returns a string that represents the connection.\n * @returns A string that represents the connection.\n */\n public toString(): string {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.StringResponse>(\n 'interface/to_string',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns default request timeout.\n * @returns Default request timeout.\n */\n private _retrieveTimeout(): number {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.IntResponse>(\n 'interface/get_timeout',\n request,\n requests.IntResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets default request timeout.\n * @param timeout Default request timeout.\n */\n private _changeTimeout(\n timeout: number\n ): void {\n const request: requests.SetInterfaceTimeoutRequest & gateway.Message = {\n ...requests.SetInterfaceTimeoutRequest.DEFAULT,\n interfaceId: this.interfaceId,\n timeout: timeout,\n toBinary() {\n return requests.SetInterfaceTimeoutRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/set_timeout', request);\n }\n\n /**\n * Returns checksum enabled.\n * @returns Checksum enabled.\n */\n private _retrieveChecksumEnabled(): boolean {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.BoolResponse>(\n 'interface/get_checksum_enabled',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets checksum enabled.\n * @param isEnabled Checksum enabled.\n */\n private _changeChecksumEnabled(\n isEnabled: boolean\n ): void {\n const request: requests.SetInterfaceChecksumEnabledRequest & gateway.Message = {\n ...requests.SetInterfaceChecksumEnabledRequest.DEFAULT,\n interfaceId: this.interfaceId,\n isEnabled: isEnabled,\n toBinary() {\n return requests.SetInterfaceChecksumEnabledRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/set_checksum_enabled', request);\n }\n\n private _disconnected = new ReplaySubject<MotionLibException>();\n\n /**\n * Event invoked when connection is interrupted or closed.\n */\n public get disconnected(): Observable<MotionLibException> {\n return this._disconnected;\n }\n\n private _subscribe(): void {\n this.unknownResponse = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<requests.UnknownResponseEventWrapper>('interface/unknown_response'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => event.unknownResponse)\n );\n\n this.alert = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<requests.AlertEventWrapper>('interface/alert'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => event.alert)\n );\n\n events.pipe(\n filterEvent<requests.DisconnectedEvent>('interface/disconnected'),\n filter(event => event.interfaceId === this.interfaceId),\n take(1),\n map(({ errorMessage, errorType }) => gateway.convertToException(errorType, errorMessage))\n ).subscribe(this._disconnected);\n }\n}\n\nnamespace Connection {\n export interface OpenSerialPortOptions {\n /**\n * Optional baud rate (defaults to 115200).\n */\n baudRate?: number;\n /**\n * If true will connect to the serial port directly,\n * failing if the connection is already opened by a message router instance.\n */\n direct?: boolean;\n }\n export interface OpenIotOptions {\n /**\n * The token to authenticate with. By default the connection will be unauthenticated.\n */\n token?: string;\n /**\n * The name of the connection to open.\n * Can be left empty to default to the only connection present.\n * Otherwise, use serial port name for serial port connection or hostname:port for TCP connection.\n */\n connectionName?: string;\n /**\n * The realm to connect to.\n * Can be left empty for the default account realm.\n */\n realm?: string;\n /**\n * The URL of the API to receive connection info from.\n */\n api?: string;\n }\n export interface GenericCommandOptions {\n /**\n * Optional device address to send the command to.\n */\n device?: number;\n /**\n * Optional axis number to send the command to.\n */\n axis?: number;\n /**\n * Controls whether to throw an exception when the device rejects the command.\n */\n checkErrors?: boolean;\n /**\n * The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n */\n timeout?: number;\n }\n export interface GenericCommandNoResponseOptions {\n /**\n * Optional device address to send the command to.\n * Specifying -1 omits the number completely.\n */\n device?: number;\n /**\n * Optional axis number to send the command to.\n * Specifying -1 omits the number completely.\n */\n axis?: number;\n }\n export interface GenericCommandMultiResponseOptions {\n /**\n * Optional device address to send the command to.\n */\n device?: number;\n /**\n * Optional axis number to send the command to.\n */\n axis?: number;\n /**\n * Controls whether to throw an exception when a device rejects the command.\n */\n checkErrors?: boolean;\n /**\n * The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n */\n timeout?: number;\n }\n export interface RenumberDevicesOptions {\n /**\n * This is the address that the device closest to the computer is given.\n * Remaining devices are numbered consecutively.\n */\n firstAddress?: number;\n }\n export interface DetectDevicesOptions {\n /**\n * Determines whether device identification should be performed as well.\n */\n identifyDevices?: boolean;\n }\n export interface StopAllOptions {\n /**\n * Determines whether the function should return immediately\n * or wait until the devices are stopped.\n */\n waitUntilIdle?: boolean;\n }\n export interface HomeAllOptions {\n /**\n * Determines whether the function should return immediately\n * or wait until the devices are homed.\n */\n waitUntilIdle?: boolean;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/ascii/connection.ts"],"names":[],"mappings":"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","sourcesContent":["// ==== THIS FILE IS GENERATED FROM A TEMPLATE ==== //\n// ============= DO NOT EDIT DIRECTLY ============= //\n\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map, filter, takeUntil, take } from 'rxjs/operators';\nimport * as gateway from '../gateway';\nimport { events, filterEvent } from '../gateway';\nimport * as requests from '../requests';\nimport { Transport } from './transport';\nimport { Device } from './device';\nimport { Response } from './response';\nimport { UnknownResponseEvent } from './unknown_response_event';\nimport { AlertEvent } from './alert_event';\nimport { MotionLibException } from '../exceptions';\nimport { registerForFinalization } from '../finalizer';\n\n/**\n * Class representing access to particular connection (serial port, TCP connection).\n */\nexport class Connection {\n /**\n * Event invoked when a response from a device cannot be matched to any known request.\n */\n public unknownResponse!: Observable<UnknownResponseEvent>;\n\n /**\n * Event invoked when an alert is received from a device.\n */\n public alert!: Observable<AlertEvent>;\n\n /**\n * Default baud rate for serial connections.\n */\n public static readonly DEFAULT_BAUD_RATE: number = 115200;\n\n /**\n * Commands sent over this port are forwarded to the device chain.\n * The bandwidth may be limited as the commands are forwarded over a serial connection.\n */\n public static readonly TCP_PORT_CHAIN: number = 55550;\n\n /**\n * Local area network share port.\n */\n public static readonly NETWORK_SHARE_PORT: number = 11421;\n\n /**\n * Commands send over this port are processed only by the device\n * and not forwarded to the rest of the chain.\n * Using this port typically makes the communication faster.\n */\n public static readonly TCP_PORT_DEVICE_ONLY: number = 55551;\n\n /**\n * The interface ID identifies this Connection instance with the underlying library.\n */\n public get interfaceId(): number {\n return this._interfaceId;\n }\n private _interfaceId: number;\n\n /**\n * The default timeout, in milliseconds, for a device to respond to a request.\n * Setting the timeout to a too low value may cause request timeout exceptions.\n * The initial value is 1000 (one second).\n */\n public get defaultRequestTimeout(): number {\n return this._retrieveTimeout();\n }\n\n public set defaultRequestTimeout(value: number) {\n this._changeTimeout(value);\n }\n\n /**\n * Controls whether outgoing messages contain checksum.\n */\n public get checksumEnabled(): boolean {\n return this._retrieveChecksumEnabled();\n }\n\n public set checksumEnabled(value: boolean) {\n this._changeChecksumEnabled(value);\n }\n\n constructor(interfaceId: number) {\n this._interfaceId = interfaceId;\n registerForFinalization(this, Connection._free.bind(null, interfaceId));\n this._subscribe();\n }\n\n /**\n * Opens a serial port, if Zaber Launcher controls the port, the port will be opened through Zaber Launcher.\n * Zaber Launcher allows sharing of the port between multiple applications,\n * If port sharing is not desirable, use the `direct` parameter.\n * @param portName Name of the port to open.\n * @param [options.baudRate=Connection.DEFAULT_BAUD_RATE] Optional baud rate (defaults to 115200).\n * @param [options.direct=false] If true will connect to the serial port directly,\n * failing if the connection is already opened by a message router instance.\n * @returns An object representing the port.\n */\n public static async openSerialPort(\n portName: string,\n options: Connection.OpenSerialPortOptions = {}\n ): Promise<Connection> {\n const {\n baudRate = Connection.DEFAULT_BAUD_RATE,\n direct = false,\n } = options;\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.SERIAL_PORT,\n portName: portName,\n baudRate: baudRate,\n rejectRoutedConnection: direct,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a TCP connection.\n * @param hostName Hostname or IP address.\n * @param [port=Connection.TCP_PORT_CHAIN] Optional port number (defaults to 55550).\n * @returns An object representing the connection.\n */\n public static async openTcp(\n hostName: string,\n port: number = Connection.TCP_PORT_CHAIN\n ): Promise<Connection> {\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.TCP,\n hostName: hostName,\n port: port,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a connection using a custom transport.\n * @param transport The custom connection transport.\n * @returns An object representing the connection.\n */\n public static async openCustom(\n transport: Transport\n ): Promise<Connection> {\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.CUSTOM,\n transport: transport.transportId,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a secured connection to a cloud connected device chain.\n * Use this method to connect to devices on your account.\n * @param cloudId The cloud ID to connect to.\n * @param [options.token='unauthenticated'] The token to authenticate with. By default the connection will be unauthenticated.\n * @param options.connectionName The name of the connection to open.\n * Can be left empty to default to the only connection present.\n * Otherwise, use serial port name for serial port connection or hostname:port for TCP connection.\n * @param options.realm The realm to connect to.\n * Can be left empty for the default account realm.\n * @param [options.api='https://api.zaber.io'] The URL of the API to receive connection info from.\n * @returns An object representing the connection.\n */\n public static async openIot(\n cloudId: string,\n options: Connection.OpenIotOptions = {}\n ): Promise<Connection> {\n const {\n token = 'unauthenticated',\n connectionName,\n realm,\n api = 'https://api.zaber.io',\n } = options;\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.IOT,\n cloudId: cloudId,\n token: token,\n connectionName: connectionName,\n realm: realm,\n api: api,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Opens a connection to Zaber Launcher in your Local Area Network.\n * The connection is not secured.\n * @param hostName Hostname or IP address.\n * @param [port=Connection.NETWORK_SHARE_PORT] Port number.\n * @param connectionName The name of the connection to open.\n * Can be left empty to default to the only connection present.\n * Otherwise, use serial port name for serial port connection or hostname:port for TCP connection.\n * @returns An object representing the connection.\n */\n public static async openNetworkShare(\n hostName: string,\n port: number = Connection.NETWORK_SHARE_PORT,\n connectionName?: string\n ): Promise<Connection> {\n const request: requests.OpenInterfaceRequest & gateway.Message = {\n ...requests.OpenInterfaceRequest.DEFAULT,\n interfaceType: requests.InterfaceType.NETWORK_SHARE,\n hostName: hostName,\n port: port,\n connectionName: connectionName,\n toBinary() {\n return requests.OpenInterfaceRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.OpenInterfaceResponse>(\n 'interface/open',\n request,\n requests.OpenInterfaceResponse.fromBinary);\n return new Connection(response.interfaceId);\n }\n\n /**\n * Sends a generic ASCII command to this connection.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_commands).\n * @param command Command and its parameters.\n * @param [options.device=0] Optional device address to send the command to.\n * @param [options.axis=0] Optional axis number to send the command to.\n * @param [options.checkErrors=true] Controls whether to throw an exception when the device rejects the command.\n * @param [options.timeout=0] The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n * @returns A response to the command.\n */\n public async genericCommand(\n command: string,\n options: Connection.GenericCommandOptions = {}\n ): Promise<Response> {\n const {\n device = 0,\n axis = 0,\n checkErrors = true,\n timeout = 0,\n } = options;\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: command,\n device: device,\n axis: axis,\n checkErrors: checkErrors,\n timeout: timeout,\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<Response>(\n 'interface/generic_command',\n request,\n Response.fromBinary);\n return response;\n }\n\n /**\n * Sends a generic ASCII command to this connection without expecting a response and without adding a message ID.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_commands).\n * @param command Command and its parameters.\n * @param [options.device=0] Optional device address to send the command to.\n * Specifying -1 omits the number completely.\n * @param [options.axis=0] Optional axis number to send the command to.\n * Specifying -1 omits the number completely.\n */\n public async genericCommandNoResponse(\n command: string,\n options: Connection.GenericCommandNoResponseOptions = {}\n ): Promise<void> {\n const {\n device = 0,\n axis = 0,\n } = options;\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: command,\n device: device,\n axis: axis,\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/generic_command_no_response', request);\n }\n\n /**\n * Sends a generic ASCII command to this connection and expect multiple responses,\n * either from one device or from many devices.\n * Responses are returned in order of arrival.\n * For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_commands).\n * @param command Command and its parameters.\n * @param [options.device=0] Optional device address to send the command to.\n * @param [options.axis=0] Optional axis number to send the command to.\n * @param [options.checkErrors=true] Controls whether to throw an exception when a device rejects the command.\n * @param [options.timeout=0] The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n * @returns All responses to the command.\n */\n public async genericCommandMultiResponse(\n command: string,\n options: Connection.GenericCommandMultiResponseOptions = {}\n ): Promise<Response[]> {\n const {\n device = 0,\n axis = 0,\n checkErrors = true,\n timeout = 0,\n } = options;\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: command,\n device: device,\n axis: axis,\n checkErrors: checkErrors,\n timeout: timeout,\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.GenericCommandResponseCollection>(\n 'interface/generic_command_multi_response',\n request,\n requests.GenericCommandResponseCollection.fromBinary);\n return response.responses;\n }\n\n /**\n * Enables alerts for all devices on the connection.\n * This will change the \"comm.alert\" setting to 1 on all supported devices.\n */\n public async enableAlerts(): Promise<void> {\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: 'set comm.alert 1',\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/generic_command_no_response', request);\n }\n\n /**\n * Disables alerts for all devices on the connection.\n * This will change the \"comm.alert\" setting to 0 on all supported devices.\n */\n public async disableAlerts(): Promise<void> {\n const request: requests.GenericCommandRequest & gateway.Message = {\n ...requests.GenericCommandRequest.DEFAULT,\n interfaceId: this.interfaceId,\n command: 'set comm.alert 0',\n toBinary() {\n return requests.GenericCommandRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/generic_command_no_response', request);\n }\n\n /**\n * Resets ASCII protocol message IDs. Only for testing purposes.\n */\n public resetIds(): void {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/reset_ids', request);\n }\n\n /**\n * Close the connection.\n */\n public async close(): Promise<void> {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n await gateway.callAsync('interface/close', request);\n }\n\n /**\n * Gets a Device class instance which allows you to control a particular device on this connection.\n * Devices are numbered from 1.\n * @param deviceAddress Address of device intended to control. Address is configured for each device.\n * @returns Device instance.\n */\n public getDevice(\n deviceAddress: number\n ): Device {\n if (deviceAddress <= 0) {\n throw new TypeError('Invalid value; physical devices are numbered from 1.');\n }\n return new Device(this, deviceAddress);\n }\n\n /**\n * Renumbers devices present on this connection. After renumbering, devices need to be identified again.\n * @param [options.firstAddress=1] This is the address that the device closest to the computer is given.\n * Remaining devices are numbered consecutively.\n * @returns Total number of devices that responded to the renumber.\n */\n public async renumberDevices(\n options: Connection.RenumberDevicesOptions = {}\n ): Promise<number> {\n const {\n firstAddress = 1,\n } = options;\n if (firstAddress <= 0) {\n throw new TypeError('Invalid value; device addresses are numbered from 1.');\n }\n const request: requests.RenumberRequest & gateway.Message = {\n ...requests.RenumberRequest.DEFAULT,\n interfaceId: this.interfaceId,\n address: firstAddress,\n toBinary() {\n return requests.RenumberRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.IntResponse>(\n 'device/renumber_all',\n request,\n requests.IntResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Attempts to detect any devices present on this connection.\n * @param [options.identifyDevices=true] Determines whether device identification should be performed as well.\n * @returns Array of detected devices.\n */\n public async detectDevices(\n options: Connection.DetectDevicesOptions = {}\n ): Promise<Device[]> {\n const {\n identifyDevices = true,\n } = options;\n const request: requests.DeviceDetectRequest & gateway.Message = {\n ...requests.DeviceDetectRequest.DEFAULT,\n interfaceId: this.interfaceId,\n identifyDevices: identifyDevices,\n toBinary() {\n return requests.DeviceDetectRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DeviceDetectResponse>(\n 'device/detect',\n request,\n requests.DeviceDetectResponse.fromBinary);\n return response.devices.map(deviceAddress => this.getDevice(deviceAddress));\n }\n\n /**\n * Forgets all the information associated with devices on the connection.\n * Useful when devices are removed from the chain indefinitely.\n * @param [exceptDevices=[]] Addresses of devices that should not be forgotten.\n */\n public forgetDevices(\n exceptDevices: number[] = []\n ): void {\n const request: requests.ForgetDevicesRequest & gateway.Message = {\n ...requests.ForgetDevicesRequest.DEFAULT,\n interfaceId: this.interfaceId,\n exceptDevices: exceptDevices,\n toBinary() {\n return requests.ForgetDevicesRequest.toBinary(this);\n },\n };\n\n gateway.callSync('device/forget', request);\n }\n\n /**\n * Stops all of the devices on this connection.\n * @param [options.waitUntilIdle=true] Determines whether the function should return immediately\n * or wait until the devices are stopped.\n * @returns The addresses of the devices that were stopped by this command.\n */\n public async stopAll(\n options: Connection.StopAllOptions = {}\n ): Promise<number[]> {\n const {\n waitUntilIdle = true,\n } = options;\n const request: requests.DeviceOnAllRequest & gateway.Message = {\n ...requests.DeviceOnAllRequest.DEFAULT,\n interfaceId: this.interfaceId,\n waitUntilIdle: waitUntilIdle,\n toBinary() {\n return requests.DeviceOnAllRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DeviceOnAllResponse>(\n 'device/stop_all',\n request,\n requests.DeviceOnAllResponse.fromBinary);\n return response.deviceAddresses;\n }\n\n /**\n * Homes all of the devices on this connection.\n * @param [options.waitUntilIdle=true] Determines whether the function should return immediately\n * or wait until the devices are homed.\n * @returns The addresses of the devices that were homed by this command.\n */\n public async homeAll(\n options: Connection.HomeAllOptions = {}\n ): Promise<number[]> {\n const {\n waitUntilIdle = true,\n } = options;\n const request: requests.DeviceOnAllRequest & gateway.Message = {\n ...requests.DeviceOnAllRequest.DEFAULT,\n interfaceId: this.interfaceId,\n waitUntilIdle: waitUntilIdle,\n toBinary() {\n return requests.DeviceOnAllRequest.toBinary(this);\n },\n };\n\n const response = await gateway.callAsync<requests.DeviceOnAllResponse>(\n 'device/home_all',\n request,\n requests.DeviceOnAllResponse.fromBinary);\n return response.deviceAddresses;\n }\n\n /**\n * Returns a string that represents the connection.\n * @returns A string that represents the connection.\n */\n public toString(): string {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.StringResponse>(\n 'interface/to_string',\n request,\n requests.StringResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Returns default request timeout.\n * @returns Default request timeout.\n */\n private _retrieveTimeout(): number {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.IntResponse>(\n 'interface/get_timeout',\n request,\n requests.IntResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets default request timeout.\n * @param timeout Default request timeout.\n */\n private _changeTimeout(\n timeout: number\n ): void {\n const request: requests.SetInterfaceTimeoutRequest & gateway.Message = {\n ...requests.SetInterfaceTimeoutRequest.DEFAULT,\n interfaceId: this.interfaceId,\n timeout: timeout,\n toBinary() {\n return requests.SetInterfaceTimeoutRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/set_timeout', request);\n }\n\n /**\n * Returns checksum enabled.\n * @returns Checksum enabled.\n */\n private _retrieveChecksumEnabled(): boolean {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: this.interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n const response = gateway.callSync<requests.BoolResponse>(\n 'interface/get_checksum_enabled',\n request,\n requests.BoolResponse.fromBinary);\n return response.value;\n }\n\n /**\n * Sets checksum enabled.\n * @param isEnabled Checksum enabled.\n */\n private _changeChecksumEnabled(\n isEnabled: boolean\n ): void {\n const request: requests.SetInterfaceChecksumEnabledRequest & gateway.Message = {\n ...requests.SetInterfaceChecksumEnabledRequest.DEFAULT,\n interfaceId: this.interfaceId,\n isEnabled: isEnabled,\n toBinary() {\n return requests.SetInterfaceChecksumEnabledRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/set_checksum_enabled', request);\n }\n\n /**\n * Releases native resources of the connection.\n * @param interfaceId The ID of the connection.\n */\n private static _free(\n interfaceId: number\n ): void {\n const request: requests.InterfaceEmptyRequest & gateway.Message = {\n ...requests.InterfaceEmptyRequest.DEFAULT,\n interfaceId: interfaceId,\n toBinary() {\n return requests.InterfaceEmptyRequest.toBinary(this);\n },\n };\n\n gateway.callSync('interface/free', request);\n }\n\n private _disconnected = new ReplaySubject<MotionLibException>();\n\n /**\n * Event invoked when connection is interrupted or closed.\n */\n public get disconnected(): Observable<MotionLibException> {\n return this._disconnected;\n }\n\n private _subscribe(): void {\n this.unknownResponse = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<requests.UnknownResponseEventWrapper>('interface/unknown_response'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => event.unknownResponse)\n );\n\n this.alert = events.pipe(\n takeUntil(this._disconnected),\n filterEvent<requests.AlertEventWrapper>('interface/alert'),\n filter(event => event.interfaceId === this.interfaceId),\n map(event => event.alert)\n );\n\n events.pipe(\n filterEvent<requests.DisconnectedEvent>('interface/disconnected'),\n filter(event => event.interfaceId === this.interfaceId),\n take(1),\n map(({ errorMessage, errorType }) => gateway.convertToException(errorType, errorMessage))\n ).subscribe(this._disconnected);\n }\n\n /**\n * Releases the native resources of the connection.\n * Should only be called if your environment does not support FinalizationRegistry.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry\n */\n public free(): void {\n Connection._free(this.interfaceId);\n }\n}\n\nnamespace Connection {\n export interface OpenSerialPortOptions {\n /**\n * Optional baud rate (defaults to 115200).\n */\n baudRate?: number;\n /**\n * If true will connect to the serial port directly,\n * failing if the connection is already opened by a message router instance.\n */\n direct?: boolean;\n }\n export interface OpenIotOptions {\n /**\n * The token to authenticate with. By default the connection will be unauthenticated.\n */\n token?: string;\n /**\n * The name of the connection to open.\n * Can be left empty to default to the only connection present.\n * Otherwise, use serial port name for serial port connection or hostname:port for TCP connection.\n */\n connectionName?: string;\n /**\n * The realm to connect to.\n * Can be left empty for the default account realm.\n */\n realm?: string;\n /**\n * The URL of the API to receive connection info from.\n */\n api?: string;\n }\n export interface GenericCommandOptions {\n /**\n * Optional device address to send the command to.\n */\n device?: number;\n /**\n * Optional axis number to send the command to.\n */\n axis?: number;\n /**\n * Controls whether to throw an exception when the device rejects the command.\n */\n checkErrors?: boolean;\n /**\n * The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n */\n timeout?: number;\n }\n export interface GenericCommandNoResponseOptions {\n /**\n * Optional device address to send the command to.\n * Specifying -1 omits the number completely.\n */\n device?: number;\n /**\n * Optional axis number to send the command to.\n * Specifying -1 omits the number completely.\n */\n axis?: number;\n }\n export interface GenericCommandMultiResponseOptions {\n /**\n * Optional device address to send the command to.\n */\n device?: number;\n /**\n * Optional axis number to send the command to.\n */\n axis?: number;\n /**\n * Controls whether to throw an exception when a device rejects the command.\n */\n checkErrors?: boolean;\n /**\n * The timeout, in milliseconds, for a device to respond to the command.\n * Overrides the connection default request timeout.\n */\n timeout?: number;\n }\n export interface RenumberDevicesOptions {\n /**\n * This is the address that the device closest to the computer is given.\n * Remaining devices are numbered consecutively.\n */\n firstAddress?: number;\n }\n export interface DetectDevicesOptions {\n /**\n * Determines whether device identification should be performed as well.\n */\n identifyDevices?: boolean;\n }\n export interface StopAllOptions {\n /**\n * Determines whether the function should return immediately\n * or wait until the devices are stopped.\n */\n waitUntilIdle?: boolean;\n }\n export interface HomeAllOptions {\n /**\n * Determines whether the function should return immediately\n * or wait until the devices are homed.\n */\n waitUntilIdle?: boolean;\n }\n}\n"]}
|