Rcb4_ex01.py
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Rcb4AckTest.py]]
#code(Python){{
r_Python_V100B/sample/Rcb4_ex01.py
#coding: UTF-8
import sys
import time
sys.path.append('../Rcb4Lib') #Rcb4Libの検索パスを追加
from Rcb4BaseLib import Rcb4BaseLib #Rcb4BaseL...
import time #timeが使えるように宣言
rcb4 = Rcb4BaseLib() #rcb4をインスタンス(定義)
#ポートをオープン
#rcb4.open('/dev/ttyAMA0',115200,1.3) #(portName,bundrat...
rcb4.open('/dev/ttyUSB0',115200,1.3)
#ACKコマンドを送ってRCB4と接続できるか確認
if rcb4.checkAcknowledge() == True:
print ('checkAcknowledge OK')
print ('Version -->' ,rcb4.Version)
else:
print ('checkAcknowledge error')
print('get config ', end="")
print(f"{rcb4.getConfig():x}")
print('get pio ',end="")
print(f"{rcb4.getPio():x}")
print('get all ad data ',end="")
print(f"{rcb4.getAllAdData()}")
print('voltage ',end="")
print(rcb4.getRcb4Voltage())
#:rcb4.setHoldSingleServo(1,0x01)
rtn=rcb4.setSingleServo(1,0x01,7500,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,3000,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,7500,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,11000,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,7500,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rcb4.setFreeSingleServo(1,0x01)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rcb4.close()
}}
----
* 動作結果 [#n9a0e9fd]
- 5/2では動かなかった以下のプログラムが、Rcb4_ex03.pyが動...
(testpip) pi@rpi-202603261445:~/python/RCB4Lib_for_Pytho...
open comName=/dev/ttyUSB0 bundrate=115200 timOut=1.3
self.com=Serial<id=0xb670eb80, open=True>(port='/dev/tty...
sendData->[04,fe,06,08,]
readData-->[04,fe,06,08,]
moveRamToComCmdSynchronize( scrAddr=00, scrDataSize=02)
sendData->[0a,00,20,00,00,00,00,00,02,2c,]
readData-->[05,00,1b,80,a0,]
sendData->[04,fe,06,08,]
readData-->[04,fe,06,08,]
checkAcknowledge OK
Version --> 220
get config moveRamToComCmdSynchronize( scrAddr=00, scrDa...
sendData->[0a,00,20,00,00,00,00,00,02,2c,]
readData-->[05,00,13,80,98,]
8013
get pio moveRamToComCmdSynchronize( scrAddr=3a, scrDataS...
sendData->[0a,00,20,00,00,00,3a,00,02,66,]
readData-->[05,00,00,2c,31,]
0
get all ad data moveRamToComCmdSynchronize( scrAddr=22, ...
sendData->[0a,00,20,00,00,00,22,00,16,62,]
readData-->[19,00,31,01,02,00,01,00,02,00,01,00,01,00,24...
(True, [305, 2, 1, 2, 1, 1, 36, 36, 35, 35, 35])
voltage moveRamToComCmdSynchronize( scrAddr=22, scrDataS...
sendData->[0a,00,20,00,00,00,22,00,02,4e,]
readData-->[05,00,33,01,39,]
7.34521484375
setSingleServo( id=01, sio=01, pos=1d4c 7500, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=1d4c 7500, f...
synchronizedAck( txData=[07,0f,02,1e,4c,1d,9f,]
)
sendData->[07,0f,02,1e,4c,1d,9f,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,50,1d,72,]
True pos=7504
setSingleServo( id=01, sio=01, pos=0bb8 3000, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=0bb8 3000, f...
synchronizedAck( txData=[07,0f,02,1e,b8,0b,f9,]
)
sendData->[07,0f,02,1e,b8,0b,f9,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,24,1b,44,]
True pos=6948
setSingleServo( id=01, sio=01, pos=1d4c 7500, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=1d4c 7500, f...
synchronizedAck( txData=[07,0f,02,1e,4c,1d,9f,]
)
sendData->[07,0f,02,1e,4c,1d,9f,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,db,18,f8,]
True pos=6363
setSingleServo( id=01, sio=01, pos=2af8 11000, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=2af8 11000, ...
synchronizedAck( txData=[07,0f,02,1e,f8,2a,58,]
)
sendData->[07,0f,02,1e,f8,2a,58,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,ab,1b,cb,]
True pos=7083
setSingleServo( id=01, sio=01, pos=1d4c 7500, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=1d4c 7500, f...
synchronizedAck( txData=[07,0f,02,1e,4c,1d,9f,]
)
sendData->[07,0f,02,1e,4c,1d,9f,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,eb,1d,0d,]
True pos=7659
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,eb,1d,0d,]
True pos=7659
setFreeSingleServo( id=01, sio=01)
setSingleServo( id=01, sio=01, pos=8000 32768, fram=0001)
runSingleServoCmd( idNum=01, sioNum=01, pos=8000 32768, ...
synchronizedAck( txData=[07,0f,02,01,00,80,99,]
)
sendData->[07,0f,02,01,00,80,99,]
readData-->[04,0f,06,19,]
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,eb,1d,0d,]
True pos=7659
----
#counter
終了行:
[[Rcb4AckTest.py]]
#code(Python){{
r_Python_V100B/sample/Rcb4_ex01.py
#coding: UTF-8
import sys
import time
sys.path.append('../Rcb4Lib') #Rcb4Libの検索パスを追加
from Rcb4BaseLib import Rcb4BaseLib #Rcb4BaseL...
import time #timeが使えるように宣言
rcb4 = Rcb4BaseLib() #rcb4をインスタンス(定義)
#ポートをオープン
#rcb4.open('/dev/ttyAMA0',115200,1.3) #(portName,bundrat...
rcb4.open('/dev/ttyUSB0',115200,1.3)
#ACKコマンドを送ってRCB4と接続できるか確認
if rcb4.checkAcknowledge() == True:
print ('checkAcknowledge OK')
print ('Version -->' ,rcb4.Version)
else:
print ('checkAcknowledge error')
print('get config ', end="")
print(f"{rcb4.getConfig():x}")
print('get pio ',end="")
print(f"{rcb4.getPio():x}")
print('get all ad data ',end="")
print(f"{rcb4.getAllAdData()}")
print('voltage ',end="")
print(rcb4.getRcb4Voltage())
#:rcb4.setHoldSingleServo(1,0x01)
rtn=rcb4.setSingleServo(1,0x01,7500,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,3000,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,7500,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,11000,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rtn=rcb4.setSingleServo(1,0x01,7500,30)
print('setSingleServo return:', end="")
print(rtn)
time.sleep(0.1)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rcb4.setFreeSingleServo(1,0x01)
sio=0x01
(tf, pos)=rcb4.getSinglePos(1,sio)
print(tf,end="")
print(' pos=',end="")
print(pos)
rcb4.close()
}}
----
* 動作結果 [#n9a0e9fd]
- 5/2では動かなかった以下のプログラムが、Rcb4_ex03.pyが動...
(testpip) pi@rpi-202603261445:~/python/RCB4Lib_for_Pytho...
open comName=/dev/ttyUSB0 bundrate=115200 timOut=1.3
self.com=Serial<id=0xb670eb80, open=True>(port='/dev/tty...
sendData->[04,fe,06,08,]
readData-->[04,fe,06,08,]
moveRamToComCmdSynchronize( scrAddr=00, scrDataSize=02)
sendData->[0a,00,20,00,00,00,00,00,02,2c,]
readData-->[05,00,1b,80,a0,]
sendData->[04,fe,06,08,]
readData-->[04,fe,06,08,]
checkAcknowledge OK
Version --> 220
get config moveRamToComCmdSynchronize( scrAddr=00, scrDa...
sendData->[0a,00,20,00,00,00,00,00,02,2c,]
readData-->[05,00,13,80,98,]
8013
get pio moveRamToComCmdSynchronize( scrAddr=3a, scrDataS...
sendData->[0a,00,20,00,00,00,3a,00,02,66,]
readData-->[05,00,00,2c,31,]
0
get all ad data moveRamToComCmdSynchronize( scrAddr=22, ...
sendData->[0a,00,20,00,00,00,22,00,16,62,]
readData-->[19,00,31,01,02,00,01,00,02,00,01,00,01,00,24...
(True, [305, 2, 1, 2, 1, 1, 36, 36, 35, 35, 35])
voltage moveRamToComCmdSynchronize( scrAddr=22, scrDataS...
sendData->[0a,00,20,00,00,00,22,00,02,4e,]
readData-->[05,00,33,01,39,]
7.34521484375
setSingleServo( id=01, sio=01, pos=1d4c 7500, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=1d4c 7500, f...
synchronizedAck( txData=[07,0f,02,1e,4c,1d,9f,]
)
sendData->[07,0f,02,1e,4c,1d,9f,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,50,1d,72,]
True pos=7504
setSingleServo( id=01, sio=01, pos=0bb8 3000, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=0bb8 3000, f...
synchronizedAck( txData=[07,0f,02,1e,b8,0b,f9,]
)
sendData->[07,0f,02,1e,b8,0b,f9,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,24,1b,44,]
True pos=6948
setSingleServo( id=01, sio=01, pos=1d4c 7500, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=1d4c 7500, f...
synchronizedAck( txData=[07,0f,02,1e,4c,1d,9f,]
)
sendData->[07,0f,02,1e,4c,1d,9f,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,db,18,f8,]
True pos=6363
setSingleServo( id=01, sio=01, pos=2af8 11000, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=2af8 11000, ...
synchronizedAck( txData=[07,0f,02,1e,f8,2a,58,]
)
sendData->[07,0f,02,1e,f8,2a,58,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,ab,1b,cb,]
True pos=7083
setSingleServo( id=01, sio=01, pos=1d4c 7500, fram=001e)
runSingleServoCmd( idNum=01, sioNum=01, pos=1d4c 7500, f...
synchronizedAck( txData=[07,0f,02,1e,4c,1d,9f,]
)
sendData->[07,0f,02,1e,4c,1d,9f,]
readData-->[04,0f,06,19,]
setSingleServo return:True
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,eb,1d,0d,]
True pos=7659
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,eb,1d,0d,]
True pos=7659
setFreeSingleServo( id=01, sio=01)
setSingleServo( id=01, sio=01, pos=8000 32768, fram=0001)
runSingleServoCmd( idNum=01, sioNum=01, pos=8000 32768, ...
synchronizedAck( txData=[07,0f,02,01,00,80,99,]
)
sendData->[07,0f,02,01,00,80,99,]
readData-->[04,0f,06,19,]
getSinglePos( id=01, sio=01)
moveDevicetoComCmdSynchronize( icsNum=02, offset=04, dat...
moveDevicetoComCmd( icsNum=02, offset=04, dataSize=02)
sendData->[0a,00,21,00,00,00,04,02,02,33,]
readData-->[05,00,eb,1d,0d,]
True pos=7659
----
#counter
ページ名: