-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdynamixel_functions.py
More file actions
171 lines (123 loc) · 5.01 KB
/
dynamixel_functions.py
File metadata and controls
171 lines (123 loc) · 5.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#!/usr/bin/env python
# -*- coding: utf-8 -*-
################################################################################
# Copyright 2017 ROBOTIS CO., LTD.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
################################################################################
# Author: Ryu Woon Jung (Leon)
import ctypes
from ctypes import cdll
import os
path = os.getcwd() + "/libdxl_x64_c.so"
# path = os.path.dirname(os.getcwd()) + "/catkin_ws/src/dash_ros/inc/libdxl_sbc_c.so"
dxl_lib = cdll.LoadLibrary(path) # for linux 64bit
# port_handler
portHandler = dxl_lib.portHandler
openPort = dxl_lib.openPort
closePort = dxl_lib.closePort
clearPort = dxl_lib.clearPort
setPortName = dxl_lib.setPortName
getPortName = dxl_lib.getPortName
setBaudRate = dxl_lib.setBaudRate
getBaudRate = dxl_lib.getBaudRate
readPort = dxl_lib.readPort
writePort = dxl_lib.writePort
setPacketTimeout = dxl_lib.setPacketTimeout
setPacketTimeoutMSec = dxl_lib.setPacketTimeoutMSec
isPacketTimeout = dxl_lib.isPacketTimeout
# packet_handler
packetHandler = dxl_lib.packetHandler
printTxRxResult = dxl_lib.printTxRxResult
getTxRxResult = dxl_lib.getTxRxResult
getTxRxResult.restype = ctypes.c_char_p
printRxPacketError = dxl_lib.printRxPacketError
getRxPacketError = dxl_lib.getRxPacketError
getRxPacketError.restype = ctypes.c_char_p
getLastTxRxResult = dxl_lib.getLastTxRxResult
getLastRxPacketError = dxl_lib.getLastRxPacketError
setDataWrite = dxl_lib.setDataWrite
getDataRead = dxl_lib.getDataRead
txPacket = dxl_lib.txPacket
rxPacket = dxl_lib.rxPacket
txRxPacket = dxl_lib.txRxPacket
ping = dxl_lib.ping
pingGetModelNum = dxl_lib.pingGetModelNum
broadcastPing = dxl_lib.broadcastPing
getBroadcastPingResult = dxl_lib.getBroadcastPingResult
reboot = dxl_lib.reboot
factoryReset = dxl_lib.factoryReset
readTx = dxl_lib.readTx
readRx = dxl_lib.readRx
readTxRx = dxl_lib.readTxRx
read1ByteTx = dxl_lib.read1ByteTx
read1ByteRx = dxl_lib.read1ByteRx
read1ByteTxRx = dxl_lib.read1ByteTxRx
read2ByteTx = dxl_lib.read2ByteTx
read2ByteRx = dxl_lib.read2ByteRx
read2ByteTxRx = dxl_lib.read2ByteTxRx
read4ByteTx = dxl_lib.read4ByteTx
read4ByteRx = dxl_lib.read4ByteRx
read4ByteTxRx = dxl_lib.read4ByteTxRx
writeTxOnly = dxl_lib.writeTxOnly
writeTxRx = dxl_lib.writeTxRx
write1ByteTxOnly = dxl_lib.write1ByteTxOnly
write1ByteTxRx = dxl_lib.write1ByteTxRx
write2ByteTxOnly = dxl_lib.write2ByteTxOnly
write2ByteTxRx = dxl_lib.write2ByteTxRx
write4ByteTxOnly = dxl_lib.write4ByteTxOnly
write4ByteTxRx = dxl_lib.write4ByteTxRx
regWriteTxOnly = dxl_lib.regWriteTxOnly
regWriteTxRx = dxl_lib.regWriteTxRx
syncReadTx = dxl_lib.syncReadTx
# syncReadRx -> GroupSyncRead
# syncReadTxRx -> GroupSyncRead
syncWriteTxOnly = dxl_lib.syncWriteTxOnly
bulkReadTx = dxl_lib.bulkReadTx
# bulkReadRx -> GroupBulkRead
# bulkReadTxRx -> GroupBulkRead
bulkWriteTxOnly = dxl_lib.bulkWriteTxOnly
# group_bulk_read
groupBulkRead = dxl_lib.groupBulkRead
groupBulkReadAddParam = dxl_lib.groupBulkReadAddParam
groupBulkReadRemoveParam = dxl_lib.groupBulkReadRemoveParam
groupBulkReadClearParam = dxl_lib.groupBulkReadClearParam
groupBulkReadTxPacket = dxl_lib.groupBulkReadTxPacket
groupBulkReadRxPacket = dxl_lib.groupBulkReadRxPacket
groupBulkReadTxRxPacket = dxl_lib.groupBulkReadTxRxPacket
groupBulkReadIsAvailable = dxl_lib.groupBulkReadIsAvailable
groupBulkReadGetData = dxl_lib.groupBulkReadGetData
#group_bulk_write
groupBulkWrite = dxl_lib.groupBulkWrite
groupBulkWriteAddParam = dxl_lib.groupBulkWriteAddParam
groupBulkWriteRemoveParam = dxl_lib.groupBulkWriteRemoveParam
groupBulkWriteChangeParam = dxl_lib.groupBulkWriteChangeParam
groupBulkWriteClearParam = dxl_lib.groupBulkWriteClearParam
groupBulkWriteTxPacket = dxl_lib.groupBulkWriteTxPacket
#group_sync_read
groupSyncRead = dxl_lib.groupSyncRead
groupSyncReadAddParam = dxl_lib.groupSyncReadAddParam
groupSyncReadRemoveParam = dxl_lib.groupSyncReadRemoveParam
groupSyncReadClearParam = dxl_lib.groupSyncReadClearParam
groupSyncReadTxPacket = dxl_lib.groupSyncReadTxPacket
groupSyncReadRxPacket = dxl_lib.groupSyncReadRxPacket
groupSyncReadTxRxPacket = dxl_lib.groupSyncReadTxRxPacket
groupSyncReadIsAvailable = dxl_lib.groupSyncReadIsAvailable
groupSyncReadGetData = dxl_lib.groupSyncReadGetData
#group_sync_write
groupSyncWrite = dxl_lib.groupSyncWrite
groupSyncWriteAddParam = dxl_lib.groupSyncWriteAddParam
groupSyncWriteRemoveParam = dxl_lib.groupSyncWriteRemoveParam
groupSyncWriteChangeParam = dxl_lib.groupSyncWriteChangeParam
groupSyncWriteClearParam = dxl_lib.groupSyncWriteClearParam
groupSyncWriteTxPacket = dxl_lib.groupSyncWriteTxPacket